spinto-jekyll 0.11.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. data/Gemfile +2 -0
  2. data/History.txt +321 -0
  3. data/LICENSE +21 -0
  4. data/README.textile +41 -0
  5. data/Rakefile +166 -0
  6. data/bin/jekyll +289 -0
  7. data/cucumber.yml +1 -0
  8. data/features/create_sites.feature +112 -0
  9. data/features/embed_filters.feature +60 -0
  10. data/features/markdown.feature +30 -0
  11. data/features/pagination.feature +27 -0
  12. data/features/permalinks.feature +65 -0
  13. data/features/post_data.feature +153 -0
  14. data/features/site_configuration.feature +145 -0
  15. data/features/site_data.feature +82 -0
  16. data/features/step_definitions/jekyll_steps.rb +145 -0
  17. data/features/support/env.rb +19 -0
  18. data/lib/jekyll.rb +136 -0
  19. data/lib/jekyll/converter.rb +50 -0
  20. data/lib/jekyll/converters/identity.rb +22 -0
  21. data/lib/jekyll/converters/markdown.rb +125 -0
  22. data/lib/jekyll/converters/textile.rb +50 -0
  23. data/lib/jekyll/convertible.rb +112 -0
  24. data/lib/jekyll/core_ext.rb +52 -0
  25. data/lib/jekyll/errors.rb +6 -0
  26. data/lib/jekyll/filters.rb +118 -0
  27. data/lib/jekyll/generator.rb +7 -0
  28. data/lib/jekyll/generators/pagination.rb +113 -0
  29. data/lib/jekyll/layout.rb +44 -0
  30. data/lib/jekyll/migrators/csv.rb +26 -0
  31. data/lib/jekyll/migrators/drupal.rb +103 -0
  32. data/lib/jekyll/migrators/enki.rb +49 -0
  33. data/lib/jekyll/migrators/joomla.rb +53 -0
  34. data/lib/jekyll/migrators/marley.rb +52 -0
  35. data/lib/jekyll/migrators/mephisto.rb +84 -0
  36. data/lib/jekyll/migrators/mt.rb +86 -0
  37. data/lib/jekyll/migrators/posterous.rb +67 -0
  38. data/lib/jekyll/migrators/rss.rb +47 -0
  39. data/lib/jekyll/migrators/textpattern.rb +58 -0
  40. data/lib/jekyll/migrators/tumblr.rb +195 -0
  41. data/lib/jekyll/migrators/typo.rb +51 -0
  42. data/lib/jekyll/migrators/wordpress.rb +294 -0
  43. data/lib/jekyll/migrators/wordpressdotcom.rb +70 -0
  44. data/lib/jekyll/page.rb +155 -0
  45. data/lib/jekyll/plugin.rb +77 -0
  46. data/lib/jekyll/post.rb +257 -0
  47. data/lib/jekyll/site.rb +337 -0
  48. data/lib/jekyll/static_file.rb +72 -0
  49. data/lib/jekyll/tags/highlight.rb +76 -0
  50. data/lib/jekyll/tags/include.rb +37 -0
  51. data/lib/jekyll/tags/post_url.rb +38 -0
  52. data/lib/spinto-jekyll.rb +3 -0
  53. data/spinto-jekyll.gemspec +155 -0
  54. data/test/helper.rb +34 -0
  55. data/test/source/.htaccess +8 -0
  56. data/test/source/_includes/sig.markdown +3 -0
  57. data/test/source/_layouts/default.html +27 -0
  58. data/test/source/_layouts/simple.html +1 -0
  59. data/test/source/_posts/2008-02-02-not-published.textile +8 -0
  60. data/test/source/_posts/2008-02-02-published.textile +8 -0
  61. data/test/source/_posts/2008-10-18-foo-bar.textile +8 -0
  62. data/test/source/_posts/2008-11-21-complex.textile +8 -0
  63. data/test/source/_posts/2008-12-03-permalinked-post.textile +9 -0
  64. data/test/source/_posts/2008-12-13-include.markdown +8 -0
  65. data/test/source/_posts/2009-01-27-array-categories.textile +10 -0
  66. data/test/source/_posts/2009-01-27-categories.textile +7 -0
  67. data/test/source/_posts/2009-01-27-category.textile +7 -0
  68. data/test/source/_posts/2009-01-27-empty-categories.textile +7 -0
  69. data/test/source/_posts/2009-01-27-empty-category.textile +7 -0
  70. data/test/source/_posts/2009-03-12-hash-#1.markdown +6 -0
  71. data/test/source/_posts/2009-05-18-empty-tag.textile +6 -0
  72. data/test/source/_posts/2009-05-18-empty-tags.textile +6 -0
  73. data/test/source/_posts/2009-05-18-tag.textile +6 -0
  74. data/test/source/_posts/2009-05-18-tags.textile +9 -0
  75. data/test/source/_posts/2009-06-22-empty-yaml.textile +3 -0
  76. data/test/source/_posts/2009-06-22-no-yaml.textile +1 -0
  77. data/test/source/_posts/2010-01-08-triple-dash.markdown +5 -0
  78. data/test/source/_posts/2010-01-09-date-override.textile +7 -0
  79. data/test/source/_posts/2010-01-09-time-override.textile +7 -0
  80. data/test/source/_posts/2010-01-09-timezone-override.textile +7 -0
  81. data/test/source/_posts/2010-01-16-override-data.textile +4 -0
  82. data/test/source/_posts/2011-04-12-md-extension.md +7 -0
  83. data/test/source/_posts/2011-04-12-text-extension.text +0 -0
  84. data/test/source/about.html +6 -0
  85. data/test/source/category/_posts/2008-9-23-categories.textile +6 -0
  86. data/test/source/contacts.html +5 -0
  87. data/test/source/css/screen.css +76 -0
  88. data/test/source/deal.with.dots.html +7 -0
  89. data/test/source/foo/_posts/bar/2008-12-12-topical-post.textile +8 -0
  90. data/test/source/index.html +22 -0
  91. data/test/source/sitemap.xml +32 -0
  92. data/test/source/win/_posts/2009-05-24-yaml-linebreak.markdown +7 -0
  93. data/test/source/z_category/_posts/2008-9-23-categories.textile +6 -0
  94. data/test/suite.rb +11 -0
  95. data/test/test_configuration.rb +29 -0
  96. data/test/test_core_ext.rb +66 -0
  97. data/test/test_filters.rb +62 -0
  98. data/test/test_generated_site.rb +72 -0
  99. data/test/test_kramdown.rb +23 -0
  100. data/test/test_page.rb +117 -0
  101. data/test/test_pager.rb +113 -0
  102. data/test/test_post.rb +456 -0
  103. data/test/test_rdiscount.rb +18 -0
  104. data/test/test_redcarpet.rb +21 -0
  105. data/test/test_redcloth.rb +86 -0
  106. data/test/test_site.rb +220 -0
  107. data/test/test_tags.rb +201 -0
  108. metadata +336 -0
@@ -0,0 +1,145 @@
1
+ Before do
2
+ FileUtils.mkdir(TEST_DIR)
3
+ Dir.chdir(TEST_DIR)
4
+ end
5
+
6
+ After do
7
+ Dir.chdir(TEST_DIR)
8
+ FileUtils.rm_rf(TEST_DIR)
9
+ end
10
+
11
+ Given /^I have a blank site in "(.*)"$/ do |path|
12
+ FileUtils.mkdir(path)
13
+ end
14
+
15
+ # Like "I have a foo file" but gives a yaml front matter so jekyll actually processes it
16
+ Given /^I have an? "(.*)" page(?: with (.*) "(.*)")? that contains "(.*)"$/ do |file, key, value, text|
17
+ File.open(file, 'w') do |f|
18
+ f.write <<EOF
19
+ ---
20
+ #{key || 'layout'}: #{value || 'nil'}
21
+ ---
22
+ #{text}
23
+ EOF
24
+ f.close
25
+ end
26
+ end
27
+
28
+ Given /^I have an? "(.*)" file that contains "(.*)"$/ do |file, text|
29
+ File.open(file, 'w') do |f|
30
+ f.write(text)
31
+ f.close
32
+ end
33
+ end
34
+
35
+ Given /^I have a (.*) layout that contains "(.*)"$/ do |layout, text|
36
+ File.open(File.join('_layouts', layout + '.html'), 'w') do |f|
37
+ f.write(text)
38
+ f.close
39
+ end
40
+ end
41
+
42
+ Given /^I have an? (.*) directory$/ do |dir|
43
+ FileUtils.mkdir_p(dir)
44
+ end
45
+
46
+ Given /^I have the following posts?(?: (.*) "(.*)")?:$/ do |direction, folder, table|
47
+ table.hashes.each do |post|
48
+ date = Date.strptime(post['date'], '%m/%d/%Y').strftime('%Y-%m-%d')
49
+ title = post['title'].downcase.gsub(/[^\w]/, " ").strip.gsub(/\s+/, '-')
50
+
51
+ if direction && direction == "in"
52
+ before = folder || '.'
53
+ elsif direction && direction == "under"
54
+ after = folder || '.'
55
+ end
56
+
57
+ path = File.join(before || '.', '_posts', after || '.', "#{date}-#{title}.#{post['type'] || 'textile'}")
58
+
59
+ matter_hash = {}
60
+ %w(title layout tag tags category categories published author).each do |key|
61
+ matter_hash[key] = post[key] if post[key]
62
+ end
63
+ matter = matter_hash.map { |k, v| "#{k}: #{v}\n" }.join.chomp
64
+
65
+ content = post['content']
66
+ if post['input'] && post['filter']
67
+ content = "{{ #{post['input']} | #{post['filter']} }}"
68
+ end
69
+
70
+ File.open(path, 'w') do |f|
71
+ f.write <<EOF
72
+ ---
73
+ #{matter}
74
+ ---
75
+ #{content}
76
+ EOF
77
+ f.close
78
+ end
79
+ end
80
+ end
81
+
82
+ Given /^I have a configuration file with "(.*)" set to "(.*)"$/ do |key, value|
83
+ File.open('_config.yml', 'w') do |f|
84
+ f.write("#{key}: #{value}\n")
85
+ f.close
86
+ end
87
+ end
88
+
89
+ Given /^I have a configuration file with:$/ do |table|
90
+ File.open('_config.yml', 'w') do |f|
91
+ table.hashes.each do |row|
92
+ f.write("#{row["key"]}: #{row["value"]}\n")
93
+ end
94
+ f.close
95
+ end
96
+ end
97
+
98
+ Given /^I have a configuration file with "([^\"]*)" set to:$/ do |key, table|
99
+ File.open('_config.yml', 'w') do |f|
100
+ f.write("#{key}:\n")
101
+ table.hashes.each do |row|
102
+ f.write("- #{row["value"]}\n")
103
+ end
104
+ f.close
105
+ end
106
+ end
107
+
108
+
109
+ When /^I run jekyll$/ do
110
+ run_jekyll
111
+ end
112
+
113
+ When /^I debug jekyll$/ do
114
+ run_jekyll(:debug => true)
115
+ end
116
+
117
+ When /^I change "(.*)" to contain "(.*)"$/ do |file, text|
118
+ File.open(file, 'a') do |f|
119
+ f.write(text)
120
+ end
121
+ end
122
+
123
+ Then /^the (.*) directory should exist$/ do |dir|
124
+ assert File.directory?(dir)
125
+ end
126
+
127
+ Then /^I should see "(.*)" in "(.*)"$/ do |text, file|
128
+ assert_match Regexp.new(text), File.open(file).readlines.join
129
+ end
130
+
131
+ Then /^the "(.*)" file should exist$/ do |file|
132
+ assert File.file?(file)
133
+ end
134
+
135
+ Then /^the "(.*)" file should not exist$/ do |file|
136
+ assert !File.exists?(file)
137
+ end
138
+
139
+ Then /^I should see today's time in "(.*)"$/ do |file|
140
+ assert_match Regexp.new(Regexp.escape(Time.now.to_s)), File.open(file).readlines.join
141
+ end
142
+
143
+ Then /^I should see today's date in "(.*)"$/ do |file|
144
+ assert_match Regexp.new(Date.today.to_s), File.open(file).readlines.join
145
+ end
@@ -0,0 +1,19 @@
1
+ require 'fileutils'
2
+ require 'rr'
3
+ require 'test/unit'
4
+
5
+ World do
6
+ include Test::Unit::Assertions
7
+ end
8
+
9
+ TEST_DIR = File.join('/', 'tmp', 'jekyll')
10
+ JEKYLL_PATH = File.join(ENV['PWD'], 'bin', 'jekyll')
11
+
12
+ def run_jekyll(opts = {})
13
+ command = JEKYLL_PATH
14
+ command << " >> /dev/null 2>&1" if opts[:debug].nil?
15
+ system command
16
+ end
17
+
18
+ # work around "invalid option: --format" cucumber bug (see #296)
19
+ Test::Unit.run = true if RUBY_VERSION < '1.9'
data/lib/jekyll.rb ADDED
@@ -0,0 +1,136 @@
1
+ $:.unshift File.dirname(__FILE__) # For use/testing when no gem is installed
2
+
3
+ # Require all of the Ruby files in the given directory.
4
+ #
5
+ # path - The String relative path from here to the directory.
6
+ #
7
+ # Returns nothing.
8
+ def require_all(path)
9
+ glob = File.join(File.dirname(__FILE__), path, '*.rb')
10
+ Dir[glob].each do |f|
11
+ require f
12
+ end
13
+ end
14
+
15
+ # rubygems
16
+ require 'rubygems'
17
+
18
+ # stdlib
19
+ require 'fileutils'
20
+ require 'time'
21
+ require 'yaml'
22
+ require 'English'
23
+
24
+ # 3rd party
25
+ require 'liquid'
26
+ require 'maruku'
27
+ require 'albino'
28
+
29
+ # internal requires
30
+ require 'jekyll/core_ext'
31
+ require 'jekyll/site'
32
+ require 'jekyll/convertible'
33
+ require 'jekyll/layout'
34
+ require 'jekyll/page'
35
+ require 'jekyll/post'
36
+ require 'jekyll/filters'
37
+ require 'jekyll/static_file'
38
+ require 'jekyll/errors'
39
+
40
+ # extensions
41
+ require 'jekyll/plugin'
42
+ require 'jekyll/converter'
43
+ require 'jekyll/generator'
44
+ require_all 'jekyll/converters'
45
+ require_all 'jekyll/generators'
46
+ require_all 'jekyll/tags'
47
+
48
+ module Jekyll
49
+ VERSION = '0.11.2'
50
+
51
+ # Default options. Overriden by values in _config.yml or command-line opts.
52
+ # (Strings rather symbols used for compatability with YAML).
53
+ DEFAULTS = {
54
+ 'safe' => false,
55
+ 'auto' => false,
56
+ 'server' => false,
57
+ 'server_port' => 4000,
58
+
59
+ 'source' => Dir.pwd,
60
+ 'destination' => File.join(Dir.pwd, '_site'),
61
+ 'plugins' => File.join(Dir.pwd, '_plugins'),
62
+
63
+ 'future' => true,
64
+ 'lsi' => false,
65
+ 'pygments' => false,
66
+ 'markdown' => 'maruku',
67
+ 'permalink' => 'date',
68
+ 'include' => ['.htaccess'],
69
+
70
+ 'markdown_ext' => 'markdown,mkd,mkdn,md',
71
+ 'textile_ext' => 'textile',
72
+
73
+ 'maruku' => {
74
+ 'use_tex' => false,
75
+ 'use_divs' => false,
76
+ 'png_engine' => 'blahtex',
77
+ 'png_dir' => 'images/latex',
78
+ 'png_url' => '/images/latex'
79
+ },
80
+ 'rdiscount' => {
81
+ 'extensions' => []
82
+ },
83
+ 'redcarpet' => {
84
+ 'extensions' => []
85
+ },
86
+ 'kramdown' => {
87
+ 'auto_ids' => true,
88
+ 'footnote_nr' => 1,
89
+ 'entity_output' => 'as_char',
90
+ 'toc_levels' => '1..6',
91
+ 'use_coderay' => false,
92
+
93
+ 'coderay' => {
94
+ 'coderay_wrap' => 'div',
95
+ 'coderay_line_numbers' => 'inline',
96
+ 'coderay_line_number_start' => 1,
97
+ 'coderay_tab_width' => 4,
98
+ 'coderay_bold_every' => 10,
99
+ 'coderay_css' => 'style'
100
+ }
101
+ },
102
+ 'redcloth' => {
103
+ 'hard_breaks' => true
104
+ }
105
+ }
106
+
107
+ # Public: Generate a Jekyll configuration Hash by merging the default
108
+ # options with anything in _config.yml, and adding the given options on top.
109
+ #
110
+ # override - A Hash of config directives that override any options in both
111
+ # the defaults and the config file. See Jekyll::DEFAULTS for a
112
+ # list of option names and their defaults.
113
+ #
114
+ # Returns the final configuration Hash.
115
+ def self.configuration(override)
116
+ # _config.yml may override default source location, but until
117
+ # then, we need to know where to look for _config.yml
118
+ source = override['source'] || Jekyll::DEFAULTS['source']
119
+
120
+ # Get configuration from <source>/_config.yml
121
+ config_file = File.join(source, '_config.yml')
122
+ begin
123
+ config = YAML.load_file(config_file)
124
+ raise "Invalid configuration - #{config_file}" if !config.is_a?(Hash)
125
+ $stdout.puts "Configuration from #{config_file}"
126
+ rescue => err
127
+ $stderr.puts "WARNING: Could not read configuration. " +
128
+ "Using defaults (and options)."
129
+ $stderr.puts "\t" + err.to_s
130
+ config = {}
131
+ end
132
+
133
+ # Merge DEFAULTS < _config.yml < override
134
+ Jekyll::DEFAULTS.deep_merge(config).deep_merge(override)
135
+ end
136
+ end
@@ -0,0 +1,50 @@
1
+ module Jekyll
2
+
3
+ class Converter < Plugin
4
+ # Public: Get or set the pygments prefix. When an argument is specified,
5
+ # the prefix will be set. If no argument is specified, the current prefix
6
+ # will be returned.
7
+ #
8
+ # pygments_prefix - The String prefix (default: nil).
9
+ #
10
+ # Returns the String prefix.
11
+ def self.pygments_prefix(pygments_prefix = nil)
12
+ @pygments_prefix = pygments_prefix if pygments_prefix
13
+ @pygments_prefix
14
+ end
15
+
16
+ # Public: Get or set the pygments suffix. When an argument is specified,
17
+ # the suffix will be set. If no argument is specified, the current suffix
18
+ # will be returned.
19
+ #
20
+ # pygments_suffix - The String suffix (default: nil).
21
+ #
22
+ # Returns the String suffix.
23
+ def self.pygments_suffix(pygments_suffix = nil)
24
+ @pygments_suffix = pygments_suffix if pygments_suffix
25
+ @pygments_suffix
26
+ end
27
+
28
+ # Initialize the converter.
29
+ #
30
+ # Returns an initialized Converter.
31
+ def initialize(config = {})
32
+ @config = config
33
+ end
34
+
35
+ # Get the pygments prefix.
36
+ #
37
+ # Returns the String prefix.
38
+ def pygments_prefix
39
+ self.class.pygments_prefix
40
+ end
41
+
42
+ # Get the pygments suffix.
43
+ #
44
+ # Returns the String suffix.
45
+ def pygments_suffix
46
+ self.class.pygments_suffix
47
+ end
48
+ end
49
+
50
+ end
@@ -0,0 +1,22 @@
1
+ module Jekyll
2
+
3
+ class IdentityConverter < Converter
4
+ safe true
5
+
6
+ priority :lowest
7
+
8
+ def matches(ext)
9
+ true
10
+ end
11
+
12
+ def output_ext(ext)
13
+ ext
14
+ end
15
+
16
+ def convert(content)
17
+ content
18
+ end
19
+
20
+ end
21
+
22
+ end
@@ -0,0 +1,125 @@
1
+ module Jekyll
2
+
3
+ class MarkdownConverter < Converter
4
+ safe true
5
+
6
+ pygments_prefix "\n"
7
+ pygments_suffix "\n"
8
+
9
+ def setup
10
+ return if @setup
11
+ # Set the Markdown interpreter (and Maruku self.config, if necessary)
12
+ case @config['markdown']
13
+ when 'redcarpet'
14
+ begin
15
+ require 'redcarpet'
16
+ @redcarpet_extensions = @config['redcarpet']['extensions'].map { |e| e.to_sym }
17
+ rescue LoadError
18
+ STDERR.puts 'You are missing a library required for Markdown. Please run:'
19
+ STDERR.puts ' $ [sudo] gem install redcarpet'
20
+ raise FatalException.new("Missing dependency: redcarpet")
21
+ end
22
+ when 'kramdown'
23
+ begin
24
+ require 'kramdown'
25
+ rescue LoadError
26
+ STDERR.puts 'You are missing a library required for Markdown. Please run:'
27
+ STDERR.puts ' $ [sudo] gem install kramdown'
28
+ raise FatalException.new("Missing dependency: kramdown")
29
+ end
30
+ when 'rdiscount'
31
+ begin
32
+ require 'rdiscount'
33
+
34
+ # Load rdiscount extensions
35
+ @rdiscount_extensions = @config['rdiscount']['extensions'].map { |e| e.to_sym }
36
+ rescue LoadError
37
+ STDERR.puts 'You are missing a library required for Markdown. Please run:'
38
+ STDERR.puts ' $ [sudo] gem install rdiscount'
39
+ raise FatalException.new("Missing dependency: rdiscount")
40
+ end
41
+ when 'maruku'
42
+ begin
43
+ require 'maruku'
44
+
45
+ if @config['maruku']['use_divs']
46
+ require 'maruku/ext/div'
47
+ STDERR.puts 'Maruku: Using extended syntax for div elements.'
48
+ end
49
+
50
+ if @config['maruku']['use_tex']
51
+ require 'maruku/ext/math'
52
+ STDERR.puts "Maruku: Using LaTeX extension. Images in `#{@config['maruku']['png_dir']}`."
53
+
54
+ # Switch off MathML output
55
+ MaRuKu::Globals[:html_math_output_mathml] = false
56
+ MaRuKu::Globals[:html_math_engine] = 'none'
57
+
58
+ # Turn on math to PNG support with blahtex
59
+ # Resulting PNGs stored in `images/latex`
60
+ MaRuKu::Globals[:html_math_output_png] = true
61
+ MaRuKu::Globals[:html_png_engine] = @config['maruku']['png_engine']
62
+ MaRuKu::Globals[:html_png_dir] = @config['maruku']['png_dir']
63
+ MaRuKu::Globals[:html_png_url] = @config['maruku']['png_url']
64
+ end
65
+ rescue LoadError
66
+ STDERR.puts 'You are missing a library required for Markdown. Please run:'
67
+ STDERR.puts ' $ [sudo] gem install maruku'
68
+ raise FatalException.new("Missing dependency: maruku")
69
+ end
70
+ else
71
+ STDERR.puts "Invalid Markdown processor: #{@config['markdown']}"
72
+ STDERR.puts " Valid options are [ maruku | rdiscount | kramdown ]"
73
+ raise FatalException.new("Invalid Markdown process: #{@config['markdown']}")
74
+ end
75
+ @setup = true
76
+ end
77
+
78
+ def matches(ext)
79
+ rgx = '(' + @config['markdown_ext'].gsub(',','|') +')'
80
+ ext =~ Regexp.new(rgx, Regexp::IGNORECASE)
81
+ end
82
+
83
+ def output_ext(ext)
84
+ ".html"
85
+ end
86
+
87
+ def convert(content)
88
+ setup
89
+ case @config['markdown']
90
+ when 'redcarpet'
91
+ Redcarpet.new(content, *@redcarpet_extensions).to_html
92
+ when 'kramdown'
93
+ # Check for use of coderay
94
+ if @config['kramdown']['use_coderay']
95
+ Kramdown::Document.new(content, {
96
+ :auto_ids => @config['kramdown']['auto_ids'],
97
+ :footnote_nr => @config['kramdown']['footnote_nr'],
98
+ :entity_output => @config['kramdown']['entity_output'],
99
+ :toc_levels => @config['kramdown']['toc_levels'],
100
+
101
+ :coderay_wrap => @config['kramdown']['coderay']['coderay_wrap'],
102
+ :coderay_line_numbers => @config['kramdown']['coderay']['coderay_line_numbers'],
103
+ :coderay_line_number_start => @config['kramdown']['coderay']['coderay_line_number_start'],
104
+ :coderay_tab_width => @config['kramdown']['coderay']['coderay_tab_width'],
105
+ :coderay_bold_every => @config['kramdown']['coderay']['coderay_bold_every'],
106
+ :coderay_css => @config['kramdown']['coderay']['coderay_css']
107
+ }).to_html
108
+ else
109
+ # not using coderay
110
+ Kramdown::Document.new(content, {
111
+ :auto_ids => @config['kramdown']['auto_ids'],
112
+ :footnote_nr => @config['kramdown']['footnote_nr'],
113
+ :entity_output => @config['kramdown']['entity_output'],
114
+ :toc_levels => @config['kramdown']['toc_levels']
115
+ }).to_html
116
+ end
117
+ when 'rdiscount'
118
+ RDiscount.new(content, *@rdiscount_extensions).to_html
119
+ when 'maruku'
120
+ Maruku.new(content).to_html
121
+ end
122
+ end
123
+ end
124
+
125
+ end