jekyll 3.9.3 → 4.4.1

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 (108) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +511 -89
  3. data/LICENSE +1 -1
  4. data/README.markdown +48 -27
  5. data/lib/blank_template/_config.yml +3 -0
  6. data/lib/blank_template/_layouts/default.html +12 -0
  7. data/lib/blank_template/_sass/base.scss +9 -0
  8. data/lib/blank_template/assets/css/main.scss +4 -0
  9. data/lib/blank_template/index.md +8 -0
  10. data/lib/jekyll/cache.rb +186 -0
  11. data/lib/jekyll/cleaner.rb +8 -7
  12. data/lib/jekyll/collection.rb +84 -11
  13. data/lib/jekyll/command.rb +33 -6
  14. data/lib/jekyll/commands/build.rb +8 -28
  15. data/lib/jekyll/commands/clean.rb +3 -2
  16. data/lib/jekyll/commands/doctor.rb +46 -35
  17. data/lib/jekyll/commands/help.rb +1 -1
  18. data/lib/jekyll/commands/new.rb +44 -50
  19. data/lib/jekyll/commands/new_theme.rb +27 -28
  20. data/lib/jekyll/commands/serve/live_reload_reactor.rb +9 -16
  21. data/lib/jekyll/commands/serve/servlet.rb +21 -22
  22. data/lib/jekyll/commands/serve/websockets.rb +1 -1
  23. data/lib/jekyll/commands/serve.rb +75 -97
  24. data/lib/jekyll/configuration.rb +66 -158
  25. data/lib/jekyll/converters/identity.rb +18 -0
  26. data/lib/jekyll/converters/markdown/kramdown_parser.rb +83 -33
  27. data/lib/jekyll/converters/markdown.rb +49 -40
  28. data/lib/jekyll/converters/smartypants.rb +34 -14
  29. data/lib/jekyll/convertible.rb +36 -34
  30. data/lib/jekyll/deprecator.rb +2 -4
  31. data/lib/jekyll/document.rb +107 -72
  32. data/lib/jekyll/drops/collection_drop.rb +3 -4
  33. data/lib/jekyll/drops/document_drop.rb +9 -3
  34. data/lib/jekyll/drops/drop.rb +115 -33
  35. data/lib/jekyll/drops/excerpt_drop.rb +8 -0
  36. data/lib/jekyll/drops/site_drop.rb +9 -8
  37. data/lib/jekyll/drops/static_file_drop.rb +4 -4
  38. data/lib/jekyll/drops/theme_drop.rb +39 -0
  39. data/lib/jekyll/drops/unified_payload_drop.rb +7 -2
  40. data/lib/jekyll/drops/url_drop.rb +55 -3
  41. data/lib/jekyll/entry_filter.rb +42 -51
  42. data/lib/jekyll/excerpt.rb +48 -38
  43. data/lib/jekyll/external.rb +20 -19
  44. data/lib/jekyll/filters/date_filters.rb +6 -3
  45. data/lib/jekyll/filters/grouping_filters.rb +1 -2
  46. data/lib/jekyll/filters/url_filters.rb +50 -15
  47. data/lib/jekyll/filters.rb +211 -50
  48. data/lib/jekyll/frontmatter_defaults.rb +45 -36
  49. data/lib/jekyll/hooks.rb +26 -26
  50. data/lib/jekyll/inclusion.rb +32 -0
  51. data/lib/jekyll/layout.rb +12 -19
  52. data/lib/jekyll/liquid_extensions.rb +0 -2
  53. data/lib/jekyll/liquid_renderer/file.rb +24 -3
  54. data/lib/jekyll/liquid_renderer/table.rb +26 -77
  55. data/lib/jekyll/liquid_renderer.rb +31 -16
  56. data/lib/jekyll/log_adapter.rb +5 -1
  57. data/lib/jekyll/page.rb +51 -23
  58. data/lib/jekyll/page_excerpt.rb +25 -0
  59. data/lib/jekyll/page_without_a_file.rb +0 -4
  60. data/lib/jekyll/path_manager.rb +74 -0
  61. data/lib/jekyll/plugin.rb +5 -11
  62. data/lib/jekyll/plugin_manager.rb +15 -5
  63. data/lib/jekyll/profiler.rb +51 -0
  64. data/lib/jekyll/reader.rb +65 -10
  65. data/lib/jekyll/readers/collection_reader.rb +1 -0
  66. data/lib/jekyll/readers/data_reader.rb +48 -10
  67. data/lib/jekyll/readers/layout_reader.rb +3 -12
  68. data/lib/jekyll/readers/page_reader.rb +5 -5
  69. data/lib/jekyll/readers/post_reader.rb +32 -19
  70. data/lib/jekyll/readers/static_file_reader.rb +4 -4
  71. data/lib/jekyll/readers/theme_assets_reader.rb +8 -5
  72. data/lib/jekyll/regenerator.rb +4 -12
  73. data/lib/jekyll/related_posts.rb +1 -1
  74. data/lib/jekyll/renderer.rb +34 -49
  75. data/lib/jekyll/site.rb +151 -58
  76. data/lib/jekyll/static_file.rb +64 -28
  77. data/lib/jekyll/stevenson.rb +4 -8
  78. data/lib/jekyll/tags/highlight.rb +44 -57
  79. data/lib/jekyll/tags/include.rb +114 -80
  80. data/lib/jekyll/tags/link.rb +12 -7
  81. data/lib/jekyll/tags/post_url.rb +33 -30
  82. data/lib/jekyll/theme.rb +20 -18
  83. data/lib/jekyll/theme_builder.rb +91 -89
  84. data/lib/jekyll/url.rb +18 -10
  85. data/lib/jekyll/utils/ansi.rb +2 -2
  86. data/lib/jekyll/utils/exec.rb +0 -1
  87. data/lib/jekyll/utils/internet.rb +2 -4
  88. data/lib/jekyll/utils/platforms.rb +37 -52
  89. data/lib/jekyll/utils/thread_event.rb +1 -5
  90. data/lib/jekyll/utils.rb +29 -28
  91. data/lib/jekyll/version.rb +1 -1
  92. data/lib/jekyll.rb +9 -14
  93. data/lib/site_template/.gitignore +2 -0
  94. data/lib/site_template/404.html +2 -1
  95. data/lib/site_template/_config.yml +17 -5
  96. data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +5 -1
  97. data/lib/theme_template/README.md.erb +1 -3
  98. data/lib/theme_template/gitignore.erb +1 -0
  99. data/lib/theme_template/theme.gemspec.erb +1 -4
  100. data/rubocop/jekyll/assert_equal_literal_actual.rb +150 -0
  101. data/rubocop/jekyll/no_p_allowed.rb +5 -6
  102. data/rubocop/jekyll/no_puts_allowed.rb +5 -6
  103. metadata +149 -37
  104. data/lib/jekyll/converters/markdown/rdiscount_parser.rb +0 -37
  105. data/lib/jekyll/converters/markdown/redcarpet_parser.rb +0 -112
  106. data/lib/jekyll/utils/rouge.rb +0 -22
  107. /data/lib/site_template/{about.md → about.markdown} +0 -0
  108. /data/lib/site_template/{index.md → index.markdown} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 10ada5abfe77a61887f4915b1b5230a0b654d812bc8a6b628907e1bbc62c2b2a
4
- data.tar.gz: 85f09cb1ecafab016ea53e305af4b774e9c14d78f4309830f1e99dcf59b19d7c
3
+ metadata.gz: 8175dc29047bf3bf751e288a80e2caa669d27d06c2210efb0133afe3643b0864
4
+ data.tar.gz: 20f021506ef80737dbd264be17eec0fd9c7fbb408d4b607e6483c281b17b87c6
5
5
  SHA512:
6
- metadata.gz: c351db7593dd51d91404472a9a0acaa499a03e8f4512694bc7867c3b290b913a22d61aa04858ee6cc96d31d85f4b3c102d3ad1e055f0c2a4a45ca5d6960e21e6
7
- data.tar.gz: 80ee7476d928d1f4d3ab88af5ee951026ee017fb3769a915136d25b097fccaef916705299588cd9718290e7bc852ecf1fb5bc8b492bb4e60e40c1f923d0eb38c
6
+ metadata.gz: a3506a73ec50c5f1e7a8fffb4adebcbd67c64ea412ed0600cf0719cda70996a333fc9a3310f2b563cd09c83bdb91787f973ea8f9e38f0dac18ea7fced4a94a96
7
+ data.tar.gz: 302cc86bdf87ef5b2f79b67d78dcd6313e9cb3ef4c87de2915d6e55d549bce8befc5f581a41eb90d1a4ee6339ad25242c2017764d772836528bcd1af2ef2a3ff
data/.rubocop.yml CHANGED
@@ -1,182 +1,604 @@
1
- ---
1
+ # -----------------------------------------------------------------------------
2
+ # This file has been formatted via a Rake Task configuring cops from
3
+ # RuboCop v1.57.2.
4
+ #
5
+ # To add more cops, paste configurations at the end of the file and run
6
+ # the rake task via `bundle exec rake rubocop:format_config`.
7
+ # -----------------------------------------------------------------------------
2
8
 
3
- require:
4
- - ./rubocop/jekyll
9
+ inherit_from: ".rubocop_todo.yml"
5
10
 
6
- Jekyll/NoPutsAllowed:
7
- Exclude:
8
- - rake/*.rake
11
+ require:
12
+ - "./rubocop/jekyll"
13
+ - rubocop-minitest
14
+ - rubocop-performance
15
+ - rubocop-rake
16
+ - rubocop-rspec
9
17
 
18
+ # Directive for all cops
10
19
  AllCops:
11
- TargetRubyVersion: 2.1
20
+ TargetRubyVersion: 2.7
12
21
  Include:
13
- - lib/**/*.rb
22
+ - lib/**/*.rb
23
+ - test/**/*.rb
14
24
  Exclude:
15
- - bin/**/*
16
- - exe/**/*
17
- - benchmark/**/*
18
- - script/**/*
19
- - vendor/**/*
20
- - tmp/**/*
21
- Layout/AlignArray:
22
- Enabled: false
23
- Layout/AlignHash:
24
- EnforcedHashRocketStyle: table
25
- Layout/AlignParameters:
25
+ - benchmark/**/*
26
+ - bin/**/*
27
+ - exe/**/*
28
+ - script/**/*
29
+ - tmp/**/*
30
+ - vendor/**/*
31
+
32
+ # Configure custom cop
33
+ Jekyll/NoPutsAllowed:
34
+ Exclude:
35
+ - rake/*.rake
36
+
37
+ # Configure built-in cops
38
+ # =======================
39
+
40
+ # Gemspec cops
41
+ # ----------------------------------------
42
+ Gemspec/DeprecatedAttributeAssignment:
43
+ Enabled: true
44
+ Gemspec/DevelopmentDependencies:
26
45
  Enabled: false
27
- Layout/EmptyLinesAroundAccessModifier:
46
+ Gemspec/RequireMFA:
28
47
  Enabled: false
29
- Layout/EmptyLinesAroundModuleBody:
48
+
49
+ # Layout cops
50
+ # ----------------------------------------
51
+ Layout/BeginEndAlignment:
52
+ Enabled: true
53
+ Layout/EmptyComment:
30
54
  Enabled: false
55
+ Layout/EmptyLinesAroundAttributeAccessor:
56
+ Enabled: true
57
+ Layout/EndAlignment:
58
+ Severity: error
31
59
  Layout/EndOfLine:
32
- EnforcedStyle: native
33
- Layout/ExtraSpacing:
34
- AllowForAlignment: true
35
- Layout/FirstParameterIndentation:
60
+ Enabled: false
61
+ Layout/FirstArrayElementIndentation:
36
62
  EnforcedStyle: consistent
63
+ Layout/FirstHashElementIndentation:
64
+ EnforcedStyle: consistent
65
+ Layout/HashAlignment:
66
+ EnforcedHashRocketStyle: table
37
67
  Layout/IndentationWidth:
38
68
  Severity: error
39
- Layout/IndentArray:
40
- EnforcedStyle: consistent
41
- Layout/IndentHash:
42
- EnforcedStyle: consistent
43
- Layout/IndentHeredoc:
44
- Enabled: false
69
+ Layout/LineContinuationLeadingSpace:
70
+ Enabled: true
71
+ Layout/LineContinuationSpacing:
72
+ Enabled: true
73
+ Layout/LineEndStringConcatenationIndentation:
74
+ Enabled: true
75
+ Layout/LineLength:
76
+ Exclude:
77
+ - Gemfile
78
+ - Rakefile
79
+ - features/**/*.rb
80
+ - rake/**/*.rake
81
+ Max: 100
82
+ Severity: warning
45
83
  Layout/MultilineMethodCallIndentation:
46
84
  EnforcedStyle: indented
47
85
  Layout/MultilineOperationIndentation:
48
86
  EnforcedStyle: indented
49
- Lint/NestedPercentLiteral:
87
+ Layout/SpaceAroundMethodCallOperator:
88
+ Enabled: true
89
+ Layout/SpaceBeforeBrackets:
90
+ Enabled: true
91
+ Layout/SpaceInsideHashLiteralBraces:
92
+ Enabled: true
50
93
  Exclude:
51
- - test/test_site.rb
52
- Layout/EmptyComment:
94
+ - test/**/*.rb
95
+
96
+ # Lint cops
97
+ # ----------------------------------------
98
+ Lint/AmbiguousAssignment:
99
+ Enabled: true
100
+ Lint/AmbiguousOperatorPrecedence:
101
+ Enabled: true
102
+ Lint/AmbiguousRange:
103
+ Enabled: true
104
+ Lint/BinaryOperatorWithIdenticalOperands:
105
+ Enabled: true
106
+ Lint/ConstantDefinitionInBlock:
107
+ Enabled: true
108
+ Exclude:
109
+ - test/**/*.rb
110
+ Lint/ConstantOverwrittenInRescue:
111
+ Enabled: true
112
+ Lint/DeprecatedConstants:
113
+ Enabled: true
114
+ Lint/DeprecatedOpenSSLConstant:
115
+ Enabled: true
116
+ Lint/DuplicateBranch:
117
+ Enabled: true
118
+ Lint/DuplicateElsifCondition:
119
+ Enabled: true
120
+ Lint/DuplicateMagicComment:
121
+ Enabled: true
122
+ Lint/DuplicateMatchPattern:
123
+ Enabled: true
124
+ Lint/DuplicateRegexpCharacterClassElement:
125
+ Enabled: true
126
+ Lint/DuplicateRequire:
127
+ Enabled: true
128
+ Lint/DuplicateRescueException:
129
+ Enabled: true
130
+ Lint/EmptyBlock:
131
+ Enabled: true
132
+ Lint/EmptyClass:
133
+ Enabled: true
134
+ Lint/EmptyConditionalBody:
135
+ Enabled: true
136
+ Lint/EmptyFile:
137
+ Enabled: true
138
+ Lint/FloatComparison:
139
+ Enabled: true
140
+ Lint/HashCompareByIdentity:
141
+ Enabled: true
142
+ Lint/IdentityComparison:
143
+ Enabled: true
144
+ Lint/LambdaWithoutLiteralBlock:
145
+ Enabled: true
146
+ Lint/MissingSuper:
53
147
  Enabled: false
54
- Layout/EndAlignment:
55
- Severity: error
56
- Lint/SplatKeywordArguments:
148
+ Lint/MixedCaseRange:
149
+ Enabled: true
150
+ Lint/MixedRegexpCaptureTypes:
151
+ Enabled: false
152
+ Lint/NestedPercentLiteral:
153
+ Exclude:
154
+ - test/test_site.rb
155
+ Lint/NoReturnInBeginEndBlocks:
156
+ Enabled: true
157
+ Lint/NumberedParameterAssignment:
158
+ Enabled: true
159
+ Lint/OrAssignmentToConstant:
160
+ Enabled: true
161
+ Lint/OutOfRangeRegexpRef:
162
+ Enabled: true
163
+ Lint/RaiseException:
164
+ Enabled: true
165
+ Lint/RedundantDirGlobSort:
166
+ Enabled: true
167
+ Lint/RedundantRegexpQuantifiers:
168
+ Enabled: true
169
+ Lint/RedundantSafeNavigation:
170
+ Enabled: true
171
+ Lint/RefinementImportMethods:
172
+ Enabled: true
173
+ Lint/RequireRangeParentheses:
174
+ Enabled: true
175
+ Lint/RequireRelativeSelfPath:
176
+ Enabled: true
177
+ Lint/SelfAssignment:
178
+ Enabled: true
179
+ Lint/StructNewOverride:
180
+ Enabled: true
181
+ Lint/SymbolConversion:
182
+ Enabled: true
183
+ Lint/ToEnumArguments:
57
184
  Enabled: false
185
+ Lint/TopLevelReturnWithArgument:
186
+ Enabled: true
187
+ Lint/TrailingCommaInAttributeDeclaration:
188
+ Enabled: true
189
+ Lint/TripleQuotes:
190
+ Enabled: true
191
+ Lint/UnexpectedBlockArity:
192
+ Enabled: true
193
+ Lint/UnmodifiedReduceAccumulator:
194
+ Enabled: true
58
195
  Lint/UnreachableCode:
59
196
  Severity: error
60
- Lint/UselessAccessModifier:
61
- Enabled: false
197
+ Lint/UnreachableLoop:
198
+ Enabled: true
199
+ Lint/UselessMethodDefinition:
200
+ Enabled: true
201
+ Lint/UselessRuby2Keywords:
202
+ Enabled: true
203
+ Lint/UselessTimes:
204
+ Enabled: true
62
205
  Lint/Void:
63
- Enabled: false
206
+ Exclude:
207
+ - lib/jekyll/site.rb
208
+
209
+ # Metrics cops
210
+ # ----------------------------------------
64
211
  Metrics/AbcSize:
65
- Max: 21
212
+ Max: 23
66
213
  Metrics/BlockLength:
67
214
  Exclude:
68
- - test/**/*.rb
69
- - lib/jekyll/configuration.rb
70
- - rake/*.rake
71
- - jekyll.gemspec
215
+ - lib/jekyll/configuration.rb
216
+ - rake/**/*.rake
217
+ - test/**/*.rb
72
218
  Metrics/ClassLength:
73
219
  Exclude:
74
- - !ruby/regexp /features\/.*.rb$/
75
- - !ruby/regexp /test\/.*.rb$/
76
- Max: 300
220
+ - features/**/*.rb
221
+ - lib/jekyll/commands/serve.rb
222
+ - lib/jekyll/configuration.rb
223
+ - lib/jekyll/document.rb
224
+ - lib/jekyll/site.rb
225
+ - test/**/*.rb
226
+ Max: 240
227
+ Metrics/CollectionLiteralLength:
228
+ Enabled: true
77
229
  Metrics/CyclomaticComplexity:
78
- Max: 9
79
- Metrics/LineLength:
80
- Exclude:
81
- - !ruby/regexp /features\/.*.rb/
82
- - Rakefile
83
- - rake/*.rake
84
- - Gemfile
85
- - jekyll.gemspec
86
- Max: 90
87
- Severity: warning
230
+ Exclude:
231
+ - lib/jekyll/commands/serve.rb
232
+ - lib/jekyll/utils.rb
233
+ Max: 11
88
234
  Metrics/MethodLength:
89
235
  CountComments: false
90
236
  Max: 20
91
237
  Severity: error
92
238
  Metrics/ModuleLength:
239
+ Exclude:
240
+ - lib/jekyll/filters.rb
93
241
  Max: 240
94
242
  Metrics/ParameterLists:
95
243
  Max: 4
96
244
  Metrics/PerceivedComplexity:
97
- Max: 8
245
+ Max: 13
246
+
247
+ # Minitest cops
248
+ # ----------------------------------------
249
+ Minitest/AssertEmptyLiteral:
250
+ Enabled: false
251
+ Minitest/AssertInDelta:
252
+ Enabled: true
253
+ Minitest/AssertKindOf:
254
+ Enabled: true
255
+ Minitest/AssertOperator:
256
+ Enabled: false
257
+ Minitest/AssertOutput:
258
+ Enabled: true
259
+ Minitest/AssertPathExists:
260
+ Enabled: true
261
+ Minitest/AssertPredicate:
262
+ Enabled: false
263
+ Minitest/AssertRaisesWithRegexpArgument:
264
+ Enabled: true
265
+ Minitest/AssertSame:
266
+ Enabled: true
267
+ Minitest/AssertSilent:
268
+ Enabled: true
269
+ Minitest/AssertWithExpectedArgument:
270
+ Enabled: true
271
+ Minitest/AssertionInLifecycleHook:
272
+ Enabled: true
273
+ Minitest/DuplicateTestRun:
274
+ Enabled: true
275
+ Minitest/EmptyLineBeforeAssertionMethods:
276
+ Enabled: false
277
+ Minitest/LifecycleHooksOrder:
278
+ Enabled: true
279
+ Minitest/LiteralAsActualArgument:
280
+ Enabled: true
281
+ Minitest/MultipleAssertions:
282
+ Enabled: true
283
+ Minitest/NonExecutableTestMethod:
284
+ Enabled: true
285
+ Minitest/NonPublicTestMethod:
286
+ Enabled: true
287
+ Minitest/RedundantMessageArgument:
288
+ Enabled: true
289
+ Minitest/RefuteInDelta:
290
+ Enabled: true
291
+ Minitest/RefuteKindOf:
292
+ Enabled: true
293
+ Minitest/RefuteOperator:
294
+ Enabled: false
295
+ Minitest/RefutePathExists:
296
+ Enabled: true
297
+ Minitest/RefutePredicate:
298
+ Enabled: false
299
+ Minitest/RefuteSame:
300
+ Enabled: true
301
+ Minitest/ReturnInTestMethod:
302
+ Enabled: true
303
+ Minitest/SkipEnsure:
304
+ Enabled: true
305
+ Minitest/SkipWithoutReason:
306
+ Enabled: true
307
+ Minitest/TestFileName:
308
+ Enabled: true
309
+ Exclude:
310
+ - test/helper.rb
311
+ Minitest/TestMethodName:
312
+ Enabled: false
313
+ Minitest/UnreachableAssertion:
314
+ Enabled: true
315
+ Minitest/UnspecifiedException:
316
+ Enabled: true
317
+ Minitest/UselessAssertion:
318
+ Enabled: true
319
+
320
+ # Naming cops
321
+ # ----------------------------------------
98
322
  Naming/FileName:
99
323
  Enabled: false
100
324
  Naming/HeredocDelimiterNaming:
101
- Enabled: false
325
+ Exclude:
326
+ - test/**/*.rb
102
327
  Naming/MemoizedInstanceVariableName:
103
328
  Exclude:
104
- - lib/jekyll/page_without_a_file.rb
105
- - lib/jekyll/drops/unified_payload_drop.rb
106
- - lib/jekyll/drops/site_drop.rb
107
- Naming/UncommunicativeMethodParamName:
108
- AllowedNames:
109
- - _
329
+ - lib/jekyll/convertible.rb
330
+ - lib/jekyll/drops/site_drop.rb
331
+ - lib/jekyll/drops/unified_payload_drop.rb
332
+ - lib/jekyll/page_without_a_file.rb
333
+
334
+ # Performance cops
335
+ # ----------------------------------------
336
+ Performance/AncestorsInclude:
337
+ Enabled: false
338
+ Performance/ArraySemiInfiniteRangeSlice:
339
+ Enabled: true
340
+ Performance/BigDecimalWithNumericArgument:
341
+ Enabled: true
342
+ Performance/BlockGivenWithExplicitBlock:
343
+ Enabled: true
344
+ Performance/ChainArrayAllocation:
345
+ Enabled: true
346
+ Performance/CollectionLiteralInLoop:
347
+ Enabled: true
348
+ Performance/ConstantRegexp:
349
+ Enabled: true
350
+ Performance/MapCompact:
351
+ Enabled: true
352
+ Performance/MapMethodChain:
353
+ Enabled: true
354
+ Performance/MethodObjectAsBlock:
355
+ Enabled: true
356
+ Performance/RedundantEqualityComparisonBlock:
357
+ Enabled: false
358
+ Performance/RedundantSortBlock:
359
+ Enabled: true
360
+ Performance/RedundantSplitRegexpArgument:
361
+ Enabled: true
362
+ Performance/RedundantStringChars:
363
+ Enabled: true
364
+ Performance/ReverseFirst:
365
+ Enabled: true
366
+ Performance/SortReverse:
367
+ Enabled: false
368
+ Performance/Squeeze:
369
+ Enabled: true
370
+ Performance/StringIdentifierArgument:
371
+ Enabled: true
372
+ Performance/StringInclude:
373
+ Enabled: true
374
+ Exclude:
375
+ - lib/jekyll/utils/platforms.rb
376
+ Performance/Sum:
377
+ Enabled: true
378
+
379
+ # Security cops
380
+ # ----------------------------------------
381
+ Security/CompoundHash:
382
+ Enabled: true
383
+ Security/IoMethods:
384
+ Enabled: true
110
385
  Security/MarshalLoad:
111
386
  Exclude:
112
- - !ruby/regexp /test\/.*.rb$/
113
- - lib/jekyll/regenerator.rb
387
+ - lib/jekyll/regenerator.rb
388
+ - test/**/*.rb
114
389
  Security/YAMLLoad:
115
390
  Exclude:
116
- - !ruby/regexp /features\/.*.rb/
117
- - !ruby/regexp /test\/.*.rb$/
118
- Style/Alias:
391
+ - features/**/*.rb
392
+ - test/**/*.rb
393
+
394
+ # Style cops
395
+ # ----------------------------------------
396
+ Style/AccessModifierDeclarations:
119
397
  Enabled: false
398
+ Style/AccessorGrouping:
399
+ Enabled: true
400
+ Style/Alias:
401
+ EnforcedStyle: prefer_alias_method
120
402
  Style/AndOr:
121
403
  Severity: error
122
- Style/BracesAroundHashParameters:
404
+ Style/ArgumentsForwarding:
123
405
  Enabled: false
406
+ Style/ArrayCoercion:
407
+ Enabled: true
408
+ Style/ArrayIntersect:
409
+ Enabled: true
410
+ Style/BisectedAttrAccessor:
411
+ Enabled: true
412
+ Style/CaseLikeIf:
413
+ Enabled: true
124
414
  Style/ClassAndModuleChildren:
125
- Enabled: false
126
- Style/FrozenStringLiteralComment:
127
- EnforcedStyle: always
415
+ Exclude:
416
+ - test/**/*.rb
417
+ Style/ClassEqualityComparison:
418
+ Enabled: true
419
+ Style/CollectionCompact:
420
+ Enabled: true
421
+ Style/CombinableLoops:
422
+ Enabled: true
423
+ Style/ConcatArrayLiterals:
424
+ Enabled: true
425
+ Style/DirEmpty:
426
+ Enabled: true
427
+ Style/DocumentDynamicEvalDefinition:
428
+ Enabled: true
128
429
  Style/Documentation:
129
430
  Enabled: false
130
- Exclude:
131
- - !ruby/regexp /features\/.*.rb$/
132
431
  Style/DoubleNegation:
133
432
  Enabled: false
433
+ Style/EmptyHeredoc:
434
+ Enabled: true
435
+ Style/EndlessMethod:
436
+ Enabled: true
437
+ Style/EnvHome:
438
+ Enabled: true
439
+ Style/ExactRegexpMatch:
440
+ Enabled: true
441
+ Style/ExplicitBlockArgument:
442
+ Enabled: false
443
+ Style/ExponentialNotation:
444
+ Enabled: true
445
+ Style/FetchEnvVar:
446
+ Enabled: false
447
+ Style/FileEmpty:
448
+ Enabled: true
449
+ Style/FileRead:
450
+ Enabled: false
451
+ Style/FileWrite:
452
+ Enabled: true
134
453
  Style/FormatStringToken:
135
454
  Exclude:
136
- - lib/jekyll/utils/ansi.rb
455
+ - lib/jekyll/liquid_renderer/table.rb
456
+ - lib/jekyll/profiler.rb
457
+ - lib/jekyll/utils/ansi.rb
458
+ Style/FrozenStringLiteralComment:
459
+ EnforcedStyle: always
460
+ Style/GlobalStdStream:
461
+ Enabled: true
137
462
  Style/GuardClause:
138
463
  Enabled: false
464
+ Style/HashAsLastArrayItem:
465
+ Enabled: true
466
+ Style/HashConversion:
467
+ Enabled: true
468
+ Style/HashEachMethods:
469
+ Enabled: true
470
+ Style/HashExcept:
471
+ Enabled: true
472
+ Style/HashLikeCase:
473
+ Enabled: true
139
474
  Style/HashSyntax:
140
475
  EnforcedStyle: hash_rockets
141
476
  Severity: error
142
- Style/IfUnlessModifier:
143
- Enabled: false
144
- Style/InverseMethods:
477
+ Style/HashTransformKeys:
145
478
  Enabled: false
479
+ Style/HashTransformValues:
480
+ Enabled: true
481
+ Style/IfWithBooleanLiteralBranches:
482
+ Enabled: true
483
+ Style/KeywordParametersOrder:
484
+ Enabled: true
485
+ Style/MagicCommentFormat:
486
+ Enabled: true
487
+ Style/MapCompactWithConditionalBlock:
488
+ Enabled: true
489
+ Style/MapToHash:
490
+ Enabled: true
491
+ Style/MinMaxComparison:
492
+ Enabled: true
146
493
  Style/MixinUsage:
147
494
  Exclude:
148
- - test/helper.rb
495
+ - test/helper.rb
149
496
  Style/ModuleFunction:
150
497
  Enabled: false
151
498
  Style/MultilineTernaryOperator:
152
499
  Severity: error
500
+ Style/NegatedIfElseCondition:
501
+ Enabled: true
502
+ Style/NestedFileDirname:
503
+ Enabled: true
504
+ Style/NilLambda:
505
+ Enabled: true
506
+ Style/ObjectThen:
507
+ Enabled: true
508
+ Style/OperatorMethodCall:
509
+ Enabled: true
510
+ Style/OptionalBooleanParameter:
511
+ Enabled: true
512
+ Exclude:
513
+ - lib/jekyll/log_adapter.rb
153
514
  Style/PercentLiteralDelimiters:
154
515
  PreferredDelimiters:
155
- "%q": "{}"
156
516
  "%Q": "{}"
517
+ "%W": "()"
518
+ "%q": "{}"
157
519
  "%r": "!!"
158
520
  "%s": "()"
159
521
  "%w": "()"
160
- "%W": "()"
161
522
  "%x": "()"
162
- Style/RedundantReturn:
163
- Enabled: false
164
- Style/RedundantSelf:
523
+ Style/QuotedSymbols:
524
+ Enabled: true
525
+ Style/RedundantArgument:
526
+ Enabled: true
527
+ Style/RedundantArrayConstructor:
528
+ Enabled: true
529
+ Style/RedundantAssignment:
530
+ Enabled: true
531
+ Style/RedundantConstantBase:
532
+ Enabled: true
533
+ Style/RedundantCurrentDirectoryInPath:
534
+ Enabled: true
535
+ Style/RedundantDoubleSplatHashBraces:
536
+ Enabled: true
537
+ Style/RedundantEach:
538
+ Enabled: true
539
+ Style/RedundantFetchBlock:
165
540
  Enabled: false
541
+ Style/RedundantFileExtensionInRequire:
542
+ Enabled: true
543
+ Style/RedundantFilterChain:
544
+ Enabled: true
545
+ Style/RedundantHeredocDelimiterQuotes:
546
+ Enabled: true
547
+ Style/RedundantInitialize:
548
+ Enabled: true
549
+ Exclude:
550
+ - lib/jekyll/plugin.rb
551
+ Style/RedundantLineContinuation:
552
+ Enabled: true
553
+ Style/RedundantRegexpArgument:
554
+ Enabled: true
555
+ Style/RedundantRegexpCharacterClass:
556
+ Enabled: true
557
+ Style/RedundantRegexpConstructor:
558
+ Enabled: true
559
+ Style/RedundantRegexpEscape:
560
+ Enabled: true
561
+ Style/RedundantSelfAssignment:
562
+ Enabled: true
563
+ Style/RedundantSelfAssignmentBranch:
564
+ Enabled: true
565
+ Style/RedundantStringEscape:
566
+ Enabled: true
166
567
  Style/RegexpLiteral:
167
568
  EnforcedStyle: percent_r
168
569
  Style/RescueModifier:
169
570
  Enabled: false
571
+ Style/ReturnNilInPredicateMethodDefinition:
572
+ Enabled: true
573
+ Style/SafeNavigation:
574
+ Exclude:
575
+ - lib/jekyll/document.rb
576
+ - lib/jekyll/page.rb
170
577
  Style/SignalException:
171
578
  EnforcedStyle: only_raise
172
- Style/SingleLineMethods:
579
+ Style/SingleArgumentDig:
580
+ Enabled: true
581
+ Style/SingleLineDoEndBlock:
582
+ Enabled: true
583
+ Style/SlicingWithRange:
173
584
  Enabled: false
585
+ Style/SoleNestedConditional:
586
+ Enabled: true
587
+ Style/StringChars:
588
+ Enabled: true
589
+ Style/StringConcatenation:
590
+ Enabled: true
591
+ Exclude:
592
+ - lib/jekyll/commands/*.rb
593
+ - test/**/*.rb
174
594
  Style/StringLiterals:
175
595
  EnforcedStyle: double_quotes
176
596
  Style/StringLiteralsInInterpolation:
177
597
  EnforcedStyle: double_quotes
598
+ Style/SwapValues:
599
+ Enabled: true
178
600
  Style/SymbolArray:
179
- Enabled: false
601
+ EnforcedStyle: brackets
180
602
  Style/TrailingCommaInArrayLiteral:
181
603
  EnforcedStyleForMultiline: consistent_comma
182
604
  Style/TrailingCommaInHashLiteral:
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2008-2018 Tom Preston-Werner and Jekyll contributors
3
+ Copyright (c) 2008-present 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