jekyll-linked-posts 0.4.2 → 0.5.0

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jekyll/linked_posts.rb +35 -21
  3. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0c792272b2c2f7fe9e8b9464f35b5743458229ecba36f3e1bed1e471418ee052
4
- data.tar.gz: d863dd78fd66ff0572d29a5cda8326e92632acf33b68b5793dd62a55d1e76a17
3
+ metadata.gz: 887c244a510947aa40d9bf900df9e34c9bbca297039e4c691d8643907b9ba66c
4
+ data.tar.gz: 0a56bb4ac0ab19b25a453d0985a22b708c1931f4007961b14a16faa43577e5ef
5
5
  SHA512:
6
- metadata.gz: ce5a1eb85f8976e80635391bd49fd5131d2f733571355cef6fc2de6e082002477f36351465adcaebfa7e40e747f2587a29b5f7e17061369f055fca3c040d3a24
7
- data.tar.gz: a8a56dcff3ad0ce0d1850e0e0254e0b8bb3a809953ae825959910aa51ddc177972ee8b7e694557fc9f07002e7b0fb7f0dacdd61ef306e27b9f5c4da34d915e12
6
+ metadata.gz: abe1d979491270ad79e5eb07a35d47ec3dfe2d48f339d966720e67884aa62ac4517d4e4ddd367963b1820d3533aa159172df479defa6dcd068b22e02324574ef
7
+ data.tar.gz: e193cb95923038692e03259114b7a1d44d7468f30c27fa29118efcdcad7e94882bcdc8d48d16c46aab02fbf1c5fe61f91abc8bf8b4418570d7922e3fcdb497e4
@@ -21,31 +21,45 @@ module Jekyll
21
21
  # value for nil.
22
22
  def read
23
23
  site.documents.each do |doc|
24
- fields.each do |field|
25
- next if (values = doc.data[field]).nil?
26
-
27
- # XXX: this lacks... elegance
28
- doc.data[field] =
29
- case values
30
- when String then find(values)
31
- when Array
32
- values.map do |doc|
33
- find doc
34
- end.compact
35
- when Hash
36
- values.map do |f, value|
37
- [f, v] if (v = find value)
38
- end.compact.to_h
39
- else
40
- Jekyll.logger.warn "Couldn't link posts on #{doc.relative_path}"
41
- nil
42
- end
43
- end
24
+ process doc
25
+ end
26
+
27
+ site.pages.each do |doc|
28
+ process doc
44
29
  end
45
30
  end
46
31
 
47
32
  private
48
33
 
34
+ # Processes fields from a document-like object
35
+ #
36
+ # @param :doc [Jekyll::Document,Jekyll::Page]
37
+ # @return [nil]
38
+ def process(doc)
39
+ fields.each do |field|
40
+ next if (values = doc.data[field]).nil?
41
+
42
+ # XXX: this lacks... elegance
43
+ doc.data[field] =
44
+ case values
45
+ when String then find(values)
46
+ when Array
47
+ values.map do |doc|
48
+ find doc
49
+ end.compact
50
+ when Hash
51
+ values.map do |f, value|
52
+ [f, v] if (v = find value)
53
+ end.compact.to_h
54
+ else
55
+ Jekyll.logger.warn "Couldn't link posts on #{doc.relative_path}"
56
+ nil
57
+ end
58
+ end
59
+
60
+ nil
61
+ end
62
+
49
63
  # The field to index posts by
50
64
  #
51
65
  # @return [String] by default uuid
@@ -72,7 +86,7 @@ module Jekyll
72
86
  next docs
73
87
  end
74
88
 
75
- if (dup = docs[index_value])
89
+ if (dup = docs[index_value]) && dup != doc
76
90
  Jekyll.logger.warn "#{doc.relative_path} shares the same indexing value as #{dup.relative_path}: #{index_value}"
77
91
  next docs
78
92
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-linked-posts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - f
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-14 00:00:00.000000000 Z
11
+ date: 2023-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -62,16 +62,16 @@ require_paths:
62
62
  - lib
63
63
  required_ruby_version: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ">="
66
66
  - !ruby/object:Gem::Version
67
- version: '2'
67
+ version: '2.7'
68
68
  required_rubygems_version: !ruby/object:Gem::Requirement
69
69
  requirements:
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
72
  version: '0'
73
73
  requirements: []
74
- rubygems_version: 3.1.2
74
+ rubygems_version: 3.3.26
75
75
  signing_key:
76
76
  specification_version: 4
77
77
  summary: Adds linked posts to Jekyll