# File lib/jekyll.rb, line 60 def self.configuration(override) # _config.yml may override default source location, but until # then, we need to know where to look for _config.yml source = override['source'] || Jekyll::DEFAULTS['source'] # Get configuration from <source>/_config.yml config_file = File.join(source, '_config.yml') begin config = YAML.load_file(config_file) raise "Invalid configuration - #{config_file}" if !config.is_a?(Hash) STDOUT.puts "Configuration from #{config_file}" rescue => err STDERR.puts "WARNING: Could not read configuration. Using defaults (and options)." STDERR.puts "\t" + err.to_s config = {} end # Merge DEFAULTS < _config.yml < override Jekyll::DEFAULTS.deep_merge(config).deep_merge(override) end