middleman-pagegroups 1.0.5 → 1.0.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -72,7 +72,7 @@ Feature: Provide helpers and resource items to make multiple targets easy to man
72
72
  And the file "index.html" should contain 'current_resource.brethren_next:nil'
73
73
  And the file "index.html" should contain 'current_resource.brethren_previous:nil'
74
74
  And the file "index.html" should contain 'current_resource.group_count:1'
75
- And the file "index.html" should contain 'current_resource.legitimate_children:[#<Middleman::Sitemap::Resource path=sub_folder_01/index.html>, #<Middleman::Sitemap::Resource path=20_sub_folder_02/index.html>]'
75
+ And the file "index.html" should contain 'current_resource.legitimate_children:[#<Middleman::Sitemap::Resource path=sub_folder_01/index.html>, #<Middleman::Sitemap::Resource path=20_sub_folder_02/index.html>, #<Middleman::Sitemap::Resource path=30_nested_top/index.html>]'
76
76
  And the file "index.html" should contain 'current_resource.navigator_eligible:nil'
77
77
  And the file "index.html" should contain 'current_resource.page_group:source'
78
78
  And the file "index.html" should contain 'current_resource.page_name:index'
@@ -4,17 +4,3 @@ ENV['TEST'] = 'true'
4
4
  require 'middleman'
5
5
  require 'middleman-core/step_definitions'
6
6
  require File.join(PROJECT_ROOT_PATH, 'lib', 'middleman-pagegroups')
7
-
8
-
9
- require 'cucumber/formatter/pretty'
10
- class QuietFormatter < Cucumber::Formatter::Pretty
11
- def initialize(runtime, io, options)
12
- $stderr = File.new( '/dev/null', 'w' )
13
- super(runtime, io, options)
14
- end
15
-
16
- def after_features(features)
17
- $stderr = STDOUT
18
- super(features)
19
- end
20
- end
@@ -29,7 +29,7 @@ class MiddlemanPageGroups < ::Middleman::Extension
29
29
  option :nav_toc_index_class, nil, 'Default css class for the nav_toc_index helper/partial.'
30
30
 
31
31
  # @!group Extension Configuration
32
-
32
+
33
33
  # @!attribute [rw] options[:strip_file_prefixes]=
34
34
  # If `true` leading numbers used for sorting files will be removed for
35
35
  # presentation purposes. This makes it possible to neatly organize your
@@ -151,7 +151,7 @@ class MiddlemanPageGroups < ::Middleman::Extension
151
151
  end
152
152
 
153
153
 
154
- #--------------------------------------------------------
154
+ #--------------------------------------------------------
155
155
  # Add our own resource methods to each resource in the
156
156
  # site map.
157
157
  # @!visibility private
@@ -261,7 +261,7 @@ class MiddlemanPageGroups < ::Middleman::Extension
261
261
  return nil
262
262
  else
263
263
  self.siblings
264
- .find_all { |p| p.sort_order && p.sort_order != 0 && !p.ignored }
264
+ .find_all { |p| p.legitimate? }
265
265
  .push(self)
266
266
  .sort_by { |p| p.sort_order }
267
267
  .find_index(self) + 1
@@ -284,7 +284,7 @@ class MiddlemanPageGroups < ::Middleman::Extension
284
284
  #--------------------------------------------------------
285
285
  def resource.brethren
286
286
  self.siblings
287
- .find_all { |p| p.sort_order && p.sort_order != 0 && !p.ignored && p != self }
287
+ .find_all { |p| p.legitimate? && p != self }
288
288
  .sort_by { |p| p.sort_order }
289
289
  end
290
290
 
@@ -329,7 +329,7 @@ class MiddlemanPageGroups < ::Middleman::Extension
329
329
  # use of `:navigator => false` in its front matter.
330
330
  # * This page has a `sort_order`.
331
331
  #
332
- # @return (Boolean) Returns `true` if this pages is
332
+ # @return (Boolean) Returns `true` if this page is
333
333
  # eligible for a previous/next page control.
334
334
  #--------------------------------------------------------
335
335
  def resource.navigator_eligible?
@@ -340,6 +340,21 @@ class MiddlemanPageGroups < ::Middleman::Extension
340
340
  end
341
341
 
342
342
 
343
+ #--------------------------------------------------------
344
+ # Indicates whether or not a page is "legitimate" in
345
+ # terms of automatic navigation, based in:
346
+ #
347
+ # * The resource has a sort order and isn't zero.
348
+ # * The resource isn't ignored.
349
+ #
350
+ # @return (Boolean) Returns `true` if this pages
351
+ # participates in automatic navigation features.
352
+ #--------------------------------------------------------
353
+ def resource.legitimate?
354
+ self.sort_order && self.sort_order != 0 && !self.ignored
355
+ end
356
+
357
+
343
358
  #--------------------------------------------------------
344
359
  # Returns an array of all of the children of this
345
360
  # resource, taking into account their eligibility for
@@ -356,7 +371,7 @@ class MiddlemanPageGroups < ::Middleman::Extension
356
371
  #--------------------------------------------------------
357
372
  def resource.legitimate_children
358
373
  self.children
359
- .find_all { |p| p.sort_order && p.sort_order != 0 && !p.ignored }
374
+ .find_all { |p| p.legitimate? }
360
375
  .sort_by { |p| p.sort_order }
361
376
  end
362
377
 
@@ -420,7 +435,7 @@ class MiddlemanPageGroups < ::Middleman::Extension
420
435
  # Handle preceding path parts, first, if there's a grandparent (all
421
436
  # top level items have a parent and aren't part of this case). These
422
437
  # will have already been set because we've done shallower paths first.
423
- if resource.parent.parent
438
+ if resource.parent && resource.parent.parent
424
439
  parent_path_parts = File.dirname(resource.parent.destination_path).split('/')
425
440
  path_parts = parent_path_parts + path_parts[parent_path_parts.count..-1]
426
441
  end
@@ -1,5 +1,5 @@
1
1
  module Middleman
2
2
  module MiddlemanPageGroups
3
- VERSION = '1.0.5'
3
+ VERSION = '1.0.10'
4
4
  end
5
5
  end
@@ -2,23 +2,40 @@
2
2
  $:.push File.expand_path('../lib', __FILE__)
3
3
  require 'middleman-pagegroups/version'
4
4
 
5
- mm_needed = ['~> 4.1', '>= 4.1.7']
5
+ # We should work with any 4.3.x version of Middleman, but due to #2319,
6
+ # automatic image alt attributes have been removed from Middleman, so
7
+ # I'm adjusting the minimum requirement to the first release incorporating
8
+ # that change.
9
+
10
+ mm_needed = ['~> 4.3.0', '>= 4.3.7']
11
+
12
+ # We should work with any 2.0 version of Ruby, but I'm no longer testing them
13
+ # for regressions. Version 2.6.0 goes back to December 2018, and is a suitable
14
+ # minimum version.
15
+ #
16
+ # Currently no released version of Middleman works with Ruby 3, so until that is
17
+ # resolved, We will only support 2.6 up to and not including Ruby 3.0.
18
+
19
+ rb_needed = ['~> 2.0', '>= 2.6']
20
+
6
21
 
7
22
  Gem::Specification.new do |s|
8
- s.name = 'middleman-pagegroups'
9
- s.version = Middleman::MiddlemanPageGroups::VERSION
10
- s.platform = Gem::Platform::RUBY
11
- s.authors = ['Jim Derry']
12
- s.email = ['balthisar@gmail.com']
13
- s.homepage = 'https://github.com/middlemac/middleman-pagegroups'
14
- s.summary = 'Provides logical page groups and easy navigation for Middleman projects.'
15
- s.description = 'Provides logical page groups and easy navigation for Middleman projects.'
16
- s.license = 'MIT'
17
-
18
- s.files = `git ls-files`.split("\n")
19
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
20
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
- s.require_paths = ['lib']
23
+
24
+ s.required_ruby_version = rb_needed
25
+ s.name = 'middleman-pagegroups'
26
+ s.version = Middleman::MiddlemanPageGroups::VERSION
27
+ s.platform = Gem::Platform::RUBY
28
+ s.authors = ['Jim Derry']
29
+ s.email = ['balthisar@gmail.com']
30
+ s.homepage = 'https://github.com/middlemac/middleman-pagegroups'
31
+ s.summary = 'Provides logical page groups and easy navigation for Middleman projects.'
32
+ s.description = 'Provides logical page groups and easy navigation for Middleman projects.'
33
+ s.license = 'MIT'
34
+
35
+ s.files = `git ls-files`.split("\n")
36
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
37
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
38
+ s.require_paths = ['lib']
22
39
 
23
40
  # The version of middleman-core your extension depends on
24
41
  s.add_runtime_dependency('middleman-core', mm_needed)
@@ -32,4 +49,5 @@ Gem::Specification.new do |s|
32
49
  s.add_development_dependency 'rake', '>= 10.3'
33
50
  s.add_development_dependency 'git'
34
51
  s.add_development_dependency 'capybara', ['~> 2.5.0']
52
+
35
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-pagegroups
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Derry
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-30 00:00:00.000000000 Z
11
+ date: 2021-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: middleman-core
@@ -16,60 +16,60 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.1'
19
+ version: 4.3.0
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 4.1.7
22
+ version: 4.3.7
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '4.1'
29
+ version: 4.3.0
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 4.1.7
32
+ version: 4.3.7
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: middleman-cli
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '4.1'
39
+ version: 4.3.0
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 4.1.7
42
+ version: 4.3.7
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '4.1'
49
+ version: 4.3.0
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 4.1.7
52
+ version: 4.3.7
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: middleman
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '4.1'
59
+ version: 4.3.0
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: 4.1.7
62
+ version: 4.3.7
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '4.1'
69
+ version: 4.3.0
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
- version: 4.1.7
72
+ version: 4.3.7
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: bundler
75
75
  requirement: !ruby/object:Gem::Requirement
@@ -134,12 +134,14 @@ executables:
134
134
  extensions: []
135
135
  extra_rdoc_files: []
136
136
  files:
137
+ - ".gitattributes"
137
138
  - ".gitignore"
138
139
  - ".yardopts"
139
140
  - CHANGELOG.md
140
141
  - Gemfile
141
142
  - LICENSE.md
142
143
  - README.md
144
+ - README_doc.html
143
145
  - Rakefile
144
146
  - bin/middleman-pagegroups
145
147
  - documentation_project/.gitignore
@@ -237,27 +239,28 @@ homepage: https://github.com/middlemac/middleman-pagegroups
237
239
  licenses:
238
240
  - MIT
239
241
  metadata: {}
240
- post_install_message:
242
+ post_install_message:
241
243
  rdoc_options: []
242
244
  require_paths:
243
245
  - lib
244
246
  required_ruby_version: !ruby/object:Gem::Requirement
245
247
  requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '2.0'
246
251
  - - ">="
247
252
  - !ruby/object:Gem::Version
248
- version: '0'
253
+ version: '2.6'
249
254
  required_rubygems_version: !ruby/object:Gem::Requirement
250
255
  requirements:
251
256
  - - ">="
252
257
  - !ruby/object:Gem::Version
253
258
  version: '0'
254
259
  requirements: []
255
- rubyforge_project:
256
- rubygems_version: 2.4.8
257
- signing_key:
260
+ rubygems_version: 3.0.9
261
+ signing_key:
258
262
  specification_version: 4
259
263
  summary: Provides logical page groups and easy navigation for Middleman projects.
260
264
  test_files:
261
265
  - features/helpers_and_resources.feature
262
266
  - features/support/env.rb
263
- has_rdoc: