middleman-navigation 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
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: