class Tilt::RedcarpetTemplate::Redcarpet2

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

def self.engine_initialized?

def self.engine_initialized?
  defined? ::Redcarpet::Render
end

def evaluate(scope, locals, &block)

def evaluate(scope, locals, &block)
  @output ||= @engine.render(data)
end

def generate_renderer

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

def prepare

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