nanoc-toolbox 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +6 -3
- data/lib/nanoc/toolbox/helpers/navigation.rb +11 -6
- data/lib/nanoc/toolbox/version.rb +1 -1
- metadata +3 -3
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,13 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
3
|
## developement
|
4
|
-
* NEW: add_section Filter
|
5
|
-
* CHANGED: bugfix on navigation helper
|
6
4
|
|
5
|
+
## Release 0.0.5
|
6
|
+
* CHANGED: add the ability to filter by an attributes of an item on navigation_for
|
7
|
+
|
8
|
+
## Release 0.0.4
|
9
|
+
* NEW: add_section Filter
|
10
|
+
* CHANGED: bugfix on navigation helper
|
7
11
|
|
8
12
|
## Release 0.0.3
|
9
13
|
|
@@ -21,5 +25,4 @@
|
|
21
25
|
* NEW: Add Yardoc
|
22
26
|
|
23
27
|
## Release 0.0.1
|
24
|
-
|
25
28
|
* First Release
|
@@ -19,6 +19,7 @@ module Nanoc::Toolbox::Helpers
|
|
19
19
|
# @param [String] identifier - the identifier string of the root element
|
20
20
|
# @param [Hash] options - The Optional parameters
|
21
21
|
# @option options (see #render_menu)
|
22
|
+
# @option options [String] :kind ('article') The kind of items to display in the menu
|
22
23
|
#
|
23
24
|
# @return [String] The output ready to be displayed by the caller
|
24
25
|
def navigation_for(identifier, options={})
|
@@ -29,7 +30,7 @@ module Nanoc::Toolbox::Helpers
|
|
29
30
|
return nil unless root.children
|
30
31
|
|
31
32
|
# Find all sections, and render them
|
32
|
-
sections = find_item_tree(root)
|
33
|
+
sections = find_item_tree(root, options)
|
33
34
|
render_menu(sections, options)
|
34
35
|
end
|
35
36
|
|
@@ -40,7 +41,8 @@ module Nanoc::Toolbox::Helpers
|
|
40
41
|
# @param [String] item_rep - the representation of desired item
|
41
42
|
# @param [Hash] options - The Optional parameters
|
42
43
|
# @option options (see #render_menu)
|
43
|
-
#
|
44
|
+
# @option options [String] :path ('div[@class="section"]') Generic XPath for the sections
|
45
|
+
#
|
44
46
|
# @return [String] The output ready to be displayed by the caller
|
45
47
|
#
|
46
48
|
# @see http://nokogiri.org/
|
@@ -140,7 +142,7 @@ module Nanoc::Toolbox::Helpers
|
|
140
142
|
options[:depth] += 1 # Increase the depth level after the call of navigation_for
|
141
143
|
end
|
142
144
|
output ||= ""
|
143
|
-
content_tag(options[:item_tag],
|
145
|
+
content_tag(options[:item_tag], link_to_unless_current(item[:title], item[:link]) + output)
|
144
146
|
|
145
147
|
end.join()
|
146
148
|
|
@@ -175,11 +177,14 @@ module Nanoc::Toolbox::Helpers
|
|
175
177
|
# Recursive method that extract from an XPath pattern the document structure
|
176
178
|
# and return the "permalinks" in a Array of Hash that could be used by the
|
177
179
|
# rendering method
|
178
|
-
def find_item_tree(root)
|
180
|
+
def find_item_tree(root, options={})
|
179
181
|
return nil unless root.children
|
180
|
-
|
182
|
+
|
183
|
+
# filter the elements to contain only the kind requested
|
184
|
+
children = options[:kind] ? root.children.select { |item| item[:kind] == options[:kind] } : root.children
|
185
|
+
|
181
186
|
# For each child call the find_item_tree on it and then generate the hash
|
182
|
-
sections =
|
187
|
+
sections = children.map do |child|
|
183
188
|
subsections = find_item_tree(child)
|
184
189
|
|
185
190
|
{ :title => (child[:title] || child.identifier),
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 5
|
9
|
+
version: 0.0.5
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Anouar ADLANI
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-01-
|
17
|
+
date: 2011-01-24 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|