jekyll_all_collections 0.3.4 → 0.3.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48527cdeb305237310b14a6748a3a95aab2fea5a837a650d277a8d9c93daed97
4
- data.tar.gz: 98b3eebd250c4d16e2141b9aaac2c211a54ff9478eafe4a5cbb68f7de905cc6a
3
+ metadata.gz: c477b19e427d2b5fe98559dd2fefa87379d8c1607073f27c23848a158f20e0e6
4
+ data.tar.gz: 464c2be868d33b406dad3a5304e7e3d1956b9e021400ee6be66be3f6513a85b7
5
5
  SHA512:
6
- metadata.gz: 0ebd2507129ca1d62ca6fba8bbeb3bce545c100093ed1bab1390f03c5d495b7dd51fcb0780e8438253fcbf87a74cb57f54034b526fe54d290338f3b732b325c1
7
- data.tar.gz: 30b284bb7cb19a4ef0cb246c052e2818086343fc722e4713065c4b9f5cb9a0fd0d807d0df1d7a5e16cb0cf08993ed56ddad3bd006f93175393b27d81305740a9
6
+ metadata.gz: d4f69eb2073fe356156a90a626a0d6f9f97764d83fc835047deaf709d188ceacbbf117beb59e5b03e362db4674bbc27e011d09d45c7ef5a0019bc51b405cb879
7
+ data.tar.gz: 9f50b25fb6bfc64dbed2425c0865a7382053cbd45dddfaca6a53bbbed4506fdc2ecb91211e4064d40069651b60dae3d60ded4bff6e17f56f89982199e27b3eb7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+
4
+ ## 0.3.5 / 2024-03-26
5
+
6
+ * Added `APage.extname` for compatibility with Jekyll
7
+ [`Document`](https://github.com/jekyll/jekyll/blob/master/lib/jekyll/document.rb);
8
+ previously, the filetype of the uri was provided only as `APage.ext`.
9
+
10
+
3
11
  ## 0.3.4 / 2023-12-24
4
12
 
5
13
  * 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:
@@ -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
@@ -1,3 +1,3 @@
1
1
  module JekyllAllCollectionsVersion
2
- VERSION = '0.3.4'.freeze
2
+ VERSION = '0.3.5'.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.5
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-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -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.6
103
103
  signing_key:
104
104
  specification_version: 4
105
105
  summary: Provides a collection of all collections in site.all_collections.