Class: CloudCannonJekyll::Configuration
- Inherits:
-
Object
- Object
- CloudCannonJekyll::Configuration
- Defined in:
- lib/cloudcannon-jekyll/configuration.rb
Overview
Processes Jekyll configuration to enable the plugin is run and fix common issues
Class Method Summary collapse
- .overridden_config(user_config) ⇒ Object
- .process(site) ⇒ Object
- .processed?(site) ⇒ Boolean
- .set(site) ⇒ Object
Class Method Details
.overridden_config(user_config) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# 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) ⇒ Object
10 11 12 |
# File 'lib/cloudcannon-jekyll/configuration.rb', line 10 def self.process(site) site.instance_variable_set :@_cloudcannon_jekyll_processed, true end |
.processed?(site) ⇒ Boolean
6 7 8 |
# File 'lib/cloudcannon-jekyll/configuration.rb', line 6 def self.processed?(site) site.instance_variable_get(:@_cloudcannon_jekyll_processed) == true end |
.set(site) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# 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 |