Module: Jekyll

Defined in:
lib/jekyll/convertible.rb,
lib/jekyll.rb,
lib/jekyll/page.rb,
lib/jekyll/post.rb,
lib/jekyll/site.rb,
lib/jekyll/errors.rb,
lib/jekyll/layout.rb,
lib/jekyll/plugin.rb,
lib/jekyll/filters.rb,
lib/jekyll/converter.rb,
lib/jekyll/generator.rb,
lib/jekyll/static_file.rb,
lib/jekyll/migrators/mt.rb,
lib/jekyll/tags/include.rb,
lib/jekyll/migrators/csv.rb,
lib/jekyll/migrators/typo.rb,
lib/jekyll/tags/highlight.rb,
lib/jekyll/converters/textile.rb,
lib/jekyll/migrators/mephisto.rb,
lib/jekyll/converters/identity.rb,
lib/jekyll/converters/markdown.rb,
lib/jekyll/migrators/wordpress.rb,
lib/jekyll/generators/pagination.rb,
lib/jekyll/migrators/textpattern.rb

Overview

NOTE: This converter requires Sequel and the MySQL gems. The MySQL gem can be difficult to install on OS X. Once you have MySQL installed, running the following commands should work: $ sudo gem install sequel $ sudo gem install mysql – –with-mysql-config=/usr/local/mysql/bin/mysql_config

Defined Under Namespace

Modules: CSV, Convertible, Filters, MT, Mephisto, TextPattern, Typo, WordPress Classes: Converter, FatalException, Generator, HighlightBlock, IdentityConverter, IncludeTag, Layout, MarkdownConverter, Page, Pager, Pagination, Plugin, Post, Site, StaticFile, TextileConverter

Constant Summary collapse

VERSION =
'0.7.0'
DEFAULTS =

Default options. Overriden by values in _config.yml or command-line opts. (Strings rather symbols used for compatability with YAML).

{
  'safe'         => false,
  'auto'         => false,
  'server'       => false,
  'server_port'  => 4000,

  'source'       => Dir.pwd,
  'destination'  => File.join(Dir.pwd, '_site'),
  'plugins'      => File.join(Dir.pwd, '_plugins'),

  'future'       => true,
  'lsi'          => false,
  'pygments'     => false,
  'markdown'     => 'maruku',
  'permalink'    => 'date',

  'maruku'       => {
    'use_tex'    => false,
    'use_divs'   => false,
    'png_engine' => 'blahtex',
    'png_dir'    => 'images/latex',
    'png_url'    => '/images/latex'
  },
  'rdiscount'    => {
    'extensions' => []
  }
}

Class Method Summary collapse

Class Method Details

.configuration(override) ⇒ Object

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::DEFAULTS for a
list of option names and their defaults.

Returns the final configuration Hash.



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/jekyll.rb', line 88

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