Sha256: 8110cb2b6bdca5c4dcc7f8c20fd127ac88f17a6753bd2f7099b0f7b38e1fa0a7

Contents?: true

Size: 1.19 KB

Versions: 20

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

module CloudCannonJekyll
  class Configuration
    def self.processed?(site)
      site.instance_variable_get(:@_cloudcannon_jekyll_processed) == true
    end

    def self.process(site)
      site.instance_variable_set :@_cloudcannon_jekyll_processed, true
    end

    def self.overridden_config(user_config)
      config = Jekyll::Utils.deep_merge_hashes(Jekyll::Configuration::DEFAULTS, user_config)
      config = config.add_default_collections if config.respond_to? :add_default_collections
      config = config.fix_common_issues if config.respond_to? :fix_common_issues
      config = config.add_default_excludes if config.respond_to? :add_default_excludes

      key = Jekyll::VERSION.start_with?("2") ? "gems" : "plugins"

      config[key] = Array(config[key])
      config[key].push("cloudcannon-jekyll") unless config[key].include? "cloudcannon-jekyll"
      config
    end

    def self.set(site)
      return if processed? site

      if site.respond_to? :config=
        site.config = overridden_config(site.config)
      else # Jekyll pre 3.5
        site.instance_variable_set :@config, overridden_config(site.config)
      end

      process(site)
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
cloudcannon-jekyll-1.4.1 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.4.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.2.1 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.3.3 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.3.2 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.3.1 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.3.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.2.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.2.3 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.2.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.1.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.1.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.0.8 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.0.3 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.0.7 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.0.2 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.0.6 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.0.1 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.0.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.0.5 lib/cloudcannon-jekyll/configuration.rb