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.
- checksums.yaml +5 -5
- data/.gitattributes +4 -0
- data/CHANGELOG.md +57 -3
- data/README.md +9 -0
- data/README_doc.html +5172 -0
- data/Rakefile +5 -1
- data/documentation_project/Gemfile +2 -2
- data/documentation_project/config.rb +5 -1
- data/documentation_project/source/partials/_yard_config.erb +12 -12
- data/documentation_project/source/partials/_yard_helpers.erb +7 -7
- data/documentation_project/source/partials/_yard_helpers_css.erb +10 -10
- data/documentation_project/source/partials/_yard_helpers_extended.erb +1 -1
- data/documentation_project/source/partials/_yard_resources.erb +59 -13
- data/features/helpers_and_resources.feature +1 -1
- data/features/support/env.rb +0 -14
- data/lib/middleman-pagegroups/extension.rb +22 -7
- data/lib/middleman-pagegroups/version.rb +1 -1
- data/middleman-pagegroups.gemspec +33 -15
- metadata +24 -21
@@ -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'
|
data/features/support/env.rb
CHANGED
@@ -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.
|
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.
|
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
|
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.
|
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
|
@@ -2,23 +2,40 @@
|
|
2
2
|
$:.push File.expand_path('../lib', __FILE__)
|
3
3
|
require 'middleman-pagegroups/version'
|
4
4
|
|
5
|
-
|
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
|
-
|
9
|
-
s.
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
s.
|
15
|
-
s.
|
16
|
-
s.
|
17
|
-
|
18
|
-
s.
|
19
|
-
|
20
|
-
s.
|
21
|
-
s.
|
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.
|
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:
|
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:
|
19
|
+
version: 4.3.0
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 4.
|
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:
|
29
|
+
version: 4.3.0
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 4.
|
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:
|
39
|
+
version: 4.3.0
|
40
40
|
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 4.
|
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:
|
49
|
+
version: 4.3.0
|
50
50
|
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: 4.
|
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:
|
59
|
+
version: 4.3.0
|
60
60
|
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 4.
|
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:
|
69
|
+
version: 4.3.0
|
70
70
|
- - ">="
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version: 4.
|
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: '
|
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
|
-
|
256
|
-
|
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:
|