Sha256: a58706ee54a2b9e606e582869c2b6e1586503e84dc562235078b6dfd0089a2d5

Contents?: true

Size: 1.27 KB

Versions: 26

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true

module CloudCannonJekyll
  # Processes Jekyll configuration to enable the plugin is run and fix common issues
  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

26 entries across 26 versions & 1 rubygems

Version Path
cloudcannon-jekyll-2.3.4 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-2.3.3 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-2.3.2 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-2.3.1 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-2.3.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-2.2.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-2.1.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-2.0.2 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-2.0.1 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.5.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-2.0.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.6.1 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.4.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.6.0 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.5.7 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.5.6 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.5.5 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.3.4 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-1.5.4 lib/cloudcannon-jekyll/configuration.rb
cloudcannon-jekyll-0.3.3 lib/cloudcannon-jekyll/configuration.rb