jekyll-linked-posts 0.4.3 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jekyll/linked_posts.rb +34 -20
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92950b65f14da488097d32123c7cd808d4ec065e769c5c293605971f619896d0
4
- data.tar.gz: 7034eedcbec40cad8cb0a58e48a17bcc2a8459de9eeda1e16120e70cf0d35b80
3
+ metadata.gz: 887c244a510947aa40d9bf900df9e34c9bbca297039e4c691d8643907b9ba66c
4
+ data.tar.gz: 0a56bb4ac0ab19b25a453d0985a22b708c1931f4007961b14a16faa43577e5ef
5
5
  SHA512:
6
- metadata.gz: a8a8cc4cd3be9185ca2621cebf844c5a527b3620debd115defdadac7605a9526a93d88ba707a1bf7ae58a548dc403a447357b90716a21e2396150f1a057cb799
7
- data.tar.gz: 381f32adb30858736f5b495c97aaee90b13855d97a04aba58de29d6f1609ca740b811355f0a8593270d59b58d67ca8e37404ee5022848d9403dc390338716499
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
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.3
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: 2022-12-30 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