class Jekyll::Converters::Markdown::RedcarpetParser
Public Class Methods
new(config)
click to toggle source
# File lib/jekyll/converters/markdown/redcarpet_parser.rb, line 57 def initialize(config) Deprecator.gracefully_require("redcarpet") @config = config @redcarpet_extensions = {} @config['redcarpet']['extensions'].each { |e| @redcarpet_extensions[e.to_sym] = true } @renderer ||= class_with_proper_highlighter(@config['highlighter']) end
Public Instance Methods
class_with_proper_highlighter(highlighter)
click to toggle source
# File lib/jekyll/converters/markdown/redcarpet_parser.rb, line 66 def class_with_proper_highlighter(highlighter) case highlighter when "pygments" Class.new(Redcarpet::Render::HTML) do include WithPygments end when "rouge" Class.new(Redcarpet::Render::HTML) do Jekyll::Deprecator.gracefully_require(%w[ rouge rouge/plugins/redcarpet ]) if Rouge.version < '1.3.0' abort "Please install Rouge 1.3.0 or greater and try running Jekyll again." end include Rouge::Plugins::Redcarpet include CommonMethods include WithRouge end else Class.new(Redcarpet::Render::HTML) do include WithoutHighlighting end end end
convert(content)
click to toggle source
# File lib/jekyll/converters/markdown/redcarpet_parser.rb, line 94 def convert(content) @redcarpet_extensions[:fenced_code_blocks] = !@redcarpet_extensions[:no_fenced_code_blocks] @renderer.send :include, Redcarpet::Render::SmartyPants if @redcarpet_extensions[:smart] markdown = Redcarpet::Markdown.new(@renderer.new(@redcarpet_extensions), @redcarpet_extensions) markdown.render(content) end