jekyll 3.3.1 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of jekyll might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.rubocop.yml +14 -0
- data/LICENSE +1 -1
- data/README.markdown +1 -2
- data/lib/jekyll.rb +5 -1
- data/lib/jekyll/collection.rb +11 -4
- data/lib/jekyll/commands/doctor.rb +1 -1
- data/lib/jekyll/commands/new.rb +11 -7
- data/lib/jekyll/commands/serve.rb +6 -6
- data/lib/jekyll/commands/serve/servlet.rb +1 -1
- data/lib/jekyll/configuration.rb +5 -5
- data/lib/jekyll/converters/markdown/kramdown_parser.rb +1 -1
- data/lib/jekyll/converters/markdown/redcarpet_parser.rb +1 -1
- data/lib/jekyll/document.rb +4 -4
- data/lib/jekyll/drops/jekyll_drop.rb +1 -1
- data/lib/jekyll/entry_filter.rb +1 -1
- data/lib/jekyll/excerpt.rb +1 -2
- data/lib/jekyll/external.rb +1 -1
- data/lib/jekyll/filters.rb +7 -32
- data/lib/jekyll/filters/grouping_filters.rb +63 -0
- data/lib/jekyll/hooks.rb +7 -7
- data/lib/jekyll/log_adapter.rb +1 -1
- data/lib/jekyll/page.rb +3 -3
- data/lib/jekyll/plugin.rb +1 -1
- data/lib/jekyll/reader.rb +1 -1
- data/lib/jekyll/readers/data_reader.rb +6 -6
- data/lib/jekyll/readers/post_reader.rb +1 -1
- data/lib/jekyll/regenerator.rb +1 -1
- data/lib/jekyll/related_posts.rb +3 -9
- data/lib/jekyll/site.rb +2 -2
- data/lib/jekyll/static_file.rb +3 -3
- data/lib/jekyll/tags/highlight.rb +2 -2
- data/lib/jekyll/tags/include.rb +9 -5
- data/lib/jekyll/tags/post_url.rb +3 -2
- data/lib/jekyll/theme_builder.rb +1 -1
- data/lib/jekyll/url.rb +4 -3
- data/lib/jekyll/utils.rb +3 -1
- data/lib/jekyll/utils/ansi.rb +1 -1
- data/lib/jekyll/utils/exec.rb +25 -0
- data/lib/jekyll/utils/win_tz.rb +73 -0
- data/lib/jekyll/version.rb +1 -1
- data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +1 -1
- data/lib/site_template/about.md +1 -1
- data/lib/theme_template/LICENSE.txt.erb +1 -1
- data/lib/theme_template/README.md.erb +2 -2
- metadata +36 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 68e5c34fa249f9c27cbe1c4a0ed36de42d15d715
|
4
|
+
data.tar.gz: 256fdf447db9bcfc643f895db6454c74cf67b0f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee35404dd5880c76e378d11c8e7fb35cdb426bf8fa51b047bc942c6f008d076bed83caeadd0fc504787cf01ceade697b0f48c2eda20b081e26d6d102a9599db7
|
7
|
+
data.tar.gz: 07cf83c87ec8567f3d6c03c434991cd35248269401f42c0f11dc061a24c105ebe803f0827b746766e82c2ac4e301709c32e338a857c8948ba1a4a2f3ee13e899
|
data/.rubocop.yml
CHANGED
@@ -22,6 +22,8 @@ Metrics/BlockLength:
|
|
22
22
|
Exclude:
|
23
23
|
- test/**/*.rb
|
24
24
|
- lib/jekyll/configuration.rb
|
25
|
+
- rake/*.rake
|
26
|
+
- jekyll.gemspec
|
25
27
|
Metrics/ClassLength:
|
26
28
|
Exclude:
|
27
29
|
- !ruby/regexp /features\/.*.rb$/
|
@@ -32,6 +34,8 @@ Metrics/CyclomaticComplexity:
|
|
32
34
|
Metrics/LineLength:
|
33
35
|
Exclude:
|
34
36
|
- !ruby/regexp /features\/.*.rb/
|
37
|
+
- Rakefile
|
38
|
+
- rake/*.rake
|
35
39
|
Max: 90
|
36
40
|
Severity: warning
|
37
41
|
Metrics/MethodLength:
|
@@ -44,6 +48,14 @@ Metrics/ParameterLists:
|
|
44
48
|
Max: 4
|
45
49
|
Metrics/PerceivedComplexity:
|
46
50
|
Max: 8
|
51
|
+
Security/MarshalLoad:
|
52
|
+
Exclude:
|
53
|
+
- !ruby/regexp /test\/.*.rb$/
|
54
|
+
- lib/jekyll/regenerator.rb
|
55
|
+
Security/YAMLLoad:
|
56
|
+
Exclude:
|
57
|
+
- !ruby/regexp /features\/.*.rb/
|
58
|
+
- !ruby/regexp /test\/.*.rb$/
|
47
59
|
Style/Alias:
|
48
60
|
Enabled: false
|
49
61
|
Style/AlignArray:
|
@@ -127,5 +139,7 @@ Style/StringLiterals:
|
|
127
139
|
EnforcedStyle: double_quotes
|
128
140
|
Style/StringLiteralsInInterpolation:
|
129
141
|
EnforcedStyle: double_quotes
|
142
|
+
Style/TrailingCommaInLiteral:
|
143
|
+
EnforcedStyleForMultiline: consistent_comma
|
130
144
|
Style/UnneededCapitalW:
|
131
145
|
Enabled: false
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2008-
|
3
|
+
Copyright (c) 2008-2017 Tom Preston-Werner and Jekyll contributors
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.markdown
CHANGED
@@ -43,8 +43,7 @@ conduct.
|
|
43
43
|
Please adhere to this code of conduct in any interactions you have in the
|
44
44
|
Jekyll community. It is strictly enforced on all official Jekyll
|
45
45
|
repositories, websites, and resources. If you encounter someone violating
|
46
|
-
these terms, please let a maintainer ([@parkr](https://github.com/parkr), [@envygeeks](https://github.com/envygeeks),
|
47
|
-
and we will address it as soon as possible.
|
46
|
+
these terms, please let a maintainer ([@parkr](https://github.com/parkr), [@envygeeks](https://github.com/envygeeks), [@mattr-](https://github.com/mattr-), or [@alfredxing](https://github.com/alfredxing)) know and we will address it as soon as possible.
|
48
47
|
|
49
48
|
## Diving In
|
50
49
|
|
data/lib/jekyll.rb
CHANGED
@@ -119,7 +119,11 @@ module Jekyll
|
|
119
119
|
# Returns nothing
|
120
120
|
# rubocop:disable Style/AccessorMethodName
|
121
121
|
def set_timezone(timezone)
|
122
|
-
ENV["TZ"] =
|
122
|
+
ENV["TZ"] = if Utils::Platforms.really_windows?
|
123
|
+
Utils::WinTZ.calculate(timezone)
|
124
|
+
else
|
125
|
+
timezone
|
126
|
+
end
|
123
127
|
end
|
124
128
|
# rubocop:enable Style/AccessorMethodName
|
125
129
|
|
data/lib/jekyll/collection.rb
CHANGED
@@ -32,8 +32,8 @@ module Jekyll
|
|
32
32
|
# Override of method_missing to check in @data for the key.
|
33
33
|
def method_missing(method, *args, &blck)
|
34
34
|
if docs.respond_to?(method.to_sym)
|
35
|
-
Jekyll.logger.warn "Deprecation:",
|
36
|
-
"#{label}.docs.#{method}."
|
35
|
+
Jekyll.logger.warn "Deprecation:",
|
36
|
+
"#{label}.#{method} should be changed to #{label}.docs.#{method}."
|
37
37
|
Jekyll.logger.warn "", "Called by #{caller.first}."
|
38
38
|
docs.public_send(method.to_sym, *args, &blck)
|
39
39
|
else
|
@@ -197,6 +197,7 @@ module Jekyll
|
|
197
197
|
end
|
198
198
|
|
199
199
|
private
|
200
|
+
|
200
201
|
def read_document(full_path)
|
201
202
|
doc = Jekyll::Document.new(full_path, :site => site, :collection => self)
|
202
203
|
doc.read
|
@@ -208,14 +209,20 @@ module Jekyll
|
|
208
209
|
end
|
209
210
|
|
210
211
|
private
|
212
|
+
|
211
213
|
def read_static_file(file_path, full_path)
|
212
214
|
relative_dir = Jekyll.sanitized_path(
|
213
215
|
relative_directory,
|
214
216
|
File.dirname(file_path)
|
215
217
|
).chomp("/.")
|
216
218
|
|
217
|
-
files << StaticFile.new(
|
218
|
-
|
219
|
+
files << StaticFile.new(
|
220
|
+
site,
|
221
|
+
site.source,
|
222
|
+
relative_dir,
|
223
|
+
File.basename(full_path),
|
224
|
+
self
|
225
|
+
)
|
219
226
|
end
|
220
227
|
end
|
221
228
|
end
|
data/lib/jekyll/commands/new.rb
CHANGED
@@ -84,6 +84,10 @@ gem "minima", "~> 2.0"
|
|
84
84
|
group :jekyll_plugins do
|
85
85
|
gem "jekyll-feed", "~> 0.6"
|
86
86
|
end
|
87
|
+
|
88
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
89
|
+
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
90
|
+
|
87
91
|
RUBY
|
88
92
|
end
|
89
93
|
|
@@ -121,23 +125,23 @@ RUBY
|
|
121
125
|
# unless the user opts to generate a blank blog or skip 'bundle install'.
|
122
126
|
|
123
127
|
def after_install(path, options = {})
|
124
|
-
Jekyll.logger.info "New jekyll site installed in #{path.cyan}."
|
125
|
-
Jekyll.logger.info "Bundle install skipped." if options["skip-bundle"]
|
126
|
-
|
127
128
|
unless options["blank"] || options["skip-bundle"]
|
128
129
|
bundle_install path
|
129
130
|
end
|
131
|
+
|
132
|
+
Jekyll.logger.info "New jekyll site installed in #{path.cyan}."
|
133
|
+
Jekyll.logger.info "Bundle install skipped." if options["skip-bundle"]
|
130
134
|
end
|
131
135
|
|
132
136
|
def bundle_install(path)
|
133
137
|
Jekyll::External.require_with_graceful_fail "bundler"
|
134
138
|
Jekyll.logger.info "Running bundle install in #{path.cyan}..."
|
135
139
|
Dir.chdir(path) do
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
system("bundle", "install")
|
140
|
+
process, output = Jekyll::Utils::Exec.run("bundle", "install")
|
141
|
+
output.to_s.each_line do |line|
|
142
|
+
Jekyll.logger.info("Bundler:".green, line.strip) unless line.to_s.empty?
|
140
143
|
end
|
144
|
+
raise SystemExit unless process.success?
|
141
145
|
end
|
142
146
|
end
|
143
147
|
end
|
@@ -10,9 +10,9 @@ module Jekyll
|
|
10
10
|
"ssl_key" => ["--ssl-key [KEY]", "X.509 (SSL) Private Key."],
|
11
11
|
"port" => ["-P", "--port [PORT]", "Port to listen on"],
|
12
12
|
"show_dir_listing" => ["--show-dir-listing",
|
13
|
-
"Show a directory listing instead of loading your index file."],
|
13
|
+
"Show a directory listing instead of loading your index file.",],
|
14
14
|
"skip_initial_build" => ["skip_initial_build", "--skip-initial-build",
|
15
|
-
"Skips the initial site build which occurs before the server is started."]
|
15
|
+
"Skips the initial site build which occurs before the server is started.",],
|
16
16
|
}.freeze
|
17
17
|
|
18
18
|
#
|
@@ -88,7 +88,7 @@ module Jekyll
|
|
88
88
|
index.rhtml
|
89
89
|
index.cgi
|
90
90
|
index.xml
|
91
|
-
)
|
91
|
+
),
|
92
92
|
}
|
93
93
|
|
94
94
|
opts[:DirectoryIndex] = [] if opts[:JekyllOptions]["show_dir_listing"]
|
@@ -116,8 +116,8 @@ module Jekyll
|
|
116
116
|
WEBrick::Config::FileHandler.merge({
|
117
117
|
:FancyIndexing => true,
|
118
118
|
:NondisclosureName => [
|
119
|
-
".ht*", "~*"
|
120
|
-
]
|
119
|
+
".ht*", "~*",
|
120
|
+
],
|
121
121
|
})
|
122
122
|
end
|
123
123
|
|
@@ -139,7 +139,7 @@ module Jekyll
|
|
139
139
|
:prefix => ssl_enabled ? "https" : "http",
|
140
140
|
:address => address,
|
141
141
|
:port => port,
|
142
|
-
:baseurl => baseurl ? "#{baseurl}/" : ""
|
142
|
+
:baseurl => baseurl ? "#{baseurl}/" : "",
|
143
143
|
})
|
144
144
|
end
|
145
145
|
|
@@ -6,7 +6,7 @@ module Jekyll
|
|
6
6
|
class Servlet < WEBrick::HTTPServlet::FileHandler
|
7
7
|
DEFAULTS = {
|
8
8
|
"Cache-Control" => "private, max-age=0, proxy-revalidate, " \
|
9
|
-
"no-store, no-cache, must-revalidate"
|
9
|
+
"no-store, no-cache, must-revalidate",
|
10
10
|
}.freeze
|
11
11
|
|
12
12
|
def initialize(server, root, callbacks)
|
data/lib/jekyll/configuration.rb
CHANGED
@@ -58,15 +58,15 @@ module Jekyll
|
|
58
58
|
"defaults" => [],
|
59
59
|
|
60
60
|
"liquid" => {
|
61
|
-
"error_mode" => "warn"
|
61
|
+
"error_mode" => "warn",
|
62
62
|
},
|
63
63
|
|
64
64
|
"rdiscount" => {
|
65
|
-
"extensions" => []
|
65
|
+
"extensions" => [],
|
66
66
|
},
|
67
67
|
|
68
68
|
"redcarpet" => {
|
69
|
-
"extensions" => []
|
69
|
+
"extensions" => [],
|
70
70
|
},
|
71
71
|
|
72
72
|
"kramdown" => {
|
@@ -76,8 +76,8 @@ module Jekyll
|
|
76
76
|
"smart_quotes" => "lsquo,rsquo,ldquo,rdquo",
|
77
77
|
"input" => "GFM",
|
78
78
|
"hard_wrap" => false,
|
79
|
-
"footnote_nr" => 1
|
80
|
-
}
|
79
|
+
"footnote_nr" => 1,
|
80
|
+
},
|
81
81
|
}.map { |k, v| [k, v.freeze] }].freeze
|
82
82
|
|
83
83
|
class << self
|
data/lib/jekyll/document.rb
CHANGED
@@ -9,7 +9,7 @@ module Jekyll
|
|
9
9
|
|
10
10
|
YAML_FRONT_MATTER_REGEXP = %r!\A(---\s*\n.*?\n?)^((---|\.\.\.)\s*$\n?)!m
|
11
11
|
DATELESS_FILENAME_MATCHER = %r!^(?:.+/)*(.*)(\.[^.]+)$!
|
12
|
-
DATE_FILENAME_MATCHER = %r!^(?:.+/)*(\d
|
12
|
+
DATE_FILENAME_MATCHER = %r!^(?:.+/)*(\d{4}-\d{2}-\d{2})-(.*)(\.[^.]+)$!
|
13
13
|
|
14
14
|
# Create a new Document.
|
15
15
|
#
|
@@ -196,7 +196,7 @@ module Jekyll
|
|
196
196
|
@url = URL.new({
|
197
197
|
:template => url_template,
|
198
198
|
:placeholders => url_placeholders,
|
199
|
-
:permalink => permalink
|
199
|
+
:permalink => permalink,
|
200
200
|
}).to_s
|
201
201
|
end
|
202
202
|
|
@@ -469,14 +469,14 @@ module Jekyll
|
|
469
469
|
"category",
|
470
470
|
"categories"
|
471
471
|
)
|
472
|
-
).map(&:to_s).flatten.uniq
|
472
|
+
).map(&:to_s).flatten.uniq,
|
473
473
|
})
|
474
474
|
end
|
475
475
|
|
476
476
|
private
|
477
477
|
def populate_tags
|
478
478
|
merge_data!({
|
479
|
-
"tags" => Utils.pluralized_array_from_hash(data, "tag", "tags").flatten
|
479
|
+
"tags" => Utils.pluralized_array_from_hash(data, "tag", "tags").flatten,
|
480
480
|
})
|
481
481
|
end
|
482
482
|
|
data/lib/jekyll/entry_filter.rb
CHANGED
data/lib/jekyll/excerpt.rb
CHANGED
data/lib/jekyll/external.rb
CHANGED
@@ -48,7 +48,7 @@ In order to use Jekyll as currently configured, you'll need to install this gem.
|
|
48
48
|
|
49
49
|
The full error message from Ruby is: '#{e.message}'
|
50
50
|
|
51
|
-
If you run into trouble, you can find helpful resources at
|
51
|
+
If you run into trouble, you can find helpful resources at https://jekyllrb.com/help/!
|
52
52
|
MSG
|
53
53
|
raise Jekyll::Errors::MissingDependencyException, name
|
54
54
|
end
|
data/lib/jekyll/filters.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require "uri"
|
1
|
+
require "addressable/uri"
|
2
2
|
require "json"
|
3
3
|
require "date"
|
4
4
|
require "liquid"
|
@@ -8,6 +8,8 @@ require_all "jekyll/filters"
|
|
8
8
|
module Jekyll
|
9
9
|
module Filters
|
10
10
|
include URLFilters
|
11
|
+
include GroupingFilters
|
12
|
+
|
11
13
|
# Convert a Markdown string into HTML output.
|
12
14
|
#
|
13
15
|
# input - The Markdown String to convert.
|
@@ -150,7 +152,7 @@ module Jekyll
|
|
150
152
|
#
|
151
153
|
# Returns the escaped String.
|
152
154
|
def uri_escape(input)
|
153
|
-
URI.
|
155
|
+
Addressable::URI.encode(input)
|
154
156
|
end
|
155
157
|
|
156
158
|
# Replace any whitespace in the input string with a single space
|
@@ -175,6 +177,7 @@ module Jekyll
|
|
175
177
|
# word "and" for the last one.
|
176
178
|
#
|
177
179
|
# array - The Array of Strings to join.
|
180
|
+
# connector - Word used to connect the last 2 items in the array
|
178
181
|
#
|
179
182
|
# Examples
|
180
183
|
#
|
@@ -182,8 +185,7 @@ module Jekyll
|
|
182
185
|
# # => "apples, oranges, and grapes"
|
183
186
|
#
|
184
187
|
# Returns the formatted String.
|
185
|
-
def array_to_sentence_string(array)
|
186
|
-
connector = "and"
|
188
|
+
def array_to_sentence_string(array, connector = "and")
|
187
189
|
case array.length
|
188
190
|
when 0
|
189
191
|
""
|
@@ -205,29 +207,6 @@ module Jekyll
|
|
205
207
|
as_liquid(input).to_json
|
206
208
|
end
|
207
209
|
|
208
|
-
# Group an array of items by a property
|
209
|
-
#
|
210
|
-
# input - the inputted Enumerable
|
211
|
-
# property - the property
|
212
|
-
#
|
213
|
-
# Returns an array of Hashes, each looking something like this:
|
214
|
-
# {"name" => "larry"
|
215
|
-
# "items" => [...] } # all the items where `property` == "larry"
|
216
|
-
def group_by(input, property)
|
217
|
-
if groupable?(input)
|
218
|
-
input.group_by { |item| item_property(item, property).to_s }
|
219
|
-
.each_with_object([]) do |item, array|
|
220
|
-
array << {
|
221
|
-
"name" => item.first,
|
222
|
-
"items" => item.last,
|
223
|
-
"size" => item.last.size
|
224
|
-
}
|
225
|
-
end
|
226
|
-
else
|
227
|
-
input
|
228
|
-
end
|
229
|
-
end
|
230
|
-
|
231
210
|
# Filter an array of objects
|
232
211
|
#
|
233
212
|
# input - the object array
|
@@ -381,11 +360,6 @@ module Jekyll
|
|
381
360
|
end.localtime
|
382
361
|
end
|
383
362
|
|
384
|
-
private
|
385
|
-
def groupable?(element)
|
386
|
-
element.respond_to?(:group_by)
|
387
|
-
end
|
388
|
-
|
389
363
|
private
|
390
364
|
def item_property(item, property)
|
391
365
|
if item.respond_to?(:to_liquid)
|
@@ -436,6 +410,7 @@ module Jekyll
|
|
436
410
|
|
437
411
|
condition
|
438
412
|
end
|
413
|
+
|
439
414
|
end
|
440
415
|
end
|
441
416
|
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module Filters
|
3
|
+
module GroupingFilters
|
4
|
+
# Group an array of items by a property
|
5
|
+
#
|
6
|
+
# input - the inputted Enumerable
|
7
|
+
# property - the property
|
8
|
+
#
|
9
|
+
# Returns an array of Hashes, each looking something like this:
|
10
|
+
# {"name" => "larry"
|
11
|
+
# "items" => [...] } # all the items where `property` == "larry"
|
12
|
+
def group_by(input, property)
|
13
|
+
if groupable?(input)
|
14
|
+
groups = input.group_by { |item| item_property(item, property).to_s }
|
15
|
+
grouped_array(groups)
|
16
|
+
else
|
17
|
+
input
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
# Group an array of items by an expression
|
22
|
+
#
|
23
|
+
# input - the object array
|
24
|
+
# variable - the variable to assign each item to in the expression
|
25
|
+
# expression -a Liquid comparison expression passed in as a string
|
26
|
+
#
|
27
|
+
# Returns the filtered array of objects
|
28
|
+
def group_by_exp(input, variable, expression)
|
29
|
+
return input unless groupable?(input)
|
30
|
+
|
31
|
+
parsed_expr = parse_expression(expression)
|
32
|
+
@context.stack do
|
33
|
+
groups = input.group_by do |item|
|
34
|
+
@context[variable] = item
|
35
|
+
parsed_expr.render(@context)
|
36
|
+
end
|
37
|
+
grouped_array(groups)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
def parse_expression(str)
|
43
|
+
Liquid::Variable.new(str, {})
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
def groupable?(element)
|
48
|
+
element.respond_to?(:group_by)
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
def grouped_array(groups)
|
53
|
+
groups.each_with_object([]) do |item, array|
|
54
|
+
array << {
|
55
|
+
"name" => item.first,
|
56
|
+
"items" => item.last,
|
57
|
+
"size" => item.last.size,
|
58
|
+
}
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
data/lib/jekyll/hooks.rb
CHANGED
@@ -6,7 +6,7 @@ module Jekyll
|
|
6
6
|
PRIORITY_MAP = {
|
7
7
|
:low => 10,
|
8
8
|
:normal => 20,
|
9
|
-
:high => 30
|
9
|
+
:high => 30,
|
10
10
|
}.freeze
|
11
11
|
|
12
12
|
# initial empty hooks
|
@@ -17,26 +17,26 @@ module Jekyll
|
|
17
17
|
:post_read => [],
|
18
18
|
:pre_render => [],
|
19
19
|
:post_render => [],
|
20
|
-
:post_write => []
|
20
|
+
:post_write => [],
|
21
21
|
},
|
22
22
|
:pages => {
|
23
23
|
:post_init => [],
|
24
24
|
:pre_render => [],
|
25
25
|
:post_render => [],
|
26
|
-
:post_write => []
|
26
|
+
:post_write => [],
|
27
27
|
},
|
28
28
|
:posts => {
|
29
29
|
:post_init => [],
|
30
30
|
:pre_render => [],
|
31
31
|
:post_render => [],
|
32
|
-
:post_write => []
|
32
|
+
:post_write => [],
|
33
33
|
},
|
34
34
|
:documents => {
|
35
35
|
:post_init => [],
|
36
36
|
:pre_render => [],
|
37
37
|
:post_render => [],
|
38
|
-
:post_write => []
|
39
|
-
}
|
38
|
+
:post_write => [],
|
39
|
+
},
|
40
40
|
}
|
41
41
|
|
42
42
|
# map of all hooks and their priorities
|
@@ -64,7 +64,7 @@ module Jekyll
|
|
64
64
|
:post_init => [],
|
65
65
|
:pre_render => [],
|
66
66
|
:post_render => [],
|
67
|
-
:post_write => []
|
67
|
+
:post_write => [],
|
68
68
|
}
|
69
69
|
|
70
70
|
unless @registry[owner][event]
|
data/lib/jekyll/log_adapter.rb
CHANGED
data/lib/jekyll/page.rb
CHANGED
@@ -58,7 +58,7 @@ module Jekyll
|
|
58
58
|
|
59
59
|
# The generated directory into which the page will be placed
|
60
60
|
# upon generation. This is derived from the permalink or, if
|
61
|
-
# permalink is absent,
|
61
|
+
# permalink is absent, will be '/'
|
62
62
|
#
|
63
63
|
# Returns the String destination directory.
|
64
64
|
def dir
|
@@ -98,7 +98,7 @@ module Jekyll
|
|
98
98
|
@url ||= URL.new({
|
99
99
|
:template => template,
|
100
100
|
:placeholders => url_placeholders,
|
101
|
-
:permalink => permalink
|
101
|
+
:permalink => permalink,
|
102
102
|
}).to_s
|
103
103
|
end
|
104
104
|
|
@@ -108,7 +108,7 @@ module Jekyll
|
|
108
108
|
{
|
109
109
|
:path => @dir,
|
110
110
|
:basename => basename,
|
111
|
-
:output_ext => output_ext
|
111
|
+
:output_ext => output_ext,
|
112
112
|
}
|
113
113
|
end
|
114
114
|
|
data/lib/jekyll/plugin.rb
CHANGED
data/lib/jekyll/reader.rb
CHANGED
@@ -71,7 +71,7 @@ module Jekyll
|
|
71
71
|
#
|
72
72
|
# Returns nothing.
|
73
73
|
def retrieve_dirs(_base, dir, dot_dirs)
|
74
|
-
dot_dirs.
|
74
|
+
dot_dirs.each do |file|
|
75
75
|
dir_path = site.in_source_dir(dir, file)
|
76
76
|
rel_path = File.join(dir, file)
|
77
77
|
unless @site.dest.sub(%r!/$!, "") == dir_path
|
@@ -7,20 +7,20 @@ module Jekyll
|
|
7
7
|
@entry_filter = EntryFilter.new(site)
|
8
8
|
end
|
9
9
|
|
10
|
-
# Read all the files in <
|
11
|
-
# object with each one.
|
10
|
+
# Read all the files in <dir> and adds them to @content
|
12
11
|
#
|
13
12
|
# dir - The String relative path of the directory to read.
|
14
13
|
#
|
15
|
-
# Returns
|
14
|
+
# Returns @content, a Hash of the .yaml, .yml,
|
15
|
+
# .json, and .csv files in the base directory
|
16
16
|
def read(dir)
|
17
17
|
base = site.in_source_dir(dir)
|
18
18
|
read_data_to(base, @content)
|
19
19
|
@content
|
20
20
|
end
|
21
21
|
|
22
|
-
# Read and parse all yaml
|
23
|
-
# <data> variable.
|
22
|
+
# Read and parse all .yaml, .yml, .json, and .csv
|
23
|
+
# files under <dir> and add them to the <data> variable.
|
24
24
|
#
|
25
25
|
# dir - The string absolute path of the directory to read.
|
26
26
|
# data - The variable to which data will be added.
|
@@ -54,7 +54,7 @@ module Jekyll
|
|
54
54
|
when ".csv"
|
55
55
|
CSV.read(path, {
|
56
56
|
:headers => true,
|
57
|
-
:encoding => site.config["encoding"]
|
57
|
+
:encoding => site.config["encoding"],
|
58
58
|
}).map(&:to_hash)
|
59
59
|
else
|
60
60
|
SafeYAML.load_file(path)
|
data/lib/jekyll/regenerator.rb
CHANGED
data/lib/jekyll/related_posts.rb
CHANGED
@@ -26,15 +26,15 @@ module Jekyll
|
|
26
26
|
def build_index
|
27
27
|
self.class.lsi ||= begin
|
28
28
|
lsi = ClassifierReborn::LSI.new(:auto_rebuild => false)
|
29
|
-
|
29
|
+
Jekyll.logger.info("Populating LSI...")
|
30
30
|
|
31
31
|
site.posts.docs.each do |x|
|
32
32
|
lsi.add_item(x)
|
33
33
|
end
|
34
34
|
|
35
|
-
|
35
|
+
Jekyll.logger.info("Rebuilding index...")
|
36
36
|
lsi.build_index
|
37
|
-
|
37
|
+
Jekyll.logger.info("")
|
38
38
|
lsi
|
39
39
|
end
|
40
40
|
end
|
@@ -46,11 +46,5 @@ module Jekyll
|
|
46
46
|
def most_recent_posts
|
47
47
|
@most_recent_posts ||= (site.posts.docs.reverse - [post]).first(10)
|
48
48
|
end
|
49
|
-
|
50
|
-
def display(output)
|
51
|
-
$stdout.print("\n")
|
52
|
-
$stdout.print(Jekyll.logger.formatted_topic(output))
|
53
|
-
$stdout.flush
|
54
|
-
end
|
55
49
|
end
|
56
50
|
end
|
data/lib/jekyll/site.rb
CHANGED
@@ -302,7 +302,7 @@ module Jekyll
|
|
302
302
|
Jekyll.logger.abort_with "Since v3.0, permalinks for pages" \
|
303
303
|
" in subfolders must be relative to the" \
|
304
304
|
" site source directory, not the parent" \
|
305
|
-
" directory. Check
|
305
|
+
" directory. Check https://jekyllrb.com/docs/upgrading/"\
|
306
306
|
" for more info."
|
307
307
|
end
|
308
308
|
end
|
@@ -435,7 +435,7 @@ module Jekyll
|
|
435
435
|
private
|
436
436
|
def configure_include_paths
|
437
437
|
@includes_load_paths = Array(in_source_dir(config["includes_dir"].to_s))
|
438
|
-
@includes_load_paths << theme.includes_path if
|
438
|
+
@includes_load_paths << theme.includes_path if theme && theme.includes_path
|
439
439
|
end
|
440
440
|
|
441
441
|
private
|
data/lib/jekyll/static_file.rb
CHANGED
@@ -101,7 +101,7 @@ module Jekyll
|
|
101
101
|
"name" => name,
|
102
102
|
"extname" => extname,
|
103
103
|
"modified_time" => modified_time,
|
104
|
-
"path" => File.join("", relative_path)
|
104
|
+
"path" => File.join("", relative_path),
|
105
105
|
}
|
106
106
|
end
|
107
107
|
|
@@ -112,7 +112,7 @@ module Jekyll
|
|
112
112
|
@collection.relative_directory.size..relative_path.size],
|
113
113
|
:output_ext => "",
|
114
114
|
:name => "",
|
115
|
-
:title => ""
|
115
|
+
:title => "",
|
116
116
|
}
|
117
117
|
end
|
118
118
|
|
@@ -125,7 +125,7 @@ module Jekyll
|
|
125
125
|
else
|
126
126
|
::Jekyll::URL.new({
|
127
127
|
:template => @collection.url_template,
|
128
|
-
:placeholders => placeholders
|
128
|
+
:placeholders => placeholders,
|
129
129
|
})
|
130
130
|
end.to_s.gsub(%r!/$!, "")
|
131
131
|
end
|
@@ -54,7 +54,7 @@ eos
|
|
54
54
|
[:hl_lines, opts.fetch(:hl_lines, nil)],
|
55
55
|
[:linenos, opts.fetch(:linenos, nil)],
|
56
56
|
[:encoding, opts.fetch(:encoding, "utf-8")],
|
57
|
-
[:cssclass, opts.fetch(:cssclass, nil)]
|
57
|
+
[:cssclass, opts.fetch(:cssclass, nil)],
|
58
58
|
].reject { |f| f.last.nil? }]
|
59
59
|
else
|
60
60
|
opts
|
@@ -125,7 +125,7 @@ eos
|
|
125
125
|
def add_code_tag(code)
|
126
126
|
code_attributes = [
|
127
127
|
"class=\"language-#{@lang.to_s.tr("+", "-")}\"",
|
128
|
-
"data-lang=\"#{@lang}\""
|
128
|
+
"data-lang=\"#{@lang}\"",
|
129
129
|
].join(" ")
|
130
130
|
"<figure class=\"highlight\"><pre><code #{code_attributes}>"\
|
131
131
|
"#{code.chomp}</code></pre></figure>"
|
data/lib/jekyll/tags/include.rb
CHANGED
@@ -112,8 +112,8 @@ eos
|
|
112
112
|
def locate_include_file(context, file, safe)
|
113
113
|
includes_dirs = tag_includes_dirs(context)
|
114
114
|
includes_dirs.each do |dir|
|
115
|
-
path = File.join(dir, file)
|
116
|
-
return path if valid_include_file?(path, dir, safe)
|
115
|
+
path = File.join(dir.to_s, file.to_s)
|
116
|
+
return path if valid_include_file?(path, dir.to_s, safe)
|
117
117
|
end
|
118
118
|
raise IOError, "Could not locate the included file '#{file}' in any of "\
|
119
119
|
"#{includes_dirs}. Ensure it exists in one of those directories and, "\
|
@@ -155,15 +155,19 @@ eos
|
|
155
155
|
if cached_partial.key?(path)
|
156
156
|
cached_partial[path]
|
157
157
|
else
|
158
|
-
|
158
|
+
unparsed_file = context.registers[:site]
|
159
159
|
.liquid_renderer
|
160
160
|
.file(path)
|
161
|
-
|
161
|
+
begin
|
162
|
+
cached_partial[path] = unparsed_file.parse(read_file(path, context))
|
163
|
+
rescue Liquid::SyntaxError => ex
|
164
|
+
raise IncludeTagError.new(ex.message, path)
|
165
|
+
end
|
162
166
|
end
|
163
167
|
end
|
164
168
|
|
165
169
|
def valid_include_file?(path, dir, safe)
|
166
|
-
!
|
170
|
+
!outside_site_source?(path, dir, safe) && File.file?(path)
|
167
171
|
end
|
168
172
|
|
169
173
|
def outside_site_source?(path, dir, safe)
|
data/lib/jekyll/tags/post_url.rb
CHANGED
@@ -14,8 +14,9 @@ module Jekyll
|
|
14
14
|
"'#{name}' does not contain valid date and/or title."
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
escaped_slug = Regexp.escape(slug)
|
18
|
+
@name_regex = %r!^_posts/#{path}#{date}-#{escaped_slug}\.[^.]+|
|
19
|
+
^#{path}_posts/?#{date}-#{escaped_slug}\.[^.]+!x
|
19
20
|
end
|
20
21
|
|
21
22
|
def post_date
|
data/lib/jekyll/theme_builder.rb
CHANGED
data/lib/jekyll/url.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require "uri"
|
1
|
+
require "addressable/uri"
|
2
2
|
|
3
3
|
# Public: Methods that generate a URL for a resource such as a Post or a Page.
|
4
4
|
#
|
@@ -145,7 +145,8 @@ module Jekyll
|
|
145
145
|
# pct-encoded = "%" HEXDIG HEXDIG
|
146
146
|
# sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
|
147
147
|
# / "*" / "+" / "," / ";" / "="
|
148
|
-
|
148
|
+
path = Addressable::URI.encode(path)
|
149
|
+
path.encode("utf-8").sub("#", "%23")
|
149
150
|
end
|
150
151
|
|
151
152
|
# Unescapes a URL path segment
|
@@ -159,7 +160,7 @@ module Jekyll
|
|
159
160
|
#
|
160
161
|
# Returns the unescaped path.
|
161
162
|
def self.unescape_path(path)
|
162
|
-
URI.
|
163
|
+
Addressable::URI.unencode(path.encode("utf-8"))
|
163
164
|
end
|
164
165
|
end
|
165
166
|
end
|
data/lib/jekyll/utils.rb
CHANGED
@@ -2,8 +2,10 @@
|
|
2
2
|
module Jekyll
|
3
3
|
module Utils
|
4
4
|
extend self
|
5
|
-
autoload :Platforms, "jekyll/utils/platforms"
|
6
5
|
autoload :Ansi, "jekyll/utils/ansi"
|
6
|
+
autoload :Exec, "jekyll/utils/exec"
|
7
|
+
autoload :Platforms, "jekyll/utils/platforms"
|
8
|
+
autoload :WinTZ, "jekyll/utils/win_tz"
|
7
9
|
|
8
10
|
# Constants for use in #slugify
|
9
11
|
SLUGIFY_MODES = %w(raw default pretty ascii).freeze
|
data/lib/jekyll/utils/ansi.rb
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
require "open3"
|
2
|
+
|
3
|
+
module Jekyll
|
4
|
+
module Utils
|
5
|
+
module Exec
|
6
|
+
extend self
|
7
|
+
|
8
|
+
# Runs a program in a sub-shell.
|
9
|
+
#
|
10
|
+
# *args - a list of strings containing the program name and arguments
|
11
|
+
#
|
12
|
+
# Returns a Process::Status and a String of output in an array in
|
13
|
+
# that order.
|
14
|
+
def run(*args)
|
15
|
+
stdin, stdout, stderr, process = Open3.popen3(*args)
|
16
|
+
out = stdout.read.strip
|
17
|
+
err = stderr.read.strip
|
18
|
+
|
19
|
+
[stdin, stdout, stderr].each(&:close)
|
20
|
+
[process.value, out + err]
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module Utils
|
3
|
+
module WinTZ
|
4
|
+
extend self
|
5
|
+
|
6
|
+
# Public: Calculate the Timezone for Windows when the config file has a defined
|
7
|
+
# 'timezone' key.
|
8
|
+
#
|
9
|
+
# timezone - the IANA Time Zone specified in "_config.yml"
|
10
|
+
#
|
11
|
+
# Returns a string that ultimately re-defines ENV["TZ"] in Windows
|
12
|
+
def calculate(timezone)
|
13
|
+
External.require_with_graceful_fail("tzinfo")
|
14
|
+
tz = TZInfo::Timezone.get(timezone)
|
15
|
+
difference = Time.now.to_i - tz.now.to_i
|
16
|
+
#
|
17
|
+
# POSIX style definition reverses the offset sign.
|
18
|
+
# e.g. Eastern Standard Time (EST) that is 5Hrs. to the 'west' of Prime Meridian
|
19
|
+
# is denoted as:
|
20
|
+
# EST+5 (or) EST+05:00
|
21
|
+
# Reference: http://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html
|
22
|
+
sign = difference < 0 ? "-" : "+"
|
23
|
+
offset = sign == "-" ? "+" : "-" unless difference.zero?
|
24
|
+
#
|
25
|
+
# convert the difference (in seconds) to hours, as a rational number, and perform
|
26
|
+
# a modulo operation on it.
|
27
|
+
modulo = modulo_of(rational_hour(difference))
|
28
|
+
#
|
29
|
+
# Format the hour as a two-digit number.
|
30
|
+
# Establish the minutes based on modulo expression.
|
31
|
+
hh = format("%02d", absolute_hour(difference).ceil)
|
32
|
+
mm = modulo.zero? ? "00" : "30"
|
33
|
+
|
34
|
+
Jekyll.logger.debug "Timezone:", "#{timezone} #{offset}#{hh}:#{mm}"
|
35
|
+
#
|
36
|
+
# Note: The 3-letter-word below doesn't have a particular significance.
|
37
|
+
"WTZ#{sign}#{hh}:#{mm}"
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
# Private: Convert given seconds to an hour as a rational number.
|
43
|
+
#
|
44
|
+
# seconds - supplied as an integer, it is converted to a rational number.
|
45
|
+
# 3600 - no. of seconds in an hour.
|
46
|
+
#
|
47
|
+
# Returns a rational number.
|
48
|
+
def rational_hour(seconds)
|
49
|
+
seconds.to_r/3600
|
50
|
+
end
|
51
|
+
|
52
|
+
# Private: Convert given seconds to an hour as an absolute number.
|
53
|
+
#
|
54
|
+
# seconds - supplied as an integer, it is converted to its absolute.
|
55
|
+
# 3600 - no. of seconds in an hour.
|
56
|
+
#
|
57
|
+
# Returns an integer.
|
58
|
+
def absolute_hour(seconds)
|
59
|
+
seconds.abs/3600
|
60
|
+
end
|
61
|
+
|
62
|
+
# Private: Perform a modulo operation on a given fraction.
|
63
|
+
#
|
64
|
+
# fraction - supplied as a rational number, its numerator is divided
|
65
|
+
# by its denominator and the remainder returned.
|
66
|
+
#
|
67
|
+
# Returns an integer.
|
68
|
+
def modulo_of(fraction)
|
69
|
+
fraction.numerator % fraction.denominator
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
data/lib/jekyll/version.rb
CHANGED
@@ -20,6 +20,6 @@ print_hi('Tom')
|
|
20
20
|
|
21
21
|
Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].
|
22
22
|
|
23
|
-
[jekyll-docs]:
|
23
|
+
[jekyll-docs]: https://jekyllrb.com/docs/home
|
24
24
|
[jekyll-gh]: https://github.com/jekyll/jekyll
|
25
25
|
[jekyll-talk]: https://talk.jekyllrb.com/
|
data/lib/site_template/about.md
CHANGED
@@ -4,7 +4,7 @@ title: About
|
|
4
4
|
permalink: /about/
|
5
5
|
---
|
6
6
|
|
7
|
-
This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](
|
7
|
+
This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/)
|
8
8
|
|
9
9
|
You can find the source code for the Jekyll new theme at:
|
10
10
|
{% include icon-github.html username="jekyll" %} /
|
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c)
|
3
|
+
Copyright (c) <%= Time.now.year %> <%= user_name %>
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -6,7 +6,7 @@ TODO: Delete this and the text above, and describe your gem
|
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
9
|
-
Add this line to your Jekyll site's Gemfile
|
9
|
+
Add this line to your Jekyll site's `Gemfile`:
|
10
10
|
|
11
11
|
```ruby
|
12
12
|
gem <%= theme_name.inspect %>
|
@@ -44,5 +44,5 @@ When your theme is released, only the files in `_layouts`, `_includes`, and `_sa
|
|
44
44
|
|
45
45
|
## License
|
46
46
|
|
47
|
-
The theme is available as open source under the terms of the [MIT License](
|
47
|
+
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
48
48
|
|
metadata
CHANGED
@@ -1,155 +1,155 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Preston-Werner
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: addressable
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.4'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.4'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: colorator
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: jekyll-sass-converter
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0
|
47
|
+
version: '1.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0
|
54
|
+
version: '1.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: jekyll-watch
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1.
|
61
|
+
version: '1.1'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '1.
|
68
|
+
version: '1.1'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: kramdown
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '1.
|
75
|
+
version: '1.3'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1.
|
82
|
+
version: '1.3'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: liquid
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '3.0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '3.0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: mercenary
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 0.3.3
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 0.3.3
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: pathutil
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
117
|
+
version: '0.9'
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
124
|
+
version: '0.9'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: rouge
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
131
|
+
version: '1.7'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
138
|
+
version: '1.7'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: safe_yaml
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
145
|
+
version: '1.0'
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
152
|
+
version: '1.0'
|
153
153
|
description: Jekyll is a simple, blog aware, static site generator.
|
154
154
|
email: tom@mojombo.com
|
155
155
|
executables:
|
@@ -199,6 +199,7 @@ files:
|
|
199
199
|
- lib/jekyll/excerpt.rb
|
200
200
|
- lib/jekyll/external.rb
|
201
201
|
- lib/jekyll/filters.rb
|
202
|
+
- lib/jekyll/filters/grouping_filters.rb
|
202
203
|
- lib/jekyll/filters/url_filters.rb
|
203
204
|
- lib/jekyll/frontmatter_defaults.rb
|
204
205
|
- lib/jekyll/generator.rb
|
@@ -237,7 +238,9 @@ files:
|
|
237
238
|
- lib/jekyll/url.rb
|
238
239
|
- lib/jekyll/utils.rb
|
239
240
|
- lib/jekyll/utils/ansi.rb
|
241
|
+
- lib/jekyll/utils/exec.rb
|
240
242
|
- lib/jekyll/utils/platforms.rb
|
243
|
+
- lib/jekyll/utils/win_tz.rb
|
241
244
|
- lib/jekyll/version.rb
|
242
245
|
- lib/site_template/.gitignore
|
243
246
|
- lib/site_template/_config.yml
|
@@ -278,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
278
281
|
version: '0'
|
279
282
|
requirements: []
|
280
283
|
rubyforge_project:
|
281
|
-
rubygems_version: 2.
|
284
|
+
rubygems_version: 2.6.10
|
282
285
|
signing_key:
|
283
286
|
specification_version: 2
|
284
287
|
summary: A simple, blog aware, static site generator.
|