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.
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