jekyll 4.3.0 → 4.3.1
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 +4 -4
- data/lib/jekyll/drops/document_drop.rb +4 -1
- data/lib/jekyll/drops/excerpt_drop.rb +1 -1
- data/lib/jekyll/drops/site_drop.rb +1 -6
- data/lib/jekyll/readers/data_reader.rb +3 -6
- data/lib/jekyll/utils.rb +1 -8
- data/lib/jekyll/version.rb +1 -1
- data/lib/jekyll.rb +0 -2
- metadata +2 -4
- data/lib/jekyll/data_entry.rb +0 -83
- data/lib/jekyll/data_hash.rb +0 -61
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2aeb2bbb34dfbdffa695f378301a1d07489c82828c2e5cbea920786e83d391f6
|
4
|
+
data.tar.gz: 41f746d2a3c406ff6789defd5801212b3fa2f223ab76d7dbf1b367754694b48b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e82a99626b40672bb732e28504067169d63ba64761d34e660a4e9d3c0bad678565567955d4766bd52ba49af69d03960627c3076fe96c9de4b1e3b39f36eec49b
|
7
|
+
data.tar.gz: 5d77890bfb0b4ecbeff0f50d5978bbd7a7014460915b06c93a26b822c96ab6afc333cc02e9290e62429828578cef2cb6a0f84053461fa6359940075782a37bd8
|
@@ -12,7 +12,6 @@ module Jekyll
|
|
12
12
|
mutable false
|
13
13
|
|
14
14
|
delegate_method_as :relative_path, :path
|
15
|
-
delegate_method_as :basename, :name
|
16
15
|
private delegate_method_as :data, :fallback_data
|
17
16
|
|
18
17
|
delegate_methods :id, :output, :content, :to_s, :relative_path, :url, :date
|
@@ -26,6 +25,10 @@ module Jekyll
|
|
26
25
|
fallback_data["excerpt"].to_s
|
27
26
|
end
|
28
27
|
|
28
|
+
def name
|
29
|
+
fallback_data["name"] || @obj.basename
|
30
|
+
end
|
31
|
+
|
29
32
|
def <=>(other)
|
30
33
|
return nil unless other.is_a? DocumentDrop
|
31
34
|
|
@@ -7,6 +7,7 @@ module Jekyll
|
|
7
7
|
|
8
8
|
mutable false
|
9
9
|
|
10
|
+
delegate_method_as :site_data, :data
|
10
11
|
delegate_methods :time, :pages, :static_files, :tags, :categories
|
11
12
|
|
12
13
|
private delegate_method_as :config, :fallback_data
|
@@ -23,12 +24,6 @@ module Jekyll
|
|
23
24
|
(key != "posts" && @obj.collections.key?(key)) || super
|
24
25
|
end
|
25
26
|
|
26
|
-
def data
|
27
|
-
@obj.site_data.tap do |value|
|
28
|
-
value.context = @context if value.respond_to?(:context=)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
27
|
def posts
|
33
28
|
@site_posts ||= @obj.posts.docs.sort { |a, b| b <=> a }
|
34
29
|
end
|
@@ -6,7 +6,7 @@ module Jekyll
|
|
6
6
|
|
7
7
|
def initialize(site, in_source_dir: nil)
|
8
8
|
@site = site
|
9
|
-
@content =
|
9
|
+
@content = {}
|
10
10
|
@entry_filter = EntryFilter.new(site)
|
11
11
|
@in_source_dir = in_source_dir || @site.method(:in_source_dir)
|
12
12
|
@source_dir = @in_source_dir.call("/")
|
@@ -24,8 +24,6 @@ module Jekyll
|
|
24
24
|
@content
|
25
25
|
end
|
26
26
|
|
27
|
-
# rubocop:disable Metrics/AbcSize
|
28
|
-
|
29
27
|
# Read and parse all .yaml, .yml, .json, .csv and .tsv
|
30
28
|
# files under <dir> and add them to the <data> variable.
|
31
29
|
#
|
@@ -45,14 +43,13 @@ module Jekyll
|
|
45
43
|
next if @entry_filter.symlink?(path)
|
46
44
|
|
47
45
|
if File.directory?(path)
|
48
|
-
read_data_to(path, data[sanitize_filename(entry)] =
|
46
|
+
read_data_to(path, data[sanitize_filename(entry)] = {})
|
49
47
|
else
|
50
48
|
key = sanitize_filename(File.basename(entry, ".*"))
|
51
|
-
data[key] =
|
49
|
+
data[key] = read_data_file(path)
|
52
50
|
end
|
53
51
|
end
|
54
52
|
end
|
55
|
-
# rubocop:enable Metrics/AbcSize
|
56
53
|
|
57
54
|
# Determines how to read a data file.
|
58
55
|
#
|
data/lib/jekyll/utils.rb
CHANGED
@@ -47,14 +47,7 @@ module Jekyll
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def mergable?(value)
|
50
|
-
|
51
|
-
when Hash, Drops::Drop, DataHash
|
52
|
-
true
|
53
|
-
when DataEntry
|
54
|
-
mergable?(value.data)
|
55
|
-
else
|
56
|
-
false
|
57
|
-
end
|
50
|
+
value.is_a?(Hash) || value.is_a?(Drops::Drop)
|
58
51
|
end
|
59
52
|
|
60
53
|
def duplicable?(obj)
|
data/lib/jekyll/version.rb
CHANGED
data/lib/jekyll.rb
CHANGED
@@ -45,8 +45,6 @@ module Jekyll
|
|
45
45
|
autoload :Collection, "jekyll/collection"
|
46
46
|
autoload :Configuration, "jekyll/configuration"
|
47
47
|
autoload :Convertible, "jekyll/convertible"
|
48
|
-
autoload :DataEntry, "jekyll/data_entry"
|
49
|
-
autoload :DataHash, "jekyll/data_hash"
|
50
48
|
autoload :Deprecator, "jekyll/deprecator"
|
51
49
|
autoload :Document, "jekyll/document"
|
52
50
|
autoload :EntryFilter, "jekyll/entry_filter"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.3.
|
4
|
+
version: 4.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Preston-Werner
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2022-10-
|
13
|
+
date: 2022-10-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: addressable
|
@@ -295,8 +295,6 @@ files:
|
|
295
295
|
- lib/jekyll/converters/markdown/kramdown_parser.rb
|
296
296
|
- lib/jekyll/converters/smartypants.rb
|
297
297
|
- lib/jekyll/convertible.rb
|
298
|
-
- lib/jekyll/data_entry.rb
|
299
|
-
- lib/jekyll/data_hash.rb
|
300
298
|
- lib/jekyll/deprecator.rb
|
301
299
|
- lib/jekyll/document.rb
|
302
300
|
- lib/jekyll/drops/collection_drop.rb
|
data/lib/jekyll/data_entry.rb
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Jekyll
|
4
|
-
class DataEntry
|
5
|
-
attr_accessor :context
|
6
|
-
attr_reader :data
|
7
|
-
|
8
|
-
# Create a Jekyll wrapper for given parsed data object.
|
9
|
-
#
|
10
|
-
# site - The current Jekyll::Site instance.
|
11
|
-
# abs_path - Absolute path to the data source file.
|
12
|
-
# parsed_data - Parsed representation of data source file contents.
|
13
|
-
#
|
14
|
-
# Returns nothing.
|
15
|
-
def initialize(site, abs_path, parsed_data)
|
16
|
-
@site = site
|
17
|
-
@path = abs_path
|
18
|
-
@data = parsed_data
|
19
|
-
end
|
20
|
-
|
21
|
-
# Liquid representation of current instance is the parsed data object.
|
22
|
-
#
|
23
|
-
# Mark as a dependency for regeneration here since every renderable object primarily uses the
|
24
|
-
# parsed data object while the parent resource is being rendered by Liquid. Accessing the data
|
25
|
-
# object directly via Ruby interface `#[]()` is outside the scope of regeneration.
|
26
|
-
#
|
27
|
-
# FIXME: Marking as dependency on every call is non-ideal. Optimize at later day.
|
28
|
-
#
|
29
|
-
# Returns the parsed data object.
|
30
|
-
def to_liquid
|
31
|
-
add_regenerator_dependencies if incremental_build?
|
32
|
-
@data
|
33
|
-
end
|
34
|
-
|
35
|
-
# -- Overrides to maintain backwards compatibility --
|
36
|
-
|
37
|
-
# Any missing method will be forwarded to the underlying data object stored in the instance
|
38
|
-
# variable `@data`.
|
39
|
-
def method_missing(method, *args, &block)
|
40
|
-
@data.respond_to?(method) ? @data.send(method, *args, &block) : super
|
41
|
-
end
|
42
|
-
|
43
|
-
def respond_to_missing?(method, *)
|
44
|
-
@data.respond_to?(method) || super
|
45
|
-
end
|
46
|
-
|
47
|
-
def <=>(other)
|
48
|
-
data <=> (other.is_a?(self.class) ? other.data : other)
|
49
|
-
end
|
50
|
-
|
51
|
-
def ==(other)
|
52
|
-
data == (other.is_a?(self.class) ? other.data : other)
|
53
|
-
end
|
54
|
-
|
55
|
-
# Explicitly defined to bypass re-routing from `method_missing` hook for greater performance.
|
56
|
-
#
|
57
|
-
# Returns string representation of parsed data object.
|
58
|
-
def inspect
|
59
|
-
@data.inspect
|
60
|
-
end
|
61
|
-
|
62
|
-
private
|
63
|
-
|
64
|
-
def incremental_build?
|
65
|
-
@incremental = @site.config["incremental"] if @incremental.nil?
|
66
|
-
@incremental
|
67
|
-
end
|
68
|
-
|
69
|
-
def add_regenerator_dependencies
|
70
|
-
page = context.registers[:page]
|
71
|
-
return unless page&.key?("path")
|
72
|
-
|
73
|
-
absolute_path = \
|
74
|
-
if page["collection"]
|
75
|
-
@site.in_source_dir(@site.config["collections_dir"], page["path"])
|
76
|
-
else
|
77
|
-
@site.in_source_dir(page["path"])
|
78
|
-
end
|
79
|
-
|
80
|
-
@site.regenerator.add_dependency(absolute_path, @path)
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
data/lib/jekyll/data_hash.rb
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Jekyll
|
4
|
-
# A class that behaves very similar to Ruby's `Hash` class yet different in how it is handled by
|
5
|
-
# Liquid. This class emulates Hash by delegation instead of inheritance to minimize overridden
|
6
|
-
# methods especially since some Hash methods returns another Hash instance instead of the
|
7
|
-
# subclass instance.
|
8
|
-
class DataHash
|
9
|
-
#
|
10
|
-
# Delegate given (zero-arity) method(s) to the Hash object stored in instance variable
|
11
|
-
# `@registry`.
|
12
|
-
# NOTE: Avoiding the use of `Forwardable` module's `def_delegators` for preventing unnecessary
|
13
|
-
# creation of interim objects on multiple calls.
|
14
|
-
def self.delegate_to_registry(*symbols)
|
15
|
-
symbols.each { |sym| define_method(sym) { @registry.send(sym) } }
|
16
|
-
end
|
17
|
-
private_class_method :delegate_to_registry
|
18
|
-
|
19
|
-
# -- core instance methods --
|
20
|
-
|
21
|
-
attr_accessor :context
|
22
|
-
|
23
|
-
def initialize
|
24
|
-
@registry = {}
|
25
|
-
end
|
26
|
-
|
27
|
-
def [](key)
|
28
|
-
@registry[key].tap do |value|
|
29
|
-
value.context = context if value.respond_to?(:context=)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
# `Hash#to_liquid` returns the Hash instance itself.
|
34
|
-
# Mimic that behavior by returning `self` instead of returning the `@registry` variable value.
|
35
|
-
def to_liquid
|
36
|
-
self
|
37
|
-
end
|
38
|
-
|
39
|
-
# -- supplementary instance methods to emulate Hash --
|
40
|
-
|
41
|
-
delegate_to_registry :freeze, :inspect
|
42
|
-
|
43
|
-
def merge(other, &block)
|
44
|
-
merged_registry = @registry.merge(other, &block)
|
45
|
-
dup.tap { |d| d.instance_variable_set(:@registry, merged_registry) }
|
46
|
-
end
|
47
|
-
|
48
|
-
def merge!(other, &block)
|
49
|
-
@registry.merge!(other, &block)
|
50
|
-
self
|
51
|
-
end
|
52
|
-
|
53
|
-
def method_missing(method, *args, &block)
|
54
|
-
@registry.send(method, *args, &block)
|
55
|
-
end
|
56
|
-
|
57
|
-
def respond_to_missing?(method, *)
|
58
|
-
@registry.respond_to?(method)
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|