jekyll 4.3.0 → 4.3.2
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/blank_template/_sass/{main.scss → base.scss} +0 -0
- data/lib/blank_template/assets/css/main.scss +1 -1
- 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/liquid_renderer/table.rb +1 -11
- data/lib/jekyll/profiler.rb +0 -4
- data/lib/jekyll/readers/data_reader.rb +3 -6
- data/lib/jekyll/site.rb +3 -9
- data/lib/jekyll/utils.rb +1 -8
- data/lib/jekyll/version.rb +1 -1
- data/lib/jekyll.rb +0 -2
- metadata +6 -8
- 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: 347e7eea42afb6073288ca30a52df201c93ba8cb11883e07f7d02790516f4a0c
|
4
|
+
data.tar.gz: e319f9f8183ac7712a5c215f0fbf083c7a84c06f8c716b3170ae17f6e96c8fb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b146b2b681d7e3735faaa93f87ea00ba7500a1789820238d5883ff17f353207c987d70a2fbbd4bbe1f56ff784c7f9d3198b4232b48f2f5920a6664e45511cd0
|
7
|
+
data.tar.gz: 55ad809278c2624d4b13316ec7436022e71fcf543cf84c1bd4d04fc3660efc948951ed3f13b487bddb8041be80e885aa6fd24ad1165795b08752f5210c35b152
|
File without changes
|
@@ -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
|
@@ -15,16 +15,12 @@ module Jekyll
|
|
15
15
|
|
16
16
|
private
|
17
17
|
|
18
|
-
# rubocop:disable Metrics/AbcSize
|
19
18
|
def data_for_table(num_of_rows)
|
20
19
|
sorted = @stats.sort_by { |_, file_stats| -file_stats[:time] }
|
21
20
|
sorted = sorted.slice(0, num_of_rows)
|
22
21
|
|
23
22
|
table = [header_labels]
|
24
|
-
totals = Hash.new { |hash, key| hash[key] = 0 }
|
25
|
-
|
26
23
|
sorted.each do |filename, file_stats|
|
27
|
-
GAUGES.each { |gauge| totals[gauge] += file_stats[gauge] }
|
28
24
|
row = []
|
29
25
|
row << filename
|
30
26
|
row << file_stats[:count].to_s
|
@@ -33,14 +29,8 @@ module Jekyll
|
|
33
29
|
table << row
|
34
30
|
end
|
35
31
|
|
36
|
-
|
37
|
-
footer << "TOTAL (for #{sorted.size} files)"
|
38
|
-
footer << totals[:count].to_s
|
39
|
-
footer << format_bytes(totals[:bytes])
|
40
|
-
footer << format("%.3f", totals[:time])
|
41
|
-
table << footer
|
32
|
+
table
|
42
33
|
end
|
43
|
-
# rubocop:enable Metrics/AbcSize
|
44
34
|
|
45
35
|
def header_labels
|
46
36
|
GAUGES.map { |gauge| gauge.to_s.capitalize }.unshift("Filename")
|
data/lib/jekyll/profiler.rb
CHANGED
@@ -33,18 +33,14 @@ module Jekyll
|
|
33
33
|
|
34
34
|
def profile_process
|
35
35
|
profile_data = { "PHASE" => "TIME" }
|
36
|
-
total_time = 0
|
37
36
|
|
38
37
|
[:reset, :read, :generate, :render, :cleanup, :write].each do |method|
|
39
38
|
start_time = Time.now
|
40
39
|
@site.send(method)
|
41
40
|
end_time = (Time.now - start_time).round(4)
|
42
41
|
profile_data[method.to_s.upcase] = format("%.4f", end_time)
|
43
|
-
total_time += end_time
|
44
42
|
end
|
45
43
|
|
46
|
-
profile_data["TOTAL TIME"] = format("%.4f", total_time)
|
47
|
-
|
48
44
|
Jekyll.logger.info "\nBuild Process Summary:"
|
49
45
|
Jekyll.logger.info Profiler.tabulate(Array(profile_data))
|
50
46
|
|
@@ -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/site.rb
CHANGED
@@ -360,15 +360,9 @@ module Jekyll
|
|
360
360
|
end
|
361
361
|
|
362
362
|
def each_site_file
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
next if seen_files.include?(item)
|
367
|
-
|
368
|
-
yield item
|
369
|
-
seen_files << item
|
370
|
-
end
|
371
|
-
end
|
363
|
+
pages.each { |page| yield page }
|
364
|
+
static_files.each { |file| yield(file) if file.write? }
|
365
|
+
collections.each_value { |coll| coll.docs.each { |doc| yield(doc) if doc.write? } }
|
372
366
|
end
|
373
367
|
|
374
368
|
# Returns the FrontmatterDefaults or creates a new FrontmatterDefaults
|
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,16 +1,16 @@
|
|
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.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Preston-Werner
|
8
8
|
- Parker Moore
|
9
9
|
- Matt Rogers
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2023-01-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: addressable
|
@@ -268,7 +268,7 @@ files:
|
|
268
268
|
- exe/jekyll
|
269
269
|
- lib/blank_template/_config.yml
|
270
270
|
- lib/blank_template/_layouts/default.html
|
271
|
-
- lib/blank_template/_sass/
|
271
|
+
- lib/blank_template/_sass/base.scss
|
272
272
|
- lib/blank_template/assets/css/main.scss
|
273
273
|
- lib/blank_template/index.md
|
274
274
|
- lib/jekyll.rb
|
@@ -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
|
@@ -396,7 +394,7 @@ metadata:
|
|
396
394
|
bug_tracker_uri: https://github.com/jekyll/jekyll/issues
|
397
395
|
changelog_uri: https://github.com/jekyll/jekyll/releases
|
398
396
|
homepage_uri: https://jekyllrb.com
|
399
|
-
post_install_message:
|
397
|
+
post_install_message:
|
400
398
|
rdoc_options:
|
401
399
|
- "--charset=UTF-8"
|
402
400
|
require_paths:
|
@@ -413,7 +411,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
413
411
|
version: 2.7.0
|
414
412
|
requirements: []
|
415
413
|
rubygems_version: 3.1.6
|
416
|
-
signing_key:
|
414
|
+
signing_key:
|
417
415
|
specification_version: 4
|
418
416
|
summary: A simple, blog aware, static site generator.
|
419
417
|
test_files: []
|
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
|