class GitHubPages::Configuration

def effective_config(user_config)

Note: this is a highly modified version of Jekyll#configuration

Returns the effective Configuration

values which themselves override our defaults.
configuration sandwhich with our overrides overriding the user's specified
Given a user's config, determines the effective configuration by building a user
def effective_config(user_config)
  # Merge user config into defaults
  config = Jekyll::Utils.deep_merge_hashes(defaults_for_env, user_config)
    .fix_common_issues
    .add_default_collections
  # Merge overwrites into user config
  config = Jekyll::Utils.deep_merge_hashes config, OVERRIDES
  # Ensure we have those gems we want.
  config["plugins"] = Array(config["plugins"]) | DEFAULT_PLUGINS
  if disable_whitelist?
    config["whitelist"] = config["whitelist"] | config["plugins"]
  end
  if development?
    config["whitelist"] = config["whitelist"] | DEVELOPMENT_PLUGINS
  end
  config
end