middleman-navigation 1.0.3 → 1.0.4

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6e8146944ab4c5853ae3fe4d0106502989ff09d2
4
+ data.tar.gz: 5ffdcb52c074ff2a1c93f52349d58ff7959a26fc
5
+ SHA512:
6
+ metadata.gz: 4c0d9007d78cac92bd08561dd6198f09a59f8d57b1224c36ca696591180f311348bce048879cd7a9f18f9e0fe975f9ab7add5011df275a33e0b957a5553e401b
7
+ data.tar.gz: db154566d081220a51c738f7651734dec72ee1efc854703dc42810ab8c5c9aa98e18fb916200f38a91d27255199b7591a33de47c8838e66728b57f2fa4681ae8
@@ -12,3 +12,9 @@ Feature: Simple flat navigation
12
12
  Then I should see "Subpage."
13
13
  Then the Another menu item should be selected
14
14
  Then the Subpage menu item should not be selected
15
+
16
+ Scenario: Child menu should render
17
+ Given the Server is running at "basic-app"
18
+ When I go to "/another/child.html"
19
+ Then I should see "Child."
20
+ Then the Child menu item should be selected
@@ -0,0 +1,5 @@
1
+ Feature: No navigation
2
+ Scenario: Navigation should not error if none is defined
3
+ Given the Server is running at "empty-app"
4
+ When I go to "/index.html"
5
+ Then I should see "Home."
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: Child
3
+ ---
4
+
5
+ Child.
6
+
7
+ <%= render_navigation :expand_all => true %>
@@ -0,0 +1 @@
1
+ activate :navigation
@@ -0,0 +1,8 @@
1
+ ---
2
+ navigation:
3
+ hidden: true
4
+ ---
5
+
6
+ Home.
7
+
8
+ <%= render_navigation %>
@@ -7,7 +7,9 @@ module Middleman
7
7
 
8
8
  unless @root.blank?
9
9
  SimpleNavigation::Configuration.run do |navigation|
10
- traverse(@root, navigation)
10
+ navigation.items do |level|
11
+ traverse(@root, level)
12
+ end
11
13
  end
12
14
  end
13
15
  end
@@ -18,19 +20,13 @@ module Middleman
18
20
  end
19
21
 
20
22
  def self.traverse(resource, navigation)
21
- children = visible_children(resource)
22
-
23
- navigation.items do |level|
24
- if resource == @root
25
- options = with_defaults @root.data.navigation
26
- add_navigation_node @root, level unless options[:hidden]
27
- end
23
+ if resource == @root
24
+ add_navigation_node resource, navigation
25
+ end
28
26
 
29
- unless children.blank?
30
- children.each do |child|
31
- add_navigation_node child, level
32
- traverse child, level
33
- end
27
+ visible_children(resource).each do |child|
28
+ add_navigation_node child, navigation do |subnav|
29
+ traverse child, subnav
34
30
  end
35
31
  end
36
32
  end
@@ -46,8 +42,11 @@ module Middleman
46
42
  options = with_defaults(node.data.navigation)
47
43
  title = options[:title] || node.data.title
48
44
  url = options[:destination] || node.url
49
-
50
- level.item node.destination_path, title, url, :highlights_on => %r(^#{url}(#{@app.index_file})?$)
45
+ unless options[:hidden]
46
+ level.item node.destination_path, title, url, :highlights_on => %r(^#{url}(#{@app.index_file})?$) do |subnav|
47
+ yield(subnav) if block_given?
48
+ end
49
+ end
51
50
  end
52
51
  end
53
52
  end
@@ -1,5 +1,5 @@
1
1
  module Middleman
2
2
  module Navigation
3
- VERSION = "1.0.3"
3
+ VERSION = "1.0.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-navigation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
5
- prerelease:
4
+ version: 1.0.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Giovanni Cangiani
@@ -15,7 +14,6 @@ dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: middleman-core
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
18
  - - ~>
21
19
  - !ruby/object:Gem::Version
@@ -23,7 +21,6 @@ dependencies:
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
25
  - - ~>
29
26
  - !ruby/object:Gem::Version
@@ -31,23 +28,20 @@ dependencies:
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: simple-navigation
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ! '>'
32
+ - - '>'
37
33
  - !ruby/object:Gem::Version
38
34
  version: 3.0.0
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ! '>'
39
+ - - '>'
45
40
  - !ruby/object:Gem::Version
46
41
  version: 3.0.0
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: activesupport
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
46
  - - ~>
53
47
  - !ruby/object:Gem::Version
@@ -55,7 +49,6 @@ dependencies:
55
49
  type: :development
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
53
  - - ~>
61
54
  - !ruby/object:Gem::Version
@@ -63,49 +56,43 @@ dependencies:
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: nokogiri
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ! '>='
60
+ - - '>='
69
61
  - !ruby/object:Gem::Version
70
62
  version: '0'
71
63
  type: :development
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ! '>='
67
+ - - '>='
77
68
  - !ruby/object:Gem::Version
78
69
  version: '0'
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: bundler
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
- - - ! '>='
74
+ - - '>='
85
75
  - !ruby/object:Gem::Version
86
76
  version: '0'
87
77
  type: :development
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
- - - ! '>='
81
+ - - '>='
93
82
  - !ruby/object:Gem::Version
94
83
  version: '0'
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: gem-release
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
- - - ! '>='
88
+ - - '>='
101
89
  - !ruby/object:Gem::Version
102
90
  version: '0'
103
91
  type: :development
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
- - - ! '>='
95
+ - - '>='
109
96
  - !ruby/object:Gem::Version
110
97
  version: '0'
111
98
  description: Add simple navigation helpers for your Middleman project
@@ -122,12 +109,16 @@ files:
122
109
  - README.markdown
123
110
  - Rakefile
124
111
  - features/basic.feature
112
+ - features/empty.feature
125
113
  - features/step_definitions/nav_steps.rb
126
114
  - features/support/env.rb
127
115
  - fixtures/basic-app/config.rb
128
116
  - fixtures/basic-app/source/another.erb
117
+ - fixtures/basic-app/source/another/child.erb
129
118
  - fixtures/basic-app/source/index.erb
130
119
  - fixtures/basic-app/source/subpage.erb
120
+ - fixtures/empty-app/config.rb
121
+ - fixtures/empty-app/source/index.erb
131
122
  - lib/middleman-navigation.rb
132
123
  - lib/middleman-navigation/resource_list_manipulator.rb
133
124
  - lib/middleman-navigation/tree.rb
@@ -139,27 +130,30 @@ files:
139
130
  - middleman-navigation.gemspec
140
131
  homepage: https://github.com/multiscan/middleman-navigation
141
132
  licenses: []
133
+ metadata: {}
142
134
  post_install_message:
143
135
  rdoc_options: []
144
136
  require_paths:
145
137
  - lib
146
138
  required_ruby_version: !ruby/object:Gem::Requirement
147
- none: false
148
139
  requirements:
149
- - - ! '>='
140
+ - - '>='
150
141
  - !ruby/object:Gem::Version
151
142
  version: '0'
152
143
  required_rubygems_version: !ruby/object:Gem::Requirement
153
- none: false
154
144
  requirements:
155
- - - ! '>='
145
+ - - '>='
156
146
  - !ruby/object:Gem::Version
157
147
  version: '0'
158
148
  requirements: []
159
149
  rubyforge_project: middleman-navigation
160
- rubygems_version: 1.8.24
150
+ rubygems_version: 2.0.3
161
151
  signing_key:
162
- specification_version: 3
152
+ specification_version: 4
163
153
  summary: Add simple navigation helpers for your Middleman project
164
- test_files: []
154
+ test_files:
155
+ - features/basic.feature
156
+ - features/empty.feature
157
+ - features/step_definitions/nav_steps.rb
158
+ - features/support/env.rb
165
159
  has_rdoc: