class Tilt::RedcarpetTemplate::Redcarpet2

Future proof mode for Redcarpet 2.x (not yet released)

Public Class Methods

engine_initialized?() click to toggle source
# File lib/tilt/markdown.rb, line 82
def self.engine_initialized?
  defined? ::Redcarpet::Render
end

Public Instance Methods

evaluate(scope, locals, &block) click to toggle source
# File lib/tilt/markdown.rb, line 116
def evaluate(scope, locals, &block)
  @output ||= @engine.render(data)
end
generate_renderer() click to toggle source
# File lib/tilt/markdown.rb, line 86
def generate_renderer
  renderer = options.delete(:renderer) || Redcarpet::Render::HTML
  return renderer unless options.delete(:smartypants)
  return renderer if renderer <= Redcarpet::Render::SmartyPants

  if renderer == Redcarpet::Render::XHTML
    Redcarpet::Render::SmartyHTML.new(:xhtml => true)
  elsif renderer == Redcarpet::Render::HTML
    Redcarpet::Render::SmartyHTML
  elsif renderer.is_a? Class
    Class.new(renderer) { include Redcarpet::Render::SmartyPants }
  else
    renderer.extend Redcarpet::Render::SmartyPants
  end
end
prepare() click to toggle source
# File lib/tilt/markdown.rb, line 102
def prepare
  # try to support the same aliases
  RDiscountTemplate::ALIAS.each do |opt, aka|
    next if options.key? opt or not options.key? aka
    options[opt] = options.delete(aka)
  end

  # only raise an exception if someone is trying to enable :escape_html
  options.delete(:escape_html) unless options[:escape_html]

  @engine = Redcarpet::Markdown.new(generate_renderer, options)
  @output = nil
end