middleman-pagegroups 1.0.5 → 1.0.10

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.
@@ -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: