jekyll 4.2.1 → 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/.rubocop.yml +474 -350
- data/LICENSE +21 -21
- data/README.markdown +83 -86
- data/exe/jekyll +57 -57
- data/lib/blank_template/_config.yml +3 -3
- data/lib/blank_template/_layouts/default.html +12 -12
- data/lib/blank_template/_sass/{main.scss → base.scss} +9 -9
- data/lib/blank_template/assets/css/main.scss +4 -4
- data/lib/blank_template/index.md +8 -8
- data/lib/jekyll/cache.rb +186 -190
- data/lib/jekyll/cleaner.rb +111 -111
- data/lib/jekyll/collection.rb +310 -309
- data/lib/jekyll/command.rb +105 -105
- data/lib/jekyll/commands/build.rb +82 -93
- data/lib/jekyll/commands/clean.rb +44 -45
- data/lib/jekyll/commands/doctor.rb +177 -177
- data/lib/jekyll/commands/help.rb +34 -34
- data/lib/jekyll/commands/new.rb +168 -169
- data/lib/jekyll/commands/new_theme.rb +39 -40
- data/lib/jekyll/commands/serve/live_reload_reactor.rb +119 -122
- data/lib/jekyll/commands/serve/livereload_assets/livereload.js +1183 -1183
- data/lib/jekyll/commands/serve/mime_types_charset.json +71 -0
- data/lib/jekyll/commands/serve/servlet.rb +206 -202
- data/lib/jekyll/commands/serve/websockets.rb +81 -81
- data/lib/jekyll/commands/serve.rb +367 -362
- data/lib/jekyll/configuration.rb +313 -313
- data/lib/jekyll/converter.rb +54 -54
- data/lib/jekyll/converters/identity.rb +41 -41
- data/lib/jekyll/converters/markdown/kramdown_parser.rb +197 -199
- data/lib/jekyll/converters/markdown.rb +113 -113
- data/lib/jekyll/converters/smartypants.rb +70 -70
- data/lib/jekyll/convertible.rb +257 -257
- data/lib/jekyll/deprecator.rb +50 -50
- data/lib/jekyll/document.rb +543 -544
- data/lib/jekyll/drops/collection_drop.rb +20 -20
- data/lib/jekyll/drops/document_drop.rb +74 -70
- data/lib/jekyll/drops/drop.rb +293 -293
- data/lib/jekyll/drops/excerpt_drop.rb +23 -19
- data/lib/jekyll/drops/jekyll_drop.rb +32 -32
- data/lib/jekyll/drops/site_drop.rb +66 -66
- data/lib/jekyll/drops/static_file_drop.rb +14 -14
- data/lib/jekyll/drops/theme_drop.rb +36 -0
- data/lib/jekyll/drops/unified_payload_drop.rb +30 -26
- data/lib/jekyll/drops/url_drop.rb +140 -140
- data/lib/jekyll/entry_filter.rb +117 -121
- data/lib/jekyll/errors.rb +20 -20
- data/lib/jekyll/excerpt.rb +200 -201
- data/lib/jekyll/external.rb +75 -79
- data/lib/jekyll/filters/date_filters.rb +110 -110
- data/lib/jekyll/filters/grouping_filters.rb +64 -64
- data/lib/jekyll/filters/url_filters.rb +98 -98
- data/lib/jekyll/filters.rb +532 -535
- data/lib/jekyll/frontmatter_defaults.rb +238 -240
- data/lib/jekyll/generator.rb +5 -5
- data/lib/jekyll/hooks.rb +107 -107
- data/lib/jekyll/inclusion.rb +32 -32
- data/lib/jekyll/layout.rb +55 -67
- data/lib/jekyll/liquid_extensions.rb +22 -22
- data/lib/jekyll/liquid_renderer/file.rb +77 -77
- data/lib/jekyll/liquid_renderer/table.rb +45 -55
- data/lib/jekyll/liquid_renderer.rb +80 -80
- data/lib/jekyll/log_adapter.rb +151 -151
- data/lib/jekyll/mime.types +939 -866
- data/lib/jekyll/page.rb +215 -217
- data/lib/jekyll/page_excerpt.rb +25 -25
- data/lib/jekyll/page_without_a_file.rb +14 -14
- data/lib/jekyll/path_manager.rb +74 -74
- data/lib/jekyll/plugin.rb +92 -92
- data/lib/jekyll/plugin_manager.rb +123 -115
- data/lib/jekyll/profiler.rb +51 -58
- data/lib/jekyll/publisher.rb +23 -23
- data/lib/jekyll/reader.rb +209 -192
- data/lib/jekyll/readers/collection_reader.rb +23 -23
- data/lib/jekyll/readers/data_reader.rb +113 -79
- data/lib/jekyll/readers/layout_reader.rb +62 -62
- data/lib/jekyll/readers/page_reader.rb +25 -25
- data/lib/jekyll/readers/post_reader.rb +85 -85
- data/lib/jekyll/readers/static_file_reader.rb +25 -25
- data/lib/jekyll/readers/theme_assets_reader.rb +52 -52
- data/lib/jekyll/regenerator.rb +195 -195
- data/lib/jekyll/related_posts.rb +52 -52
- data/lib/jekyll/renderer.rb +263 -265
- data/lib/jekyll/site.rb +576 -551
- data/lib/jekyll/static_file.rb +205 -208
- data/lib/jekyll/stevenson.rb +60 -60
- data/lib/jekyll/tags/highlight.rb +114 -110
- data/lib/jekyll/tags/include.rb +275 -275
- data/lib/jekyll/tags/link.rb +42 -42
- data/lib/jekyll/tags/post_url.rb +106 -106
- data/lib/jekyll/theme.rb +90 -86
- data/lib/jekyll/theme_builder.rb +121 -121
- data/lib/jekyll/url.rb +167 -167
- data/lib/jekyll/utils/ansi.rb +57 -57
- data/lib/jekyll/utils/exec.rb +26 -26
- data/lib/jekyll/utils/internet.rb +37 -37
- data/lib/jekyll/utils/platforms.rb +67 -67
- data/lib/jekyll/utils/thread_event.rb +31 -31
- data/lib/jekyll/utils/win_tz.rb +46 -75
- data/lib/jekyll/utils.rb +371 -367
- data/lib/jekyll/version.rb +5 -5
- data/lib/jekyll.rb +195 -195
- data/lib/site_template/.gitignore +5 -5
- data/lib/site_template/404.html +25 -25
- data/lib/site_template/_config.yml +55 -55
- data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +29 -29
- data/lib/site_template/about.markdown +18 -18
- data/lib/site_template/index.markdown +6 -6
- data/lib/theme_template/CODE_OF_CONDUCT.md.erb +74 -74
- data/lib/theme_template/Gemfile +4 -4
- data/lib/theme_template/LICENSE.txt.erb +21 -21
- data/lib/theme_template/README.md.erb +50 -52
- data/lib/theme_template/_layouts/default.html +1 -1
- data/lib/theme_template/_layouts/page.html +5 -5
- data/lib/theme_template/_layouts/post.html +5 -5
- data/lib/theme_template/example/_config.yml.erb +1 -1
- data/lib/theme_template/example/_post.md +12 -12
- data/lib/theme_template/example/index.html +14 -14
- data/lib/theme_template/example/style.scss +7 -7
- data/lib/theme_template/gitignore.erb +6 -6
- data/lib/theme_template/theme.gemspec.erb +16 -16
- data/rubocop/jekyll/assert_equal_literal_actual.rb +149 -149
- data/rubocop/jekyll/no_p_allowed.rb +23 -23
- data/rubocop/jekyll/no_puts_allowed.rb +23 -23
- data/rubocop/jekyll.rb +5 -5
- metadata +64 -18
|
@@ -1,149 +1,149 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module RuboCop
|
|
4
|
-
module Cop
|
|
5
|
-
module Jekyll
|
|
6
|
-
# Checks for `assert_equal(exp, act, msg = nil)` calls containing literal values as
|
|
7
|
-
# second argument. The second argument should ideally be a method called on the tested
|
|
8
|
-
# instance.
|
|
9
|
-
#
|
|
10
|
-
# @example
|
|
11
|
-
# # bad
|
|
12
|
-
# assert_equal @foo.bar, "foobar"
|
|
13
|
-
# assert_equal @alpha.beta, { "foo" => "bar", "lorem" => "ipsum" }
|
|
14
|
-
# assert_equal @alpha.omega, ["foobar", "lipsum"]
|
|
15
|
-
#
|
|
16
|
-
# # good
|
|
17
|
-
# assert_equal "foobar", @foo.bar
|
|
18
|
-
#
|
|
19
|
-
# assert_equal(
|
|
20
|
-
# { "foo" => "bar", "lorem" => "ipsum" },
|
|
21
|
-
# @alpha.beta
|
|
22
|
-
# )
|
|
23
|
-
#
|
|
24
|
-
# assert_equal(
|
|
25
|
-
# ["foobar", "lipsum"],
|
|
26
|
-
# @alpha.omega
|
|
27
|
-
# )
|
|
28
|
-
#
|
|
29
|
-
class AssertEqualLiteralActual < Cop
|
|
30
|
-
MSG = "Provide the 'expected value' as the first argument to `assert_equal`.".freeze
|
|
31
|
-
|
|
32
|
-
SIMPLE_LITERALS = %i(
|
|
33
|
-
true
|
|
34
|
-
false
|
|
35
|
-
nil
|
|
36
|
-
int
|
|
37
|
-
float
|
|
38
|
-
str
|
|
39
|
-
sym
|
|
40
|
-
complex
|
|
41
|
-
rational
|
|
42
|
-
regopt
|
|
43
|
-
).freeze
|
|
44
|
-
|
|
45
|
-
COMPLEX_LITERALS = %i(
|
|
46
|
-
array
|
|
47
|
-
hash
|
|
48
|
-
pair
|
|
49
|
-
irange
|
|
50
|
-
erange
|
|
51
|
-
regexp
|
|
52
|
-
).freeze
|
|
53
|
-
|
|
54
|
-
def_node_matcher :literal_actual?, <<-PATTERN
|
|
55
|
-
(send nil? :assert_equal $(send ...) $#literal?)
|
|
56
|
-
PATTERN
|
|
57
|
-
|
|
58
|
-
def_node_matcher :literal_actual_with_msg?, <<-PATTERN
|
|
59
|
-
(send nil? :assert_equal $(send ...) $#literal? $#opt_msg?)
|
|
60
|
-
PATTERN
|
|
61
|
-
|
|
62
|
-
def on_send(node)
|
|
63
|
-
return unless literal_actual?(node) || literal_actual_with_msg?(node)
|
|
64
|
-
add_offense(node, location: :expression)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def autocorrect(node)
|
|
68
|
-
lambda do |corrector|
|
|
69
|
-
corrector.replace(node.loc.expression, replacement(node))
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
private
|
|
74
|
-
|
|
75
|
-
def opt_msg?(node)
|
|
76
|
-
node&.source
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
# This is not implement using a NodePattern because it seems
|
|
80
|
-
# to not be able to match against an explicit (nil) sexp
|
|
81
|
-
def literal?(node)
|
|
82
|
-
node && (simple_literal?(node) || complex_literal?(node))
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def simple_literal?(node)
|
|
86
|
-
SIMPLE_LITERALS.include?(node.type)
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
def complex_literal?(node)
|
|
90
|
-
COMPLEX_LITERALS.include?(node.type) &&
|
|
91
|
-
node.each_child_node.all?(&method(:literal?))
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
def replacement(node)
|
|
95
|
-
_, _, first_param, second_param, optional_param = *node
|
|
96
|
-
|
|
97
|
-
replaced_text = \
|
|
98
|
-
if second_param.type == :hash
|
|
99
|
-
replace_hash_with_variable(first_param.source, second_param.source)
|
|
100
|
-
elsif second_param.type == :array && second_param.source != "[]"
|
|
101
|
-
replace_array_with_variable(first_param.source, second_param.source)
|
|
102
|
-
else
|
|
103
|
-
replace_based_on_line_length(first_param.source, second_param.source)
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
return "#{replaced_text}, #{optional_param.source}" if optional_param
|
|
107
|
-
replaced_text
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
def replace_based_on_line_length(first_expression, second_expression)
|
|
111
|
-
result = "assert_equal #{second_expression}, #{first_expression}"
|
|
112
|
-
return result if result.length < 80
|
|
113
|
-
|
|
114
|
-
# fold long lines independent of Rubocop configuration for better readability
|
|
115
|
-
<<~TEXT
|
|
116
|
-
assert_equal(
|
|
117
|
-
#{second_expression},
|
|
118
|
-
#{first_expression}
|
|
119
|
-
)
|
|
120
|
-
TEXT
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
def replace_hash_with_variable(first_expression, second_expression)
|
|
124
|
-
expect_expression = if second_expression.start_with?("{")
|
|
125
|
-
second_expression
|
|
126
|
-
else
|
|
127
|
-
"{#{second_expression}}"
|
|
128
|
-
end
|
|
129
|
-
<<~TEXT
|
|
130
|
-
expected = #{expect_expression}
|
|
131
|
-
assert_equal expected, #{first_expression}
|
|
132
|
-
TEXT
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
def replace_array_with_variable(first_expression, second_expression)
|
|
136
|
-
expect_expression = if second_expression.start_with?("%")
|
|
137
|
-
second_expression
|
|
138
|
-
else
|
|
139
|
-
Array(second_expression)
|
|
140
|
-
end
|
|
141
|
-
<<~TEXT
|
|
142
|
-
expected = #{expect_expression}
|
|
143
|
-
assert_equal expected, #{first_expression}
|
|
144
|
-
TEXT
|
|
145
|
-
end
|
|
146
|
-
end
|
|
147
|
-
end
|
|
148
|
-
end
|
|
149
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RuboCop
|
|
4
|
+
module Cop
|
|
5
|
+
module Jekyll
|
|
6
|
+
# Checks for `assert_equal(exp, act, msg = nil)` calls containing literal values as
|
|
7
|
+
# second argument. The second argument should ideally be a method called on the tested
|
|
8
|
+
# instance.
|
|
9
|
+
#
|
|
10
|
+
# @example
|
|
11
|
+
# # bad
|
|
12
|
+
# assert_equal @foo.bar, "foobar"
|
|
13
|
+
# assert_equal @alpha.beta, { "foo" => "bar", "lorem" => "ipsum" }
|
|
14
|
+
# assert_equal @alpha.omega, ["foobar", "lipsum"]
|
|
15
|
+
#
|
|
16
|
+
# # good
|
|
17
|
+
# assert_equal "foobar", @foo.bar
|
|
18
|
+
#
|
|
19
|
+
# assert_equal(
|
|
20
|
+
# { "foo" => "bar", "lorem" => "ipsum" },
|
|
21
|
+
# @alpha.beta
|
|
22
|
+
# )
|
|
23
|
+
#
|
|
24
|
+
# assert_equal(
|
|
25
|
+
# ["foobar", "lipsum"],
|
|
26
|
+
# @alpha.omega
|
|
27
|
+
# )
|
|
28
|
+
#
|
|
29
|
+
class AssertEqualLiteralActual < Cop
|
|
30
|
+
MSG = "Provide the 'expected value' as the first argument to `assert_equal`.".freeze
|
|
31
|
+
|
|
32
|
+
SIMPLE_LITERALS = %i(
|
|
33
|
+
true
|
|
34
|
+
false
|
|
35
|
+
nil
|
|
36
|
+
int
|
|
37
|
+
float
|
|
38
|
+
str
|
|
39
|
+
sym
|
|
40
|
+
complex
|
|
41
|
+
rational
|
|
42
|
+
regopt
|
|
43
|
+
).freeze
|
|
44
|
+
|
|
45
|
+
COMPLEX_LITERALS = %i(
|
|
46
|
+
array
|
|
47
|
+
hash
|
|
48
|
+
pair
|
|
49
|
+
irange
|
|
50
|
+
erange
|
|
51
|
+
regexp
|
|
52
|
+
).freeze
|
|
53
|
+
|
|
54
|
+
def_node_matcher :literal_actual?, <<-PATTERN
|
|
55
|
+
(send nil? :assert_equal $(send ...) $#literal?)
|
|
56
|
+
PATTERN
|
|
57
|
+
|
|
58
|
+
def_node_matcher :literal_actual_with_msg?, <<-PATTERN
|
|
59
|
+
(send nil? :assert_equal $(send ...) $#literal? $#opt_msg?)
|
|
60
|
+
PATTERN
|
|
61
|
+
|
|
62
|
+
def on_send(node)
|
|
63
|
+
return unless literal_actual?(node) || literal_actual_with_msg?(node)
|
|
64
|
+
add_offense(node, location: :expression)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def autocorrect(node)
|
|
68
|
+
lambda do |corrector|
|
|
69
|
+
corrector.replace(node.loc.expression, replacement(node))
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
private
|
|
74
|
+
|
|
75
|
+
def opt_msg?(node)
|
|
76
|
+
node&.source
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# This is not implement using a NodePattern because it seems
|
|
80
|
+
# to not be able to match against an explicit (nil) sexp
|
|
81
|
+
def literal?(node)
|
|
82
|
+
node && (simple_literal?(node) || complex_literal?(node))
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def simple_literal?(node)
|
|
86
|
+
SIMPLE_LITERALS.include?(node.type)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def complex_literal?(node)
|
|
90
|
+
COMPLEX_LITERALS.include?(node.type) &&
|
|
91
|
+
node.each_child_node.all?(&method(:literal?))
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def replacement(node)
|
|
95
|
+
_, _, first_param, second_param, optional_param = *node
|
|
96
|
+
|
|
97
|
+
replaced_text = \
|
|
98
|
+
if second_param.type == :hash
|
|
99
|
+
replace_hash_with_variable(first_param.source, second_param.source)
|
|
100
|
+
elsif second_param.type == :array && second_param.source != "[]"
|
|
101
|
+
replace_array_with_variable(first_param.source, second_param.source)
|
|
102
|
+
else
|
|
103
|
+
replace_based_on_line_length(first_param.source, second_param.source)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
return "#{replaced_text}, #{optional_param.source}" if optional_param
|
|
107
|
+
replaced_text
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def replace_based_on_line_length(first_expression, second_expression)
|
|
111
|
+
result = "assert_equal #{second_expression}, #{first_expression}"
|
|
112
|
+
return result if result.length < 80
|
|
113
|
+
|
|
114
|
+
# fold long lines independent of Rubocop configuration for better readability
|
|
115
|
+
<<~TEXT
|
|
116
|
+
assert_equal(
|
|
117
|
+
#{second_expression},
|
|
118
|
+
#{first_expression}
|
|
119
|
+
)
|
|
120
|
+
TEXT
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def replace_hash_with_variable(first_expression, second_expression)
|
|
124
|
+
expect_expression = if second_expression.start_with?("{")
|
|
125
|
+
second_expression
|
|
126
|
+
else
|
|
127
|
+
"{#{second_expression}}"
|
|
128
|
+
end
|
|
129
|
+
<<~TEXT
|
|
130
|
+
expected = #{expect_expression}
|
|
131
|
+
assert_equal expected, #{first_expression}
|
|
132
|
+
TEXT
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def replace_array_with_variable(first_expression, second_expression)
|
|
136
|
+
expect_expression = if second_expression.start_with?("%")
|
|
137
|
+
second_expression
|
|
138
|
+
else
|
|
139
|
+
Array(second_expression)
|
|
140
|
+
end
|
|
141
|
+
<<~TEXT
|
|
142
|
+
expected = #{expect_expression}
|
|
143
|
+
assert_equal expected, #{first_expression}
|
|
144
|
+
TEXT
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
end
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "rubocop"
|
|
4
|
-
|
|
5
|
-
module RuboCop
|
|
6
|
-
module Cop
|
|
7
|
-
module Jekyll
|
|
8
|
-
class NoPAllowed < Cop
|
|
9
|
-
MSG = "Avoid using `p` to print things. Use `Jekyll.logger` instead.".freeze
|
|
10
|
-
|
|
11
|
-
def_node_search :p_called?, <<-PATTERN
|
|
12
|
-
(send _ :p _)
|
|
13
|
-
PATTERN
|
|
14
|
-
|
|
15
|
-
def on_send(node)
|
|
16
|
-
if p_called?(node)
|
|
17
|
-
add_offense(node, :location => :selector)
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rubocop"
|
|
4
|
+
|
|
5
|
+
module RuboCop
|
|
6
|
+
module Cop
|
|
7
|
+
module Jekyll
|
|
8
|
+
class NoPAllowed < Cop
|
|
9
|
+
MSG = "Avoid using `p` to print things. Use `Jekyll.logger` instead.".freeze
|
|
10
|
+
|
|
11
|
+
def_node_search :p_called?, <<-PATTERN
|
|
12
|
+
(send _ :p _)
|
|
13
|
+
PATTERN
|
|
14
|
+
|
|
15
|
+
def on_send(node)
|
|
16
|
+
if p_called?(node)
|
|
17
|
+
add_offense(node, :location => :selector)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "rubocop"
|
|
4
|
-
|
|
5
|
-
module RuboCop
|
|
6
|
-
module Cop
|
|
7
|
-
module Jekyll
|
|
8
|
-
class NoPutsAllowed < Cop
|
|
9
|
-
MSG = "Avoid using `puts` to print things. Use `Jekyll.logger` instead.".freeze
|
|
10
|
-
|
|
11
|
-
def_node_search :puts_called?, <<-PATTERN
|
|
12
|
-
(send nil? :puts _)
|
|
13
|
-
PATTERN
|
|
14
|
-
|
|
15
|
-
def on_send(node)
|
|
16
|
-
if puts_called?(node)
|
|
17
|
-
add_offense(node, :location => :selector)
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rubocop"
|
|
4
|
+
|
|
5
|
+
module RuboCop
|
|
6
|
+
module Cop
|
|
7
|
+
module Jekyll
|
|
8
|
+
class NoPutsAllowed < Cop
|
|
9
|
+
MSG = "Avoid using `puts` to print things. Use `Jekyll.logger` instead.".freeze
|
|
10
|
+
|
|
11
|
+
def_node_search :puts_called?, <<-PATTERN
|
|
12
|
+
(send nil? :puts _)
|
|
13
|
+
PATTERN
|
|
14
|
+
|
|
15
|
+
def on_send(node)
|
|
16
|
+
if puts_called?(node)
|
|
17
|
+
add_offense(node, :location => :selector)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
data/rubocop/jekyll.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
Dir[File.join(File.expand_path("jekyll", __dir__), "*.rb")].each do |ruby_file|
|
|
4
|
-
require ruby_file
|
|
5
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
Dir[File.join(File.expand_path("jekyll", __dir__), "*.rb")].each do |ruby_file|
|
|
4
|
+
require ruby_file
|
|
5
|
+
end
|
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.2
|
|
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
|
|
@@ -72,16 +72,22 @@ dependencies:
|
|
|
72
72
|
name: jekyll-sass-converter
|
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
|
74
74
|
requirements:
|
|
75
|
-
- - "
|
|
75
|
+
- - ">="
|
|
76
76
|
- !ruby/object:Gem::Version
|
|
77
77
|
version: '2.0'
|
|
78
|
+
- - "<"
|
|
79
|
+
- !ruby/object:Gem::Version
|
|
80
|
+
version: '4.0'
|
|
78
81
|
type: :runtime
|
|
79
82
|
prerelease: false
|
|
80
83
|
version_requirements: !ruby/object:Gem::Requirement
|
|
81
84
|
requirements:
|
|
82
|
-
- - "
|
|
85
|
+
- - ">="
|
|
83
86
|
- !ruby/object:Gem::Version
|
|
84
87
|
version: '2.0'
|
|
88
|
+
- - "<"
|
|
89
|
+
- !ruby/object:Gem::Version
|
|
90
|
+
version: '4.0'
|
|
85
91
|
- !ruby/object:Gem::Dependency
|
|
86
92
|
name: jekyll-watch
|
|
87
93
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -103,6 +109,9 @@ dependencies:
|
|
|
103
109
|
- - "~>"
|
|
104
110
|
- !ruby/object:Gem::Version
|
|
105
111
|
version: '2.3'
|
|
112
|
+
- - ">="
|
|
113
|
+
- !ruby/object:Gem::Version
|
|
114
|
+
version: 2.3.1
|
|
106
115
|
type: :runtime
|
|
107
116
|
prerelease: false
|
|
108
117
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -110,6 +119,9 @@ dependencies:
|
|
|
110
119
|
- - "~>"
|
|
111
120
|
- !ruby/object:Gem::Version
|
|
112
121
|
version: '2.3'
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: 2.3.1
|
|
113
125
|
- !ruby/object:Gem::Dependency
|
|
114
126
|
name: kramdown-parser-gfm
|
|
115
127
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -142,16 +154,22 @@ dependencies:
|
|
|
142
154
|
name: mercenary
|
|
143
155
|
requirement: !ruby/object:Gem::Requirement
|
|
144
156
|
requirements:
|
|
145
|
-
- - "
|
|
157
|
+
- - ">="
|
|
146
158
|
- !ruby/object:Gem::Version
|
|
147
|
-
version: 0.
|
|
159
|
+
version: 0.3.6
|
|
160
|
+
- - "<"
|
|
161
|
+
- !ruby/object:Gem::Version
|
|
162
|
+
version: '0.5'
|
|
148
163
|
type: :runtime
|
|
149
164
|
prerelease: false
|
|
150
165
|
version_requirements: !ruby/object:Gem::Requirement
|
|
151
166
|
requirements:
|
|
152
|
-
- - "
|
|
167
|
+
- - ">="
|
|
168
|
+
- !ruby/object:Gem::Version
|
|
169
|
+
version: 0.3.6
|
|
170
|
+
- - "<"
|
|
153
171
|
- !ruby/object:Gem::Version
|
|
154
|
-
version: 0.
|
|
172
|
+
version: '0.5'
|
|
155
173
|
- !ruby/object:Gem::Dependency
|
|
156
174
|
name: pathutil
|
|
157
175
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -170,16 +188,22 @@ dependencies:
|
|
|
170
188
|
name: rouge
|
|
171
189
|
requirement: !ruby/object:Gem::Requirement
|
|
172
190
|
requirements:
|
|
173
|
-
- - "
|
|
191
|
+
- - ">="
|
|
174
192
|
- !ruby/object:Gem::Version
|
|
175
193
|
version: '3.0'
|
|
194
|
+
- - "<"
|
|
195
|
+
- !ruby/object:Gem::Version
|
|
196
|
+
version: '5.0'
|
|
176
197
|
type: :runtime
|
|
177
198
|
prerelease: false
|
|
178
199
|
version_requirements: !ruby/object:Gem::Requirement
|
|
179
200
|
requirements:
|
|
180
|
-
- - "
|
|
201
|
+
- - ">="
|
|
181
202
|
- !ruby/object:Gem::Version
|
|
182
203
|
version: '3.0'
|
|
204
|
+
- - "<"
|
|
205
|
+
- !ruby/object:Gem::Version
|
|
206
|
+
version: '5.0'
|
|
183
207
|
- !ruby/object:Gem::Dependency
|
|
184
208
|
name: safe_yaml
|
|
185
209
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -196,18 +220,38 @@ dependencies:
|
|
|
196
220
|
version: '1.0'
|
|
197
221
|
- !ruby/object:Gem::Dependency
|
|
198
222
|
name: terminal-table
|
|
223
|
+
requirement: !ruby/object:Gem::Requirement
|
|
224
|
+
requirements:
|
|
225
|
+
- - ">="
|
|
226
|
+
- !ruby/object:Gem::Version
|
|
227
|
+
version: '1.8'
|
|
228
|
+
- - "<"
|
|
229
|
+
- !ruby/object:Gem::Version
|
|
230
|
+
version: '4.0'
|
|
231
|
+
type: :runtime
|
|
232
|
+
prerelease: false
|
|
233
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
234
|
+
requirements:
|
|
235
|
+
- - ">="
|
|
236
|
+
- !ruby/object:Gem::Version
|
|
237
|
+
version: '1.8'
|
|
238
|
+
- - "<"
|
|
239
|
+
- !ruby/object:Gem::Version
|
|
240
|
+
version: '4.0'
|
|
241
|
+
- !ruby/object:Gem::Dependency
|
|
242
|
+
name: webrick
|
|
199
243
|
requirement: !ruby/object:Gem::Requirement
|
|
200
244
|
requirements:
|
|
201
245
|
- - "~>"
|
|
202
246
|
- !ruby/object:Gem::Version
|
|
203
|
-
version: '
|
|
247
|
+
version: '1.7'
|
|
204
248
|
type: :runtime
|
|
205
249
|
prerelease: false
|
|
206
250
|
version_requirements: !ruby/object:Gem::Requirement
|
|
207
251
|
requirements:
|
|
208
252
|
- - "~>"
|
|
209
253
|
- !ruby/object:Gem::Version
|
|
210
|
-
version: '
|
|
254
|
+
version: '1.7'
|
|
211
255
|
description: Jekyll is a simple, blog aware, static site generator.
|
|
212
256
|
email:
|
|
213
257
|
- maintainers@jekyllrb.com
|
|
@@ -224,7 +268,7 @@ files:
|
|
|
224
268
|
- exe/jekyll
|
|
225
269
|
- lib/blank_template/_config.yml
|
|
226
270
|
- lib/blank_template/_layouts/default.html
|
|
227
|
-
- lib/blank_template/_sass/
|
|
271
|
+
- lib/blank_template/_sass/base.scss
|
|
228
272
|
- lib/blank_template/assets/css/main.scss
|
|
229
273
|
- lib/blank_template/index.md
|
|
230
274
|
- lib/jekyll.rb
|
|
@@ -241,6 +285,7 @@ files:
|
|
|
241
285
|
- lib/jekyll/commands/serve.rb
|
|
242
286
|
- lib/jekyll/commands/serve/live_reload_reactor.rb
|
|
243
287
|
- lib/jekyll/commands/serve/livereload_assets/livereload.js
|
|
288
|
+
- lib/jekyll/commands/serve/mime_types_charset.json
|
|
244
289
|
- lib/jekyll/commands/serve/servlet.rb
|
|
245
290
|
- lib/jekyll/commands/serve/websockets.rb
|
|
246
291
|
- lib/jekyll/configuration.rb
|
|
@@ -259,6 +304,7 @@ files:
|
|
|
259
304
|
- lib/jekyll/drops/jekyll_drop.rb
|
|
260
305
|
- lib/jekyll/drops/site_drop.rb
|
|
261
306
|
- lib/jekyll/drops/static_file_drop.rb
|
|
307
|
+
- lib/jekyll/drops/theme_drop.rb
|
|
262
308
|
- lib/jekyll/drops/unified_payload_drop.rb
|
|
263
309
|
- lib/jekyll/drops/url_drop.rb
|
|
264
310
|
- lib/jekyll/entry_filter.rb
|
|
@@ -348,7 +394,7 @@ metadata:
|
|
|
348
394
|
bug_tracker_uri: https://github.com/jekyll/jekyll/issues
|
|
349
395
|
changelog_uri: https://github.com/jekyll/jekyll/releases
|
|
350
396
|
homepage_uri: https://jekyllrb.com
|
|
351
|
-
post_install_message:
|
|
397
|
+
post_install_message:
|
|
352
398
|
rdoc_options:
|
|
353
399
|
- "--charset=UTF-8"
|
|
354
400
|
require_paths:
|
|
@@ -357,15 +403,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
357
403
|
requirements:
|
|
358
404
|
- - ">="
|
|
359
405
|
- !ruby/object:Gem::Version
|
|
360
|
-
version: 2.
|
|
406
|
+
version: 2.5.0
|
|
361
407
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
362
408
|
requirements:
|
|
363
409
|
- - ">="
|
|
364
410
|
- !ruby/object:Gem::Version
|
|
365
411
|
version: 2.7.0
|
|
366
412
|
requirements: []
|
|
367
|
-
rubygems_version: 3.
|
|
368
|
-
signing_key:
|
|
413
|
+
rubygems_version: 3.1.6
|
|
414
|
+
signing_key:
|
|
369
415
|
specification_version: 4
|
|
370
416
|
summary: A simple, blog aware, static site generator.
|
|
371
417
|
test_files: []
|