jekyll 4.2.1 → 4.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +474 -350
  3. data/LICENSE +21 -21
  4. data/README.markdown +83 -86
  5. data/exe/jekyll +57 -57
  6. data/lib/blank_template/_config.yml +3 -3
  7. data/lib/blank_template/_layouts/default.html +12 -12
  8. data/lib/blank_template/_sass/{main.scss → base.scss} +9 -9
  9. data/lib/blank_template/assets/css/main.scss +4 -4
  10. data/lib/blank_template/index.md +8 -8
  11. data/lib/jekyll/cache.rb +186 -190
  12. data/lib/jekyll/cleaner.rb +111 -111
  13. data/lib/jekyll/collection.rb +310 -309
  14. data/lib/jekyll/command.rb +105 -105
  15. data/lib/jekyll/commands/build.rb +82 -93
  16. data/lib/jekyll/commands/clean.rb +44 -45
  17. data/lib/jekyll/commands/doctor.rb +177 -177
  18. data/lib/jekyll/commands/help.rb +34 -34
  19. data/lib/jekyll/commands/new.rb +168 -169
  20. data/lib/jekyll/commands/new_theme.rb +39 -40
  21. data/lib/jekyll/commands/serve/live_reload_reactor.rb +119 -122
  22. data/lib/jekyll/commands/serve/livereload_assets/livereload.js +1183 -1183
  23. data/lib/jekyll/commands/serve/mime_types_charset.json +71 -0
  24. data/lib/jekyll/commands/serve/servlet.rb +206 -202
  25. data/lib/jekyll/commands/serve/websockets.rb +81 -81
  26. data/lib/jekyll/commands/serve.rb +367 -362
  27. data/lib/jekyll/configuration.rb +313 -313
  28. data/lib/jekyll/converter.rb +54 -54
  29. data/lib/jekyll/converters/identity.rb +41 -41
  30. data/lib/jekyll/converters/markdown/kramdown_parser.rb +197 -199
  31. data/lib/jekyll/converters/markdown.rb +113 -113
  32. data/lib/jekyll/converters/smartypants.rb +70 -70
  33. data/lib/jekyll/convertible.rb +257 -257
  34. data/lib/jekyll/deprecator.rb +50 -50
  35. data/lib/jekyll/document.rb +543 -544
  36. data/lib/jekyll/drops/collection_drop.rb +20 -20
  37. data/lib/jekyll/drops/document_drop.rb +74 -70
  38. data/lib/jekyll/drops/drop.rb +293 -293
  39. data/lib/jekyll/drops/excerpt_drop.rb +23 -19
  40. data/lib/jekyll/drops/jekyll_drop.rb +32 -32
  41. data/lib/jekyll/drops/site_drop.rb +66 -66
  42. data/lib/jekyll/drops/static_file_drop.rb +14 -14
  43. data/lib/jekyll/drops/theme_drop.rb +36 -0
  44. data/lib/jekyll/drops/unified_payload_drop.rb +30 -26
  45. data/lib/jekyll/drops/url_drop.rb +140 -140
  46. data/lib/jekyll/entry_filter.rb +117 -121
  47. data/lib/jekyll/errors.rb +20 -20
  48. data/lib/jekyll/excerpt.rb +200 -201
  49. data/lib/jekyll/external.rb +75 -79
  50. data/lib/jekyll/filters/date_filters.rb +110 -110
  51. data/lib/jekyll/filters/grouping_filters.rb +64 -64
  52. data/lib/jekyll/filters/url_filters.rb +98 -98
  53. data/lib/jekyll/filters.rb +532 -535
  54. data/lib/jekyll/frontmatter_defaults.rb +238 -240
  55. data/lib/jekyll/generator.rb +5 -5
  56. data/lib/jekyll/hooks.rb +107 -107
  57. data/lib/jekyll/inclusion.rb +32 -32
  58. data/lib/jekyll/layout.rb +55 -67
  59. data/lib/jekyll/liquid_extensions.rb +22 -22
  60. data/lib/jekyll/liquid_renderer/file.rb +77 -77
  61. data/lib/jekyll/liquid_renderer/table.rb +45 -55
  62. data/lib/jekyll/liquid_renderer.rb +80 -80
  63. data/lib/jekyll/log_adapter.rb +151 -151
  64. data/lib/jekyll/mime.types +939 -866
  65. data/lib/jekyll/page.rb +215 -217
  66. data/lib/jekyll/page_excerpt.rb +25 -25
  67. data/lib/jekyll/page_without_a_file.rb +14 -14
  68. data/lib/jekyll/path_manager.rb +74 -74
  69. data/lib/jekyll/plugin.rb +92 -92
  70. data/lib/jekyll/plugin_manager.rb +123 -115
  71. data/lib/jekyll/profiler.rb +51 -58
  72. data/lib/jekyll/publisher.rb +23 -23
  73. data/lib/jekyll/reader.rb +209 -192
  74. data/lib/jekyll/readers/collection_reader.rb +23 -23
  75. data/lib/jekyll/readers/data_reader.rb +113 -79
  76. data/lib/jekyll/readers/layout_reader.rb +62 -62
  77. data/lib/jekyll/readers/page_reader.rb +25 -25
  78. data/lib/jekyll/readers/post_reader.rb +85 -85
  79. data/lib/jekyll/readers/static_file_reader.rb +25 -25
  80. data/lib/jekyll/readers/theme_assets_reader.rb +52 -52
  81. data/lib/jekyll/regenerator.rb +195 -195
  82. data/lib/jekyll/related_posts.rb +52 -52
  83. data/lib/jekyll/renderer.rb +263 -265
  84. data/lib/jekyll/site.rb +576 -551
  85. data/lib/jekyll/static_file.rb +205 -208
  86. data/lib/jekyll/stevenson.rb +60 -60
  87. data/lib/jekyll/tags/highlight.rb +114 -110
  88. data/lib/jekyll/tags/include.rb +275 -275
  89. data/lib/jekyll/tags/link.rb +42 -42
  90. data/lib/jekyll/tags/post_url.rb +106 -106
  91. data/lib/jekyll/theme.rb +90 -86
  92. data/lib/jekyll/theme_builder.rb +121 -121
  93. data/lib/jekyll/url.rb +167 -167
  94. data/lib/jekyll/utils/ansi.rb +57 -57
  95. data/lib/jekyll/utils/exec.rb +26 -26
  96. data/lib/jekyll/utils/internet.rb +37 -37
  97. data/lib/jekyll/utils/platforms.rb +67 -67
  98. data/lib/jekyll/utils/thread_event.rb +31 -31
  99. data/lib/jekyll/utils/win_tz.rb +46 -75
  100. data/lib/jekyll/utils.rb +371 -367
  101. data/lib/jekyll/version.rb +5 -5
  102. data/lib/jekyll.rb +195 -195
  103. data/lib/site_template/.gitignore +5 -5
  104. data/lib/site_template/404.html +25 -25
  105. data/lib/site_template/_config.yml +55 -55
  106. data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +29 -29
  107. data/lib/site_template/about.markdown +18 -18
  108. data/lib/site_template/index.markdown +6 -6
  109. data/lib/theme_template/CODE_OF_CONDUCT.md.erb +74 -74
  110. data/lib/theme_template/Gemfile +4 -4
  111. data/lib/theme_template/LICENSE.txt.erb +21 -21
  112. data/lib/theme_template/README.md.erb +50 -52
  113. data/lib/theme_template/_layouts/default.html +1 -1
  114. data/lib/theme_template/_layouts/page.html +5 -5
  115. data/lib/theme_template/_layouts/post.html +5 -5
  116. data/lib/theme_template/example/_config.yml.erb +1 -1
  117. data/lib/theme_template/example/_post.md +12 -12
  118. data/lib/theme_template/example/index.html +14 -14
  119. data/lib/theme_template/example/style.scss +7 -7
  120. data/lib/theme_template/gitignore.erb +6 -6
  121. data/lib/theme_template/theme.gemspec.erb +16 -16
  122. data/rubocop/jekyll/assert_equal_literal_actual.rb +149 -149
  123. data/rubocop/jekyll/no_p_allowed.rb +23 -23
  124. data/rubocop/jekyll/no_puts_allowed.rb +23 -23
  125. data/rubocop/jekyll.rb +5 -5
  126. metadata +64 -18
data/.rubocop.yml CHANGED
@@ -1,350 +1,474 @@
1
- ---
2
- inherit_from: .rubocop_todo.yml
3
-
4
- require:
5
- - rubocop-performance
6
- - ./rubocop/jekyll
7
-
8
- Jekyll/NoPutsAllowed:
9
- Exclude:
10
- - rake/*.rake
11
-
12
- AllCops:
13
- SuggestExtensions: false
14
- TargetRubyVersion: 2.4
15
- Include:
16
- - lib/**/*.rb
17
- - test/**/*.rb
18
- Exclude:
19
- - bin/**/*
20
- - exe/**/*
21
- - benchmark/**/*
22
- - script/**/*
23
- - vendor/**/*
24
- - tmp/**/*
25
-
26
- Layout/BeginEndAlignment:
27
- Enabled: true
28
- Layout/EmptyComment:
29
- Enabled: false
30
- Layout/EmptyLinesAroundAttributeAccessor:
31
- Enabled: true
32
- Layout/EndAlignment:
33
- Severity: error
34
- Layout/HashAlignment:
35
- EnforcedHashRocketStyle: table
36
- Layout/IndentationWidth:
37
- Severity: error
38
- Layout/FirstArrayElementIndentation:
39
- EnforcedStyle: consistent
40
- Layout/FirstHashElementIndentation:
41
- EnforcedStyle: consistent
42
- Layout/LineLength:
43
- Exclude:
44
- - !ruby/regexp /features\/.*.rb/
45
- - Rakefile
46
- - rake/*.rake
47
- - Gemfile
48
- Max: 100
49
- Severity: warning
50
- Layout/MultilineMethodCallIndentation:
51
- EnforcedStyle: indented
52
- Layout/MultilineOperationIndentation:
53
- EnforcedStyle: indented
54
- Layout/SpaceAroundMethodCallOperator:
55
- Enabled: true
56
- Layout/SpaceInsideHashLiteralBraces:
57
- Enabled: true
58
- Exclude:
59
- - test/**/*.rb
60
-
61
- Lint/BinaryOperatorWithIdenticalOperands:
62
- Enabled: true
63
- Lint/ConstantDefinitionInBlock:
64
- Enabled: true
65
- Exclude:
66
- - test/**/*.rb
67
- Lint/DeprecatedOpenSSLConstant:
68
- Enabled: true
69
- Lint/DuplicateBranch:
70
- Enabled: true
71
- Lint/DuplicateElsifCondition:
72
- Enabled: true
73
- Lint/DuplicateRegexpCharacterClassElement:
74
- Enabled: true
75
- Lint/DuplicateRescueException:
76
- Enabled: true
77
- Lint/DuplicateRequire:
78
- Enabled: true
79
- Lint/EmptyBlock:
80
- Enabled: true
81
- Lint/EmptyClass:
82
- Enabled: true
83
- Lint/EmptyConditionalBody:
84
- Enabled: true
85
- Lint/EmptyFile:
86
- Enabled: true
87
- Lint/FloatComparison:
88
- Enabled: true
89
- Lint/HashCompareByIdentity:
90
- Enabled: true
91
- Lint/IdentityComparison:
92
- Enabled: true
93
- Lint/MissingSuper:
94
- Enabled: false
95
- Lint/MixedRegexpCaptureTypes:
96
- Enabled: false
97
- Lint/NestedPercentLiteral:
98
- Exclude:
99
- - test/test_site.rb
100
- Lint/NoReturnInBeginEndBlocks:
101
- Enabled: true
102
- Lint/OutOfRangeRegexpRef:
103
- Enabled: true
104
- Lint/RaiseException:
105
- Enabled: true
106
- Lint/RedundantSafeNavigation:
107
- Enabled: true
108
- Lint/SelfAssignment:
109
- Enabled: true
110
- Lint/StructNewOverride:
111
- Enabled: true
112
- Lint/ToEnumArguments:
113
- Enabled: false
114
- Lint/TopLevelReturnWithArgument:
115
- Enabled: true
116
- Lint/TrailingCommaInAttributeDeclaration:
117
- Enabled: true
118
- Lint/UnmodifiedReduceAccumulator:
119
- Enabled: true
120
- Lint/UnreachableCode:
121
- Severity: error
122
- Lint/UnreachableLoop:
123
- Enabled: true
124
- Lint/UselessMethodDefinition:
125
- Enabled: true
126
- Lint/UselessTimes:
127
- Enabled: true
128
- Lint/Void:
129
- Exclude:
130
- - lib/jekyll/site.rb
131
-
132
- Metrics/AbcSize:
133
- Max: 23
134
- Metrics/BlockLength:
135
- Exclude:
136
- - test/**/*.rb
137
- - lib/jekyll/configuration.rb
138
- - rake/*.rake
139
- Metrics/ClassLength:
140
- Exclude:
141
- - !ruby/regexp /features\/.*.rb$/
142
- - !ruby/regexp /test\/.*.rb$/
143
- - lib/jekyll/document.rb
144
- - lib/jekyll/site.rb
145
- - lib/jekyll/commands/serve.rb
146
- - lib/jekyll/configuration.rb
147
- Max: 240
148
- Metrics/CyclomaticComplexity:
149
- Exclude:
150
- - lib/jekyll/utils.rb
151
- - lib/jekyll/commands/serve.rb
152
- Max: 11
153
- Metrics/MethodLength:
154
- CountComments: false
155
- Max: 20
156
- Severity: error
157
- Metrics/ModuleLength:
158
- Max: 240
159
- Exclude:
160
- - lib/jekyll/filters.rb
161
- Metrics/ParameterLists:
162
- Max: 4
163
- Metrics/PerceivedComplexity:
164
- Max: 13
165
-
166
- Naming/FileName:
167
- Enabled: false
168
- Naming/HeredocDelimiterNaming:
169
- Exclude:
170
- - test/**/*.rb
171
- Naming/MemoizedInstanceVariableName:
172
- Exclude:
173
- - lib/jekyll/convertible.rb
174
- - lib/jekyll/drops/site_drop.rb
175
- - lib/jekyll/drops/unified_payload_drop.rb
176
- - lib/jekyll/page_without_a_file.rb
177
-
178
- Performance/AncestorsInclude:
179
- Enabled: false
180
- Performance/ArraySemiInfiniteRangeSlice:
181
- Enabled: true
182
- Performance/BigDecimalWithNumericArgument:
183
- Enabled: true
184
- Performance/BlockGivenWithExplicitBlock:
185
- Enabled: true
186
- Performance/ChainArrayAllocation:
187
- Enabled: true
188
- Performance/CollectionLiteralInLoop:
189
- Enabled: true
190
- Performance/ConstantRegexp:
191
- Enabled: true
192
- Performance/MethodObjectAsBlock:
193
- Enabled: true
194
- Performance/RedundantSortBlock:
195
- Enabled: true
196
- Performance/RedundantStringChars:
197
- Enabled: true
198
- Performance/ReverseFirst:
199
- Enabled: true
200
- Performance/SortReverse:
201
- Enabled: false
202
- Performance/Squeeze:
203
- Enabled: true
204
- Performance/StringInclude:
205
- Enabled: true
206
- Exclude:
207
- - lib/jekyll/utils/platforms.rb
208
- Performance/Sum:
209
- Enabled: true
210
-
211
- Security/MarshalLoad:
212
- Exclude:
213
- - !ruby/regexp /test\/.*.rb$/
214
- - lib/jekyll/regenerator.rb
215
- Security/YAMLLoad:
216
- Exclude:
217
- - !ruby/regexp /features\/.*.rb/
218
- - !ruby/regexp /test\/.*.rb$/
219
-
220
- Style/ArgumentsForwarding:
221
- Enabled: false
222
- Style/ArrayCoercion:
223
- Enabled: true
224
- Style/AccessModifierDeclarations:
225
- Enabled: false
226
- Style/AccessorGrouping:
227
- Enabled: false
228
- Style/Alias:
229
- EnforcedStyle: prefer_alias_method
230
- Style/AndOr:
231
- Severity: error
232
- Style/BisectedAttrAccessor:
233
- Enabled: true
234
- Style/CaseLikeIf:
235
- Enabled: true
236
- Style/ClassAndModuleChildren:
237
- Exclude:
238
- - test/**/*.rb
239
- Style/ClassEqualityComparison:
240
- Enabled: true
241
- Style/CollectionCompact:
242
- Enabled: true
243
- Style/CombinableLoops:
244
- Enabled: true
245
- Style/Documentation:
246
- Enabled: false
247
- Style/DocumentDynamicEvalDefinition:
248
- Enabled: true
249
- Style/DoubleNegation:
250
- Enabled: false
251
- Style/ExponentialNotation:
252
- Enabled: true
253
- Style/ExplicitBlockArgument:
254
- Enabled: false
255
- Style/FormatStringToken:
256
- Exclude:
257
- - lib/jekyll/utils/ansi.rb
258
- - lib/jekyll/liquid_renderer/table.rb
259
- - lib/jekyll/profiler.rb
260
- Style/FrozenStringLiteralComment:
261
- EnforcedStyle: always
262
- Style/GlobalStdStream:
263
- Enabled: true
264
- Style/GuardClause:
265
- Enabled: false
266
- Style/HashAsLastArrayItem:
267
- Enabled: true
268
- Style/HashEachMethods:
269
- Enabled: true
270
- Style/HashLikeCase:
271
- Enabled: true
272
- Style/HashSyntax:
273
- EnforcedStyle: hash_rockets
274
- Severity: error
275
- Style/HashTransformKeys:
276
- Enabled: false
277
- Style/HashTransformValues:
278
- Enabled: true
279
- Style/KeywordParametersOrder:
280
- Enabled: true
281
- Style/MixinUsage:
282
- Exclude:
283
- - test/helper.rb
284
- Style/ModuleFunction:
285
- Enabled: false
286
- Style/MultilineTernaryOperator:
287
- Severity: error
288
- Style/NegatedIfElseCondition:
289
- Enabled: true
290
- Style/NilLambda:
291
- Enabled: true
292
- Style/OptionalBooleanParameter:
293
- Enabled: true
294
- Style/PercentLiteralDelimiters:
295
- PreferredDelimiters:
296
- "%q": "{}"
297
- "%Q": "{}"
298
- "%r": "!!"
299
- "%s": "()"
300
- "%w": "()"
301
- "%W": "()"
302
- "%x": "()"
303
- Style/RedundantArgument:
304
- Enabled: true
305
- Style/RedundantAssignment:
306
- Enabled: true
307
- Style/RedundantBegin:
308
- Enabled: false
309
- Style/RedundantFetchBlock:
310
- Enabled: false
311
- Style/RedundantFileExtensionInRequire:
312
- Enabled: true
313
- Style/RedundantRegexpCharacterClass:
314
- Enabled: true
315
- Style/RedundantRegexpEscape:
316
- Enabled: true
317
- Style/RedundantSelfAssignment:
318
- Enabled: true
319
- Style/RegexpLiteral:
320
- EnforcedStyle: percent_r
321
- Style/RescueModifier:
322
- Enabled: false
323
- Style/SafeNavigation:
324
- Exclude:
325
- - lib/jekyll/document.rb
326
- Style/SignalException:
327
- EnforcedStyle: only_raise
328
- Style/SingleArgumentDig:
329
- Enabled: true
330
- Style/SlicingWithRange:
331
- Enabled: false
332
- Style/SoleNestedConditional:
333
- Enabled: true
334
- Style/StringLiterals:
335
- EnforcedStyle: double_quotes
336
- Style/StringConcatenation:
337
- Enabled: true
338
- Exclude:
339
- - lib/jekyll/commands/*.rb
340
- - test/**/*.rb
341
- Style/StringLiteralsInInterpolation:
342
- EnforcedStyle: double_quotes
343
- Style/SwapValues:
344
- Enabled: true
345
- Style/SymbolArray:
346
- EnforcedStyle: brackets
347
- Style/TrailingCommaInArrayLiteral:
348
- EnforcedStyleForMultiline: consistent_comma
349
- Style/TrailingCommaInHashLiteral:
350
- EnforcedStyleForMultiline: consistent_comma
1
+ ---
2
+ inherit_from: .rubocop_todo.yml
3
+
4
+ require:
5
+ - rubocop-minitest
6
+ - rubocop-performance
7
+ - rubocop-rake
8
+ - rubocop-rspec
9
+ - ./rubocop/jekyll
10
+
11
+ Jekyll/NoPutsAllowed:
12
+ Exclude:
13
+ - rake/*.rake
14
+
15
+ AllCops:
16
+ TargetRubyVersion: 2.7
17
+ Include:
18
+ - lib/**/*.rb
19
+ - test/**/*.rb
20
+ Exclude:
21
+ - bin/**/*
22
+ - exe/**/*
23
+ - benchmark/**/*
24
+ - script/**/*
25
+ - vendor/**/*
26
+ - tmp/**/*
27
+
28
+ Gemspec/DeprecatedAttributeAssignment:
29
+ Enabled: true
30
+ Gemspec/RequireMFA:
31
+ Enabled: false
32
+
33
+ Layout/BeginEndAlignment:
34
+ Enabled: true
35
+ Layout/EmptyComment:
36
+ Enabled: false
37
+ Layout/EmptyLinesAroundAttributeAccessor:
38
+ Enabled: true
39
+ Layout/EndAlignment:
40
+ Severity: error
41
+ Layout/FirstArrayElementIndentation:
42
+ EnforcedStyle: consistent
43
+ Layout/FirstHashElementIndentation:
44
+ EnforcedStyle: consistent
45
+ Layout/HashAlignment:
46
+ EnforcedHashRocketStyle: table
47
+ Layout/IndentationWidth:
48
+ Severity: error
49
+ Layout/LineContinuationLeadingSpace:
50
+ Enabled: true
51
+ Layout/LineContinuationSpacing:
52
+ Enabled: true
53
+ Layout/LineEndStringConcatenationIndentation:
54
+ Enabled: true
55
+ Layout/LineLength:
56
+ Exclude:
57
+ - !ruby/regexp /features\/.*.rb/
58
+ - Rakefile
59
+ - rake/*.rake
60
+ - Gemfile
61
+ Max: 100
62
+ Severity: warning
63
+ Layout/MultilineMethodCallIndentation:
64
+ EnforcedStyle: indented
65
+ Layout/MultilineOperationIndentation:
66
+ EnforcedStyle: indented
67
+ Layout/SpaceAroundMethodCallOperator:
68
+ Enabled: true
69
+ Layout/SpaceBeforeBrackets:
70
+ Enabled: true
71
+ Layout/SpaceInsideHashLiteralBraces:
72
+ Enabled: true
73
+ Exclude:
74
+ - test/**/*.rb
75
+
76
+ Lint/AmbiguousAssignment:
77
+ Enabled: true
78
+ Lint/AmbiguousOperatorPrecedence:
79
+ Enabled: true
80
+ Lint/AmbiguousRange:
81
+ Enabled: true
82
+ Lint/BinaryOperatorWithIdenticalOperands:
83
+ Enabled: true
84
+ Lint/ConstantDefinitionInBlock:
85
+ Enabled: true
86
+ Exclude:
87
+ - test/**/*.rb
88
+ Lint/ConstantOverwrittenInRescue:
89
+ Enabled: true
90
+ Lint/DeprecatedConstants:
91
+ Enabled: true
92
+ Lint/DeprecatedOpenSSLConstant:
93
+ Enabled: true
94
+ Lint/DuplicateBranch:
95
+ Enabled: true
96
+ Lint/DuplicateElsifCondition:
97
+ Enabled: true
98
+ Lint/DuplicateRegexpCharacterClassElement:
99
+ Enabled: true
100
+ Lint/DuplicateRequire:
101
+ Enabled: true
102
+ Lint/DuplicateRescueException:
103
+ Enabled: true
104
+ Lint/EmptyBlock:
105
+ Enabled: true
106
+ Lint/EmptyClass:
107
+ Enabled: true
108
+ Lint/EmptyConditionalBody:
109
+ Enabled: true
110
+ Lint/EmptyFile:
111
+ Enabled: true
112
+ Lint/FloatComparison:
113
+ Enabled: true
114
+ Lint/HashCompareByIdentity:
115
+ Enabled: true
116
+ Lint/IdentityComparison:
117
+ Enabled: true
118
+ Lint/LambdaWithoutLiteralBlock:
119
+ Enabled: true
120
+ Lint/MissingSuper:
121
+ Enabled: false
122
+ Lint/MixedRegexpCaptureTypes:
123
+ Enabled: false
124
+ Lint/NestedPercentLiteral:
125
+ Exclude:
126
+ - test/test_site.rb
127
+ Lint/NoReturnInBeginEndBlocks:
128
+ Enabled: true
129
+ Lint/NumberedParameterAssignment:
130
+ Enabled: true
131
+ Lint/OrAssignmentToConstant:
132
+ Enabled: true
133
+ Lint/OutOfRangeRegexpRef:
134
+ Enabled: true
135
+ Lint/RaiseException:
136
+ Enabled: true
137
+ Lint/RedundantDirGlobSort:
138
+ Enabled: true
139
+ Lint/RedundantSafeNavigation:
140
+ Enabled: true
141
+ Lint/RequireRangeParentheses:
142
+ Enabled: true
143
+ Lint/RequireRelativeSelfPath:
144
+ Enabled: true
145
+ Lint/SelfAssignment:
146
+ Enabled: true
147
+ Lint/StructNewOverride:
148
+ Enabled: true
149
+ Lint/SymbolConversion:
150
+ Enabled: true
151
+ Lint/ToEnumArguments:
152
+ Enabled: false
153
+ Lint/TopLevelReturnWithArgument:
154
+ Enabled: true
155
+ Lint/TrailingCommaInAttributeDeclaration:
156
+ Enabled: true
157
+ Lint/TripleQuotes:
158
+ Enabled: true
159
+ Lint/UnexpectedBlockArity:
160
+ Enabled: true
161
+ Lint/UnmodifiedReduceAccumulator:
162
+ Enabled: true
163
+ Lint/UnreachableCode:
164
+ Severity: error
165
+ Lint/UnreachableLoop:
166
+ Enabled: true
167
+ Lint/UselessMethodDefinition:
168
+ Enabled: true
169
+ Lint/UselessTimes:
170
+ Enabled: true
171
+ Lint/Void:
172
+ Exclude:
173
+ - lib/jekyll/site.rb
174
+
175
+ Metrics/AbcSize:
176
+ Max: 23
177
+ Metrics/BlockLength:
178
+ Exclude:
179
+ - test/**/*.rb
180
+ - lib/jekyll/configuration.rb
181
+ - rake/*.rake
182
+ Metrics/ClassLength:
183
+ Exclude:
184
+ - !ruby/regexp /features\/.*.rb$/
185
+ - !ruby/regexp /test\/.*.rb$/
186
+ - lib/jekyll/document.rb
187
+ - lib/jekyll/site.rb
188
+ - lib/jekyll/commands/serve.rb
189
+ - lib/jekyll/configuration.rb
190
+ Max: 240
191
+ Metrics/CyclomaticComplexity:
192
+ Exclude:
193
+ - lib/jekyll/utils.rb
194
+ - lib/jekyll/commands/serve.rb
195
+ Max: 11
196
+ Metrics/MethodLength:
197
+ CountComments: false
198
+ Max: 20
199
+ Severity: error
200
+ Metrics/ModuleLength:
201
+ Exclude:
202
+ - lib/jekyll/filters.rb
203
+ Max: 240
204
+ Metrics/ParameterLists:
205
+ Max: 4
206
+ Metrics/PerceivedComplexity:
207
+ Max: 13
208
+
209
+ Minitest/AssertEmptyLiteral:
210
+ Enabled: false
211
+ Minitest/AssertInDelta:
212
+ Enabled: true
213
+ Minitest/AssertionInLifecycleHook:
214
+ Enabled: true
215
+ Minitest/AssertKindOf:
216
+ Enabled: true
217
+ Minitest/AssertOutput:
218
+ Enabled: true
219
+ Minitest/AssertPathExists:
220
+ Enabled: true
221
+ Minitest/AssertSilent:
222
+ Enabled: true
223
+ Minitest/AssertWithExpectedArgument:
224
+ Enabled: true
225
+ Minitest/LiteralAsActualArgument:
226
+ Enabled: true
227
+ Minitest/TestMethodName:
228
+ Enabled: false
229
+ Minitest/MultipleAssertions:
230
+ Enabled: true
231
+ Minitest/RefuteInDelta:
232
+ Enabled: true
233
+ Minitest/RefuteKindOf:
234
+ Enabled: true
235
+ Minitest/RefutePathExists:
236
+ Enabled: true
237
+ Minitest/UnreachableAssertion:
238
+ Enabled: true
239
+ Minitest/UnspecifiedException:
240
+ Enabled: true
241
+
242
+ Naming/FileName:
243
+ Enabled: false
244
+ Naming/HeredocDelimiterNaming:
245
+ Exclude:
246
+ - test/**/*.rb
247
+ Naming/MemoizedInstanceVariableName:
248
+ Exclude:
249
+ - lib/jekyll/convertible.rb
250
+ - lib/jekyll/drops/site_drop.rb
251
+ - lib/jekyll/drops/unified_payload_drop.rb
252
+ - lib/jekyll/page_without_a_file.rb
253
+
254
+ Performance/AncestorsInclude:
255
+ Enabled: false
256
+ Performance/ArraySemiInfiniteRangeSlice:
257
+ Enabled: true
258
+ Performance/BigDecimalWithNumericArgument:
259
+ Enabled: true
260
+ Performance/BlockGivenWithExplicitBlock:
261
+ Enabled: true
262
+ Performance/ChainArrayAllocation:
263
+ Enabled: true
264
+ Performance/CollectionLiteralInLoop:
265
+ Enabled: true
266
+ Performance/ConstantRegexp:
267
+ Enabled: true
268
+ Performance/MapCompact:
269
+ Enabled: true
270
+ Performance/MethodObjectAsBlock:
271
+ Enabled: true
272
+ Performance/RedundantEqualityComparisonBlock:
273
+ Enabled: false
274
+ Performance/RedundantSortBlock:
275
+ Enabled: true
276
+ Performance/RedundantSplitRegexpArgument:
277
+ Enabled: true
278
+ Performance/RedundantStringChars:
279
+ Enabled: true
280
+ Performance/ReverseFirst:
281
+ Enabled: true
282
+ Performance/SortReverse:
283
+ Enabled: false
284
+ Performance/Squeeze:
285
+ Enabled: true
286
+ Performance/StringIdentifierArgument:
287
+ Enabled: true
288
+ Performance/StringInclude:
289
+ Enabled: true
290
+ Exclude:
291
+ - lib/jekyll/utils/platforms.rb
292
+ Performance/Sum:
293
+ Enabled: true
294
+
295
+ Security/CompoundHash:
296
+ Enabled: true
297
+ Security/IoMethods:
298
+ Enabled: true
299
+ Security/MarshalLoad:
300
+ Exclude:
301
+ - !ruby/regexp /test\/.*.rb$/
302
+ - lib/jekyll/regenerator.rb
303
+ Security/YAMLLoad:
304
+ Exclude:
305
+ - !ruby/regexp /features\/.*.rb/
306
+ - !ruby/regexp /test\/.*.rb$/
307
+
308
+ Style/AccessModifierDeclarations:
309
+ Enabled: false
310
+ Style/AccessorGrouping:
311
+ Enabled: true
312
+ Style/Alias:
313
+ EnforcedStyle: prefer_alias_method
314
+ Style/AndOr:
315
+ Severity: error
316
+ Style/ArgumentsForwarding:
317
+ Enabled: false
318
+ Style/ArrayCoercion:
319
+ Enabled: true
320
+ Style/BisectedAttrAccessor:
321
+ Enabled: true
322
+ Style/CaseLikeIf:
323
+ Enabled: true
324
+ Style/StringChars:
325
+ Enabled: true
326
+ Style/ClassAndModuleChildren:
327
+ Exclude:
328
+ - test/**/*.rb
329
+ Style/ClassEqualityComparison:
330
+ Enabled: true
331
+ Style/CollectionCompact:
332
+ Enabled: true
333
+ Style/CombinableLoops:
334
+ Enabled: true
335
+ Style/DocumentDynamicEvalDefinition:
336
+ Enabled: true
337
+ Style/Documentation:
338
+ Enabled: false
339
+ Style/DoubleNegation:
340
+ Enabled: false
341
+ Style/EmptyHeredoc:
342
+ Enabled: true
343
+ Style/EndlessMethod:
344
+ Enabled: true
345
+ Style/ExplicitBlockArgument:
346
+ Enabled: false
347
+ Style/ExponentialNotation:
348
+ Enabled: true
349
+ Style/EnvHome:
350
+ Enabled: true
351
+ Style/FetchEnvVar:
352
+ Enabled: false
353
+ Style/FileRead:
354
+ Enabled: false
355
+ Style/FormatStringToken:
356
+ Exclude:
357
+ - lib/jekyll/utils/ansi.rb
358
+ - lib/jekyll/liquid_renderer/table.rb
359
+ - lib/jekyll/profiler.rb
360
+ Style/FrozenStringLiteralComment:
361
+ EnforcedStyle: always
362
+ Style/FileWrite:
363
+ Enabled: true
364
+ Style/GlobalStdStream:
365
+ Enabled: true
366
+ Style/GuardClause:
367
+ Enabled: false
368
+ Style/HashAsLastArrayItem:
369
+ Enabled: true
370
+ Style/HashConversion:
371
+ Enabled: true
372
+ Style/HashEachMethods:
373
+ Enabled: true
374
+ Style/HashExcept:
375
+ Enabled: true
376
+ Style/HashLikeCase:
377
+ Enabled: true
378
+ Style/HashSyntax:
379
+ EnforcedStyle: hash_rockets
380
+ Severity: error
381
+ Style/HashTransformKeys:
382
+ Enabled: false
383
+ Style/HashTransformValues:
384
+ Enabled: true
385
+ Style/IfWithBooleanLiteralBranches:
386
+ Enabled: true
387
+ Style/KeywordParametersOrder:
388
+ Enabled: true
389
+ Style/MagicCommentFormat:
390
+ Enabled: true
391
+ Style/MapCompactWithConditionalBlock:
392
+ Enabled: true
393
+ Style/MapToHash:
394
+ Enabled: true
395
+ Style/MixinUsage:
396
+ Exclude:
397
+ - test/helper.rb
398
+ Style/ModuleFunction:
399
+ Enabled: false
400
+ Style/MultilineTernaryOperator:
401
+ Severity: error
402
+ Style/NegatedIfElseCondition:
403
+ Enabled: true
404
+ Style/NestedFileDirname:
405
+ Enabled: true
406
+ Style/NilLambda:
407
+ Enabled: true
408
+ Style/OptionalBooleanParameter:
409
+ Enabled: true
410
+ Exclude:
411
+ - lib/jekyll/log_adapter.rb
412
+ Style/PercentLiteralDelimiters:
413
+ PreferredDelimiters:
414
+ "%Q": "{}"
415
+ "%W": ()
416
+ "%q": "{}"
417
+ "%r": "!!"
418
+ "%s": ()
419
+ "%w": ()
420
+ "%x": ()
421
+ Style/QuotedSymbols:
422
+ Enabled: true
423
+ Style/RedundantArgument:
424
+ Enabled: true
425
+ Style/RedundantAssignment:
426
+ Enabled: true
427
+ Style/RedundantFetchBlock:
428
+ Enabled: false
429
+ Style/RedundantFileExtensionInRequire:
430
+ Enabled: true
431
+ Style/RedundantInitialize:
432
+ Enabled: true
433
+ Exclude:
434
+ - lib/jekyll/plugin.rb
435
+ Style/RedundantRegexpCharacterClass:
436
+ Enabled: true
437
+ Style/RedundantRegexpEscape:
438
+ Enabled: true
439
+ Style/RedundantSelfAssignment:
440
+ Enabled: true
441
+ Style/RedundantSelfAssignmentBranch:
442
+ Enabled: true
443
+ Style/RegexpLiteral:
444
+ EnforcedStyle: percent_r
445
+ Style/RescueModifier:
446
+ Enabled: false
447
+ Style/SafeNavigation:
448
+ Exclude:
449
+ - lib/jekyll/document.rb
450
+ Style/SignalException:
451
+ EnforcedStyle: only_raise
452
+ Style/SingleArgumentDig:
453
+ Enabled: true
454
+ Style/SlicingWithRange:
455
+ Enabled: false
456
+ Style/SoleNestedConditional:
457
+ Enabled: true
458
+ Style/StringConcatenation:
459
+ Enabled: true
460
+ Exclude:
461
+ - lib/jekyll/commands/*.rb
462
+ - test/**/*.rb
463
+ Style/StringLiterals:
464
+ EnforcedStyle: double_quotes
465
+ Style/StringLiteralsInInterpolation:
466
+ EnforcedStyle: double_quotes
467
+ Style/SwapValues:
468
+ Enabled: true
469
+ Style/SymbolArray:
470
+ EnforcedStyle: brackets
471
+ Style/TrailingCommaInArrayLiteral:
472
+ EnforcedStyleForMultiline: consistent_comma
473
+ Style/TrailingCommaInHashLiteral:
474
+ EnforcedStyleForMultiline: consistent_comma