class CloudCannonJekyll::Configuration

Processes Jekyll configuration to enable the plugin is run and fix common issues

Public Class Methods

overridden_config(user_config) click to toggle source
# File lib/cloudcannon-jekyll/configuration.rb, line 14
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
process(site) click to toggle source
# File lib/cloudcannon-jekyll/configuration.rb, line 10
def self.process(site)
  site.instance_variable_set :@_cloudcannon_jekyll_processed, true
end
processed?(site) click to toggle source
# File lib/cloudcannon-jekyll/configuration.rb, line 6
def self.processed?(site)
  site.instance_variable_get(:@_cloudcannon_jekyll_processed) == true
end
set(site) click to toggle source
# File lib/cloudcannon-jekyll/configuration.rb, line 27
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