--- inherit_from: .rubocop_todo.yml require: - rubocop-minitest - rubocop-performance - rubocop-rake - rubocop-rspec - ./rubocop/jekyll Jekyll/NoPutsAllowed: Exclude: - rake/*.rake AllCops: TargetRubyVersion: 2.4 Include: - lib/**/*.rb - test/**/*.rb Exclude: - bin/**/* - exe/**/* - benchmark/**/* - script/**/* - vendor/**/* - tmp/**/* Gemspec/DateAssignment: Enabled: true Layout/BeginEndAlignment: Enabled: true Layout/EmptyComment: Enabled: false Layout/EmptyLinesAroundAttributeAccessor: Enabled: true Layout/EndAlignment: Severity: error Layout/FirstArrayElementIndentation: EnforcedStyle: consistent Layout/FirstHashElementIndentation: EnforcedStyle: consistent Layout/HashAlignment: EnforcedHashRocketStyle: table Layout/IndentationWidth: Severity: error Layout/LineLength: Exclude: - !ruby/regexp /features\/.*.rb/ - Rakefile - rake/*.rake - Gemfile Max: 100 Severity: warning Layout/MultilineMethodCallIndentation: EnforcedStyle: indented Layout/MultilineOperationIndentation: EnforcedStyle: indented Layout/SpaceAroundMethodCallOperator: Enabled: true Layout/SpaceBeforeBrackets: Enabled: true Layout/SpaceInsideHashLiteralBraces: Enabled: true Exclude: - test/**/*.rb Lint/AmbiguousAssignment: Enabled: true Lint/BinaryOperatorWithIdenticalOperands: Enabled: true Lint/ConstantDefinitionInBlock: Enabled: true Exclude: - test/**/*.rb Lint/DeprecatedConstants: Enabled: true Lint/DeprecatedOpenSSLConstant: Enabled: true Lint/DuplicateBranch: Enabled: true Lint/DuplicateElsifCondition: Enabled: true Lint/DuplicateRegexpCharacterClassElement: Enabled: true Lint/DuplicateRequire: Enabled: true Lint/DuplicateRescueException: Enabled: true Lint/EmptyBlock: Enabled: true Lint/EmptyClass: Enabled: true Lint/EmptyConditionalBody: Enabled: true Lint/EmptyFile: Enabled: true Lint/FloatComparison: Enabled: true Lint/HashCompareByIdentity: Enabled: true Lint/IdentityComparison: Enabled: true Lint/LambdaWithoutLiteralBlock: Enabled: true Lint/MissingSuper: Enabled: false Lint/MixedRegexpCaptureTypes: Enabled: false Lint/NestedPercentLiteral: Exclude: - test/test_site.rb Lint/NoReturnInBeginEndBlocks: Enabled: true Lint/NumberedParameterAssignment: Enabled: true Lint/OrAssignmentToConstant: Enabled: true Lint/OutOfRangeRegexpRef: Enabled: true Lint/RaiseException: Enabled: true Lint/RedundantDirGlobSort: Enabled: true Lint/RedundantSafeNavigation: Enabled: true Lint/SelfAssignment: Enabled: true Lint/StructNewOverride: Enabled: true Lint/SymbolConversion: Enabled: true Lint/ToEnumArguments: Enabled: false Lint/TopLevelReturnWithArgument: Enabled: true Lint/TrailingCommaInAttributeDeclaration: Enabled: true Lint/TripleQuotes: Enabled: true Lint/UnexpectedBlockArity: Enabled: true Lint/UnmodifiedReduceAccumulator: Enabled: true Lint/UnreachableCode: Severity: error Lint/UnreachableLoop: Enabled: true Lint/UselessMethodDefinition: Enabled: true Lint/UselessTimes: Enabled: true Lint/Void: Exclude: - lib/jekyll/site.rb Metrics/AbcSize: Max: 23 Metrics/BlockLength: Exclude: - test/**/*.rb - lib/jekyll/configuration.rb - rake/*.rake Metrics/ClassLength: Exclude: - !ruby/regexp /features\/.*.rb$/ - !ruby/regexp /test\/.*.rb$/ - lib/jekyll/document.rb - lib/jekyll/site.rb - lib/jekyll/commands/serve.rb - lib/jekyll/configuration.rb Max: 240 Metrics/CyclomaticComplexity: Exclude: - lib/jekyll/utils.rb - lib/jekyll/commands/serve.rb Max: 11 Metrics/MethodLength: CountComments: false Max: 20 Severity: error Metrics/ModuleLength: Exclude: - lib/jekyll/filters.rb Max: 240 Metrics/ParameterLists: Max: 4 Metrics/PerceivedComplexity: Max: 13 Minitest/AssertInDelta: Enabled: true Minitest/AssertionInLifecycleHook: Enabled: true Minitest/AssertKindOf: Enabled: true Minitest/AssertOutput: Enabled: true Minitest/AssertPathExists: Enabled: true Minitest/AssertSilent: Enabled: true Minitest/LiteralAsActualArgument: Enabled: true Minitest/TestMethodName: Enabled: false Minitest/MultipleAssertions: Enabled: true Minitest/RefuteInDelta: Enabled: true Minitest/RefuteKindOf: Enabled: true Minitest/RefutePathExists: Enabled: true Minitest/UnspecifiedException: Enabled: true Naming/FileName: Enabled: false Naming/HeredocDelimiterNaming: Exclude: - test/**/*.rb Naming/MemoizedInstanceVariableName: Exclude: - lib/jekyll/convertible.rb - lib/jekyll/drops/site_drop.rb - lib/jekyll/drops/unified_payload_drop.rb - lib/jekyll/page_without_a_file.rb Performance/AncestorsInclude: Enabled: false Performance/ArraySemiInfiniteRangeSlice: Enabled: true Performance/BigDecimalWithNumericArgument: Enabled: true Performance/BlockGivenWithExplicitBlock: Enabled: true Performance/ChainArrayAllocation: Enabled: true Performance/CollectionLiteralInLoop: Enabled: true Performance/ConstantRegexp: Enabled: true Performance/MethodObjectAsBlock: Enabled: true Performance/RedundantSortBlock: Enabled: true Performance/RedundantStringChars: Enabled: true Performance/ReverseFirst: Enabled: true Performance/SortReverse: Enabled: false Performance/Squeeze: Enabled: true Performance/StringInclude: Enabled: true Exclude: - lib/jekyll/utils/platforms.rb Performance/Sum: Enabled: true Security/MarshalLoad: Exclude: - !ruby/regexp /test\/.*.rb$/ - lib/jekyll/regenerator.rb Security/YAMLLoad: Exclude: - !ruby/regexp /features\/.*.rb/ - !ruby/regexp /test\/.*.rb$/ Style/AccessModifierDeclarations: Enabled: false Style/AccessorGrouping: Enabled: false Style/Alias: EnforcedStyle: prefer_alias_method Style/AndOr: Severity: error Style/ArgumentsForwarding: Enabled: false Style/ArrayCoercion: Enabled: true Style/BisectedAttrAccessor: Enabled: true Style/CaseLikeIf: Enabled: true Style/ClassAndModuleChildren: Exclude: - test/**/*.rb Style/ClassEqualityComparison: Enabled: true Style/CollectionCompact: Enabled: true Style/CombinableLoops: Enabled: true Style/DocumentDynamicEvalDefinition: Enabled: true Style/Documentation: Enabled: false Style/DoubleNegation: Enabled: false Style/EndlessMethod: Enabled: true Style/ExplicitBlockArgument: Enabled: false Style/ExponentialNotation: Enabled: true Style/FormatStringToken: Exclude: - lib/jekyll/utils/ansi.rb - lib/jekyll/liquid_renderer/table.rb - lib/jekyll/profiler.rb Style/FrozenStringLiteralComment: EnforcedStyle: always Style/GlobalStdStream: Enabled: true Style/GuardClause: Enabled: false Style/HashAsLastArrayItem: Enabled: true Style/HashConversion: Enabled: true Style/HashEachMethods: Enabled: true Style/HashExcept: Enabled: true Style/HashLikeCase: Enabled: true Style/HashSyntax: EnforcedStyle: hash_rockets Severity: error Style/HashTransformKeys: Enabled: false Style/HashTransformValues: Enabled: true Style/IfWithBooleanLiteralBranches: Enabled: true Style/KeywordParametersOrder: Enabled: true Style/MixinUsage: Exclude: - test/helper.rb Style/ModuleFunction: Enabled: false Style/MultilineTernaryOperator: Severity: error Style/NegatedIfElseCondition: Enabled: true Style/NilLambda: Enabled: true Style/OptionalBooleanParameter: Enabled: true Style/PercentLiteralDelimiters: PreferredDelimiters: "%Q": "{}" "%W": () "%q": "{}" "%r": "!!" "%s": () "%w": () "%x": () Style/RedundantArgument: Enabled: true Style/RedundantAssignment: Enabled: true Style/RedundantFetchBlock: Enabled: false Style/RedundantFileExtensionInRequire: Enabled: true Style/RedundantRegexpCharacterClass: Enabled: true Style/RedundantRegexpEscape: Enabled: true Style/RedundantSelfAssignment: Enabled: true Style/RegexpLiteral: EnforcedStyle: percent_r Style/RescueModifier: Enabled: false Style/SafeNavigation: Exclude: - lib/jekyll/document.rb Style/SignalException: EnforcedStyle: only_raise Style/SingleArgumentDig: Enabled: true Style/SlicingWithRange: Enabled: false Style/SoleNestedConditional: Enabled: true Style/StringConcatenation: Enabled: true Exclude: - lib/jekyll/commands/*.rb - test/**/*.rb Style/StringLiterals: EnforcedStyle: double_quotes Style/StringLiteralsInInterpolation: EnforcedStyle: double_quotes Style/SwapValues: Enabled: true Style/SymbolArray: EnforcedStyle: brackets Style/TrailingCommaInArrayLiteral: EnforcedStyleForMultiline: consistent_comma Style/TrailingCommaInHashLiteral: EnforcedStyleForMultiline: consistent_comma