jekyll_all_collections 0.3.4 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48527cdeb305237310b14a6748a3a95aab2fea5a837a650d277a8d9c93daed97
4
- data.tar.gz: 98b3eebd250c4d16e2141b9aaac2c211a54ff9478eafe4a5cbb68f7de905cc6a
3
+ metadata.gz: d1a935e77649731f0ecea36559559fe45c937b004d019fbf777ad74621b252af
4
+ data.tar.gz: 24be6a67384819242fd22901d9d4a7cf1a7cbc5bc88fbaea7ed9c53fa357ad33
5
5
  SHA512:
6
- metadata.gz: 0ebd2507129ca1d62ca6fba8bbeb3bce545c100093ed1bab1390f03c5d495b7dd51fcb0780e8438253fcbf87a74cb57f54034b526fe54d290338f3b732b325c1
7
- data.tar.gz: 30b284bb7cb19a4ef0cb246c052e2818086343fc722e4713065c4b9f5cb9a0fd0d807d0df1d7a5e16cb0cf08993ed56ddad3bd006f93175393b27d81305740a9
6
+ metadata.gz: '0266898e0d13bb95adcc909ed92a7d916741b847ff61bcd9ffe8ac07b370e376545a9120a91d1ad34347fe95084f634850fa7f853e13bc0a4ffa59491d94b4a7'
7
+ data.tar.gz: 02f706416a7c7578ab2819321b6698b3980e7c00c88002b313f587f33c9bdda8bdb9bd7f96f06d13d4636f2394b7a2bfc2b009db874df7d0c1e04f95ebf4cd43
data/.rubocop.yml CHANGED
@@ -30,18 +30,18 @@ Layout/LineLength:
30
30
  Max: 150
31
31
 
32
32
  Metrics/AbcSize:
33
- Max: 45
33
+ Max: 55
34
34
 
35
35
  Metrics/BlockLength:
36
36
  Exclude:
37
- - jekyll_all_collections.gemspec
37
+ - jekyll_plugin_support.gemspec
38
38
  Max: 30
39
39
 
40
40
  Metrics/CyclomaticComplexity:
41
41
  Max: 25
42
42
 
43
43
  Metrics/MethodLength:
44
- Max: 30
44
+ Max: 50
45
45
 
46
46
  Metrics/PerceivedComplexity:
47
47
  Max: 25
@@ -49,14 +49,17 @@ Metrics/PerceivedComplexity:
49
49
  Naming/FileName:
50
50
  Exclude:
51
51
  - Rakefile
52
+ - "*.md"
52
53
 
53
54
  RSpec/ExampleLength:
54
55
  Max: 30
55
56
 
56
- RSpec/FilePath:
57
+ RSpec/SpecFilePathFormat:
57
58
  Enabled: false
58
59
  IgnoreMethods: true
59
- SpecSuffixOnly: true
60
+
61
+ RSpec/SpecFilePathSuffix:
62
+ Enabled: false
60
63
 
61
64
  RSpec/IndexedLet:
62
65
  Enabled: false
@@ -64,11 +67,17 @@ RSpec/IndexedLet:
64
67
  RSpec/MultipleExpectations:
65
68
  Max: 15
66
69
 
70
+ Style/ClassVars:
71
+ Enabled: false
72
+
67
73
  Style/Documentation:
68
74
  Enabled: false
69
75
 
70
76
  Style/FrozenStringLiteralComment:
71
77
  Enabled: false
72
78
 
79
+ Style/StringConcatenation:
80
+ Enabled: false
81
+
73
82
  Style/TrailingCommaInHashLiteral:
74
83
  EnforcedStyleForMultiline: comma
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.6 / 2024-07-23
4
+
5
+ * Made compatible with module renaming in JekyllPluginSupport v1.0.0
6
+
7
+
8
+ ## 0.3.5 / 2024-03-26
9
+
10
+ * Added `APage.extname` for compatibility with Jekyll
11
+ [`Document`](https://github.com/jekyll/jekyll/blob/master/lib/jekyll/document.rb);
12
+ previously, the filetype of the uri was provided only as `APage.ext`.
13
+
14
+
3
15
  ## 0.3.4 / 2023-12-24
4
16
 
5
17
  * Changed dependency to Jekyll >= 4.3.2
data/README.md CHANGED
@@ -72,6 +72,23 @@ No explicit initialization or setup is required.
72
72
  Jekyll plugins can access the value of `site.all_collections`, however Liquid code in Jekyll pages and documents cannot.
73
73
 
74
74
 
75
+ ### Plugin Usage
76
+
77
+ Jekyll generators and tags receive an enhanced version of the `site` Jekyll variable.
78
+ A new array of `APage` instance called `all_collections` is added, one for each Jekyll document and page.
79
+ Examine [`APage.rb`](https://github.com/mslinn/jekyll_all_collections/blob/v0.3.4/lib/all_collections_hooks.rb#L68-L102)
80
+ to see the available properties.
81
+ One particularly useful property is `url`, which is difficult to obtain from Jekyll.
82
+
83
+ All `Jekyll::Page`s and `Jekyll:Document`s can be processed with the following sample code:
84
+
85
+ ```ruby
86
+ (@site.all_collections + @site.pages).each do |page_or_apage|
87
+ do_something_with page_or_apage
88
+ end
89
+ ```
90
+
91
+
75
92
  ### `All_collections` Tag
76
93
 
77
94
  Add the following CSS to your stylesheet:
@@ -194,7 +211,7 @@ and the tertiary key as `label`:
194
211
  ```
195
212
 
196
213
 
197
- #### Usage Examples
214
+ #### Liquid Usage Examples
198
215
 
199
216
  Here is a short Jekyll page, including front matter,
200
217
  demonstrating this plugin being invoked with all default attribute values:
@@ -30,6 +30,6 @@ Gem::Specification.new do |spec|
30
30
  spec.version = JekyllAllCollectionsVersion::VERSION
31
31
 
32
32
  spec.add_dependency 'jekyll', '>= 3.5.0'
33
- spec.add_dependency 'jekyll_draft', '>= 1.1.1'
34
- spec.add_dependency 'jekyll_plugin_support', '>= 0.7.0'
33
+ spec.add_dependency 'jekyll_draft'
34
+ spec.add_dependency 'jekyll_plugin_support'
35
35
  end
@@ -12,7 +12,7 @@ module AllCollectionsHooks
12
12
  # @logger.debug { "Jekyll::Hooks.register(:site, :after_init: #{defined}" }
13
13
  # end
14
14
 
15
- # Creates a `Array[String]` property called site.all_collections if it does not already exist
15
+ # Creates a `Array[APage]` property called site.all_collections if it does not already exist
16
16
  # Each `APage` entry is one document or page.
17
17
  Jekyll::Hooks.register(:site, :post_read, priority: :normal) do |site|
18
18
  defined = AllCollectionsHooks.all_collections_defined?(site)
@@ -66,7 +66,7 @@ module AllCollectionsHooks
66
66
  end
67
67
 
68
68
  class APage
69
- attr_reader :content, :data, :date, :description, :destination, :draft, :excerpt, :ext,
69
+ attr_reader :content, :data, :date, :description, :destination, :draft, :excerpt, :ext, :extname,
70
70
  :label, :last_modified, :layout, :path, :relative_path, :tags, :title, :type, :url
71
71
 
72
72
  # Verify each property exists before accessing it; this helps write tests
@@ -83,7 +83,9 @@ module AllCollectionsHooks
83
83
 
84
84
  @draft = Jekyll::Draft.draft?(obj)
85
85
  @excerpt = @data['excerpt'] if @data.key? 'excerpt'
86
- @ext = @data['ext'] if @data.key? 'ext'
86
+ @ext = obj.extname
87
+ @ext ||= @data['ext'] if @data.key? 'ext'
88
+ @extname = @ext # For compatibility with previous versions of all_collections
87
89
  @label = obj.collection.label if obj&.collection.respond_to? :label
88
90
  @last_modified = @data['last_modified'] || @data['last_modified_at'] || @date
89
91
  @last_modified_field = case @data
@@ -134,6 +134,6 @@ module AllCollectionsTag
134
134
  warn_short_trace e
135
135
  end
136
136
 
137
- JekyllPluginHelper.register(self, PLUGIN_NAME)
137
+ JekyllSupport::JekyllPluginHelper.register(self, PLUGIN_NAME)
138
138
  end
139
139
  end
@@ -1,3 +1,3 @@
1
1
  module JekyllAllCollectionsVersion
2
- VERSION = '0.3.4'.freeze
2
+ VERSION = '0.3.6'.freeze
3
3
  end
@@ -1,23 +1,22 @@
1
- example_id | status | run_time |
2
- -------------------------------- | ------ | --------------- |
3
- ./spec/date_sort_spec.rb[1:1] | passed | 0.00111 seconds |
4
- ./spec/date_sort_spec.rb[1:2] | passed | 0.00019 seconds |
5
- ./spec/date_sort_spec.rb[1:3] | passed | 0.00014 seconds |
6
- ./spec/date_sort_spec.rb[1:4] | passed | 0.00016 seconds |
7
- ./spec/date_sort_spec.rb[1:5] | passed | 0.00016 seconds |
8
- ./spec/date_sort_spec.rb[1:6] | passed | 0.00015 seconds |
9
- ./spec/date_sort_spec.rb[1:7] | passed | 0.00014 seconds |
10
- ./spec/date_sort_spec.rb[1:8] | passed | 0.00014 seconds |
11
- ./spec/date_sort_spec.rb[1:9] | passed | 0.00016 seconds |
12
- ./spec/date_sort_spec.rb[1:10] | passed | 0.00015 seconds |
13
- ./spec/lambda_sort_spec.rb[1:1] | passed | 0.00017 seconds |
14
- ./spec/lambda_sort_spec.rb[1:2] | passed | 0.00022 seconds |
15
- ./spec/lambda_sort_spec.rb[1:3] | passed | 0.00029 seconds |
16
- ./spec/lambda_sort_spec.rb[1:4] | passed | 0.0002 seconds |
17
- ./spec/lambda_sort_spec.rb[1:5] | passed | 0.00018 seconds |
18
- ./spec/lambda_sort_spec.rb[1:6] | passed | 0.0002 seconds |
19
- ./spec/lambda_sort_spec.rb[1:7] | passed | 0.00019 seconds |
20
- ./spec/lambda_sort_spec.rb[1:8] | passed | 0.00019 seconds |
21
- ./spec/lambda_sort_spec.rb[1:9] | passed | 0.00019 seconds |
22
- ./spec/lambda_sort_spec.rb[1:10] | passed | 0.00019 seconds |
23
- ./spec/lambda_sort_spec.rb[1:11] | passed | 0.00036 seconds |
1
+ example_id | status | run_time |
2
+ ----------------------------------------------------------------- | ------ | --------------- |
3
+ ./spec/all_collections_tag/all_collections_tag_sort_spec.rb[1:1] | passed | 0.00138 seconds |
4
+ ./spec/all_collections_tag/all_collections_tag_sort_spec.rb[1:2] | passed | 0.00185 seconds |
5
+ ./spec/all_collections_tag/all_collections_tag_sort_spec.rb[1:3] | passed | 0.0016 seconds |
6
+ ./spec/all_collections_tag/all_collections_tag_sort_spec.rb[1:4] | passed | 0.00169 seconds |
7
+ ./spec/all_collections_tag/all_collections_tag_sort_spec.rb[1:5] | passed | 0.0012 seconds |
8
+ ./spec/all_collections_tag/all_collections_tag_sort_spec.rb[1:6] | passed | 0.00154 seconds |
9
+ ./spec/all_collections_tag/all_collections_tag_sort_spec.rb[1:7] | passed | 0.00122 seconds |
10
+ ./spec/all_collections_tag/all_collections_tag_sort_spec.rb[1:8] | passed | 0.0015 seconds |
11
+ ./spec/all_collections_tag/all_collections_tag_sort_spec.rb[1:9] | passed | 0.00141 seconds |
12
+ ./spec/all_collections_tag/all_collections_tag_sort_spec.rb[1:10] | passed | 0.00118 seconds |
13
+ ./spec/date_sort_spec.rb[1:1] | passed | 0.00007 seconds |
14
+ ./spec/date_sort_spec.rb[1:2] | passed | 0.00005 seconds |
15
+ ./spec/date_sort_spec.rb[1:3] | passed | 0.00005 seconds |
16
+ ./spec/date_sort_spec.rb[1:4] | passed | 0.00005 seconds |
17
+ ./spec/date_sort_spec.rb[1:5] | passed | 0.00011 seconds |
18
+ ./spec/date_sort_spec.rb[1:6] | passed | 0.00004 seconds |
19
+ ./spec/date_sort_spec.rb[1:7] | passed | 0.00006 seconds |
20
+ ./spec/date_sort_spec.rb[1:8] | passed | 0.00004 seconds |
21
+ ./spec/date_sort_spec.rb[1:9] | passed | 0.00004 seconds |
22
+ ./spec/date_sort_spec.rb[1:10] | passed | 0.00005 seconds |
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_all_collections
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Slinn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-25 00:00:00.000000000 Z
11
+ date: 2024-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.1.1
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.1.1
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: jekyll_plugin_support
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 0.7.0
47
+ version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 0.7.0
54
+ version: '0'
55
55
  description: 'Provides a collection of all collections in site.all_collections.
56
56
 
57
57
  '
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  - !ruby/object:Gem::Version
100
100
  version: '0'
101
101
  requirements: []
102
- rubygems_version: 3.3.3
102
+ rubygems_version: 3.5.16
103
103
  signing_key:
104
104
  specification_version: 4
105
105
  summary: Provides a collection of all collections in site.all_collections.