---

require:
  - ./rubocop/jekyll

Jekyll/NoPutsAllowed:
  Exclude:
    - rake/*.rake

AllCops:
  TargetRubyVersion: 2.1
  Include:
    - lib/**/*.rb
  Exclude:
    - bin/**/*
    - exe/**/*
    - benchmark/**/*
    - script/**/*
    - vendor/**/*
    - tmp/**/*
Layout/AlignArray:
  Enabled: false
Layout/AlignHash:
  EnforcedHashRocketStyle: table
Layout/AlignParameters:
  Enabled: false
Layout/EmptyLinesAroundAccessModifier:
  Enabled: false
Layout/EmptyLinesAroundModuleBody:
  Enabled: false
Layout/EndOfLine:
  EnforcedStyle: native
Layout/ExtraSpacing:
  AllowForAlignment: true
Layout/FirstParameterIndentation:
  EnforcedStyle: consistent
Layout/IndentationWidth:
  Severity: error
Layout/IndentArray:
  EnforcedStyle: consistent
Layout/IndentHash:
  EnforcedStyle: consistent
Layout/IndentHeredoc:
  Enabled: false
Layout/MultilineMethodCallIndentation:
  EnforcedStyle: indented
Layout/MultilineOperationIndentation:
  EnforcedStyle: indented
Lint/NestedPercentLiteral:
  Exclude:
    - test/test_site.rb
Layout/EmptyComment:
  Enabled: false
Layout/EndAlignment:
  Severity: error
Lint/UnreachableCode:
  Severity: error
Lint/UselessAccessModifier:
  Enabled: false
Lint/Void:
  Enabled: false
Metrics/AbcSize:
  Max: 21
Metrics/BlockLength:
  Exclude:
    - test/**/*.rb
    - lib/jekyll/configuration.rb
    - rake/*.rake
    - jekyll.gemspec
Metrics/ClassLength:
  Exclude:
    - !ruby/regexp /features\/.*.rb$/
    - !ruby/regexp /test\/.*.rb$/
  Max: 300
Metrics/CyclomaticComplexity:
  Max: 9
Metrics/LineLength:
  Exclude:
    - !ruby/regexp /features\/.*.rb/
    - Rakefile
    - rake/*.rake
    - Gemfile
    - jekyll.gemspec
  Max: 90
  Severity: warning
Metrics/MethodLength:
  CountComments: false
  Max: 20
  Severity: error
Metrics/ModuleLength:
  Max: 240
Metrics/ParameterLists:
  Max: 4
Metrics/PerceivedComplexity:
  Max: 8
Naming/FileName:
  Enabled: false
Naming/HeredocDelimiterNaming:
  Enabled: false
Naming/MemoizedInstanceVariableName:
  Exclude:
    - lib/jekyll/page_without_a_file.rb
    - lib/jekyll/drops/unified_payload_drop.rb
    - lib/jekyll/drops/site_drop.rb
Naming/UncommunicativeMethodParamName:
  AllowedNames:
    - _
Security/MarshalLoad:
  Exclude:
    - !ruby/regexp /test\/.*.rb$/
    - lib/jekyll/regenerator.rb
Security/YAMLLoad:
  Exclude:
    - !ruby/regexp /features\/.*.rb/
    - !ruby/regexp /test\/.*.rb$/
Style/Alias:
  Enabled: false
Style/AndOr:
  Severity: error
Style/BracesAroundHashParameters:
  Enabled: false
Style/ClassAndModuleChildren:
  Enabled: false
Style/FrozenStringLiteralComment:
  EnforcedStyle: always
Style/Documentation:
  Enabled: false
  Exclude:
    - !ruby/regexp /features\/.*.rb$/
Style/DoubleNegation:
  Enabled: false
Style/FormatStringToken:
  Exclude:
    - lib/jekyll/utils/ansi.rb
Style/GuardClause:
  Enabled: false
Style/HashSyntax:
  EnforcedStyle: hash_rockets
  Severity: error
Style/IfUnlessModifier:
  Enabled: false
Style/InverseMethods:
  Enabled: false
Style/MixinUsage:
  Exclude:
    - test/helper.rb
Style/ModuleFunction:
  Enabled: false
Style/MultilineTernaryOperator:
  Severity: error
Style/PercentLiteralDelimiters:
  PreferredDelimiters:
    "%q": "{}"
    "%Q": "{}"
    "%r": "!!"
    "%s": "()"
    "%w": "()"
    "%W": "()"
    "%x": "()"
Style/RedundantReturn:
  Enabled: false
Style/RedundantSelf:
  Enabled: false
Style/RegexpLiteral:
  EnforcedStyle: percent_r
Style/RescueModifier:
  Enabled: false
Style/SignalException:
  EnforcedStyle: only_raise
Style/SingleLineMethods:
  Enabled: false
Style/StringLiterals:
  EnforcedStyle: double_quotes
Style/StringLiteralsInInterpolation:
  EnforcedStyle: double_quotes
Style/SymbolArray:
  Enabled: false
Style/TrailingCommaInArrayLiteral:
  EnforcedStyleForMultiline: consistent_comma
Style/TrailingCommaInHashLiteral:
  EnforcedStyleForMultiline: consistent_comma
