Skip to content

Commit fc7830b

Browse files
committed
Merge pull request jquery#94 from jquery/87
Create config (order.yml) to provide category and article sort order per jquery#87
2 parents fd4eeb1 + f65c094 commit fc7830b

File tree

74 files changed

+126
-163
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+126
-163
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
output/
22
tmp/*
33
tmp
4+
order.json
45
.DS_Store

Rules

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -83,25 +83,18 @@ end
8383
Nanoc3::Filter.register 'CodeBlocks', :code_blocks
8484

8585
preprocess do
86-
@chapterOrder = [
87-
"getting-started",
88-
"javascript-101",
89-
"using-jquery-core",
90-
"events",
91-
"effects",
92-
"ajax",
93-
"plugins",
94-
"performance",
95-
"code-organization",
96-
"how-to"
97-
]
98-
86+
@order = YAML.load(File.read("order.yaml"))
87+
@chapter_articles = {}
88+
@chapter_order = @order.map{ |chapter|
89+
@chapter_articles[ chapter.keys.first ] = chapter[ chapter.keys.first ]
90+
chapter.keys.first
91+
}
9992
@chapters = {}
100-
10193
@github_users = {
10294
"jquery" => nil
10395
}
10496

97+
File.open("order.json", "w") {|f| f.write @order.to_json }
10598
@items.each do |item|
10699
item[:chapter] = item[:filename].split('/')[1]
107100
item[:chapter_title] = item[:chapter].gsub(/-/, " ").upcase
@@ -118,25 +111,25 @@ preprocess do
118111
@github_users[ username ] = JSON.parse(request.body_str)
119112
end
120113

114+
@grouped_items = @items.group_by {|item| item[:chapter]}
121115

122-
@groupedItems = @items.group_by {|item| item[:chapter]}
123-
124-
@orderedItems = []
116+
@ordered_items = []
125117

126-
@chapterOrder.each do |folder|
127-
myitems = @groupedItems[ folder ]
118+
@chapter_order.each do |folder|
128119
@chapters [ folder] = {}
129-
@chapters[ folder ][ :items ] = @groupedItems[folder].sort_by {|i| i[:section] || 0 }
130-
@orderedItems = @orderedItems + @chapters[ folder ][ :items ]
120+
@chapters[ folder ][ :items ] = @grouped_items[folder].sort_by {|i|
121+
p @chapter_articles[ i[ :chapter ] ].index( p i.identifier.split('/')[2] ) || 0
122+
@chapter_articles[ i[ :chapter ] ].index( p i.identifier.split('/')[2] ) || 0
123+
}
124+
@ordered_items = @ordered_items + @chapters[ folder ][ :items ]
131125
@chapters[ folder ][ :title ] = folder.gsub(/-/, " ").upcase
132126
@chapters[ folder ][ :folder ] = folder
133127
end
134-
135128
@items.each do |item|
136-
i = item[:ordinal_index] = @orderedItems.index(item)
129+
i = item[:ordinal_index] = @ordered_items.index(item)
137130
if i
138-
item[:next_item] = @orderedItems[ i+1 ]
139-
item[:previous_item] = @orderedItems[ i-1 ]
131+
item[:next_item] = @ordered_items[ i+1 ]
132+
item[:previous_item] = @ordered_items[ i-1 ]
140133
end
141134
item[:github_user] = @github_users[ item[:github] ]
142135
end

content/getting-started/dex.md renamed to content/about-jquery/dex.md

Lines changed: 1 addition & 2 deletions

content/ajax/ajax-and-forms.md

Lines changed: 1 addition & 4 deletions

content/ajax/ajax-events.md

Lines changed: 0 additions & 2 deletions

content/ajax/ajax-excercises.md

Lines changed: 0 additions & 2 deletions

content/ajax/jquery-ajax-methods.md

Lines changed: 0 additions & 2 deletions

content/ajax/key-concepts.md

Lines changed: 0 additions & 2 deletions

content/ajax/working-with-jsonp.md

Lines changed: 0 additions & 2 deletions

content/code-organization/beware-anonymous-functions.md

Lines changed: 0 additions & 2 deletions

content/code-organization/concepts.md

Lines changed: 0 additions & 2 deletions

content/code-organization/dont-repeat-yourself.md

Lines changed: 0 additions & 2 deletions

content/effects/built-in-effects.md

Lines changed: 0 additions & 2 deletions

content/effects/custom-effects.md

Lines changed: 0 additions & 2 deletions

content/effects/effects-exercises.md

Lines changed: 0 additions & 2 deletions

content/effects/managing-effects.md

Lines changed: 0 additions & 2 deletions

content/events/dex.md

Lines changed: 0 additions & 1 deletion

content/events/event-delegation.md

Lines changed: 0 additions & 2 deletions

content/events/event-exercises.md

Lines changed: 0 additions & 2 deletions

content/events/event-extensions.md

Lines changed: 0 additions & 2 deletions

content/events/event-helpers.md

Lines changed: 0 additions & 2 deletions

content/events/events-to-elements.md

Lines changed: 0 additions & 2 deletions

content/events/inside-event-handling-function.md

Lines changed: 0 additions & 2 deletions

content/events/introduction-to-custom-events.md

Lines changed: 0 additions & 2 deletions

content/events/triggering-event-handlers.md

Lines changed: 0 additions & 2 deletions

content/faq/dex.md

Lines changed: 3 additions & 0 deletions

content/how-to/dex.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

content/javascript-101/arrays.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/closures.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/conditional-code.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/dex.md

Lines changed: 1 addition & 3 deletions

content/javascript-101/functions.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/loops.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/objects.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/operators.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/reserved-words.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/running-code.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/scope.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/syntax-basics.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/testing-type.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/this-keyword.md

Lines changed: 0 additions & 2 deletions

content/javascript-101/types.md

Lines changed: 0 additions & 2 deletions

content/performance/append-outside-loop.md

Lines changed: 0 additions & 2 deletions

content/performance/cache-loop-length.md

Lines changed: 0 additions & 2 deletions

content/performance/clever-conditionals.md

Lines changed: 0 additions & 2 deletions

content/performance/detach-elements-before-work-with-them.md

Lines changed: 0 additions & 2 deletions

0 commit comments

Comments
 (0)