class Middleman::Renderers::RedcarpetTemplate

Public Class Methods

new(*args, &block) click to toggle source
Calls superclass method
# File lib/middleman-core/renderers/redcarpet.rb, line 8
def initialize(*args, &block)
  super
  
  if @options.has_key?(:context)
    @context = @options[:context]
  end
end

Public Instance Methods

evaluate(context, locals, &block) click to toggle source
Calls superclass method
# File lib/middleman-core/renderers/redcarpet.rb, line 43
def evaluate(context, locals, &block)
  @context ||= context

  if @engine.renderer.respond_to? :middleman_app=
    @engine.renderer.middleman_app = @context
  end
  super
end
generate_renderer() click to toggle source

Overwrite built-in Tilt version. Don’t overload :renderer option with smartypants Support renderer-level options

# File lib/middleman-core/renderers/redcarpet.rb, line 19
def generate_renderer
  return options.delete(:renderer) if options.has_key?(:renderer)

  # Pick a renderer
  renderer = MiddlemanRedcarpetHTML

  # Support SmartyPants
  if options.delete(:smartypants)
    renderer = Class.new(renderer) do
      include ::Redcarpet::Render::SmartyPants
    end
  end

  # Renderer Options
  possible_render_opts = [:filter_html, :no_images, :no_links, :no_styles, :safe_links_only, :with_toc_data, :hard_wrap, :xhtml]

  render_options = possible_render_opts.inject({}) do |sum, opt|
    sum[opt] = options.delete(opt) if options.has_key?(opt)
    sum
  end

  renderer.new(render_options)
end