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
  # Allow theme to be explicitly disabled via "theme: null"
  config["theme"] = user_config["theme"] if user_config.key?("theme")
  migrate_theme_to_remote_theme(config)
  exclude_cname(config)
  # Merge overwrites into user config
  config = Jekyll::Utils.deep_merge_hashes config, OVERRIDES
  restrict_and_config_markdown_processor(config)
  configure_plugins(config)
  config
end