$:.unshift File.dirname(__FILE__) # For use/testing when no gem is installed # Require all of the Ruby files in the given directory. # # path - The String relative path from here to the directory. # # Returns nothing. def require_all(path) glob = File.join(File.dirname(__FILE__), path, '*.rb') Dir[glob].each do |f| require f end end # rubygems require 'rubygems' # stdlib require 'fileutils' require 'time' require 'safe_yaml' require 'English' # 3rd party require 'liquid' require 'maruku' require 'pygments' # internal requires require 'jekyll/core_ext' require 'jekyll/logger' require 'jekyll/deprecator' require 'jekyll/configuration' require 'jekyll/site' require 'jekyll/convertible' require 'jekyll/layout' require 'jekyll/page' require 'jekyll/post' require 'jekyll/draft' require 'jekyll/filters' require 'jekyll/static_file' require 'jekyll/errors' # extensions require 'jekyll/plugin' require 'jekyll/converter' require 'jekyll/generator' require 'jekyll/command' require_all 'jekyll/commands' require_all 'jekyll/converters' require_all 'jekyll/generators' require_all 'jekyll/tags' SafeYAML::OPTIONS[:suppress_warnings] = true module Jekyll VERSION = '1.0.0.beta4' extend Logger # Public: Generate a Jekyll configuration Hash by merging the default # options with anything in _config.yml, and adding the given options on top. # # override - A Hash of config directives that override any options in both # the defaults and the config file. See Jekyll::Configuration::DEFAULTS for a # list of option names and their defaults. # # Returns the final configuration Hash. def self.configuration(override) config = Configuration[Configuration::DEFAULTS] override = Configuration[override].stringify_keys config = config.read_config_files(config.config_files(override)) # Merge DEFAULTS < _config.yml < override config.deep_merge(override).stringify_keys end end