class Middleman::Renderers::RedcarpetTemplate

Constants

ALIASES

because tilt has decided to convert these in the wrong direction

Public Class Methods

new(*args, &block) click to toggle source
Calls superclass method
# File lib/middleman-core/renderers/redcarpet.rb, line 13
def initialize(*args, &block)
  super

  @context = @options[:context] if @options.key?(:context)
end

Public Instance Methods

evaluate(scope, _) click to toggle source
# File lib/middleman-core/renderers/redcarpet.rb, line 47
def evaluate(scope, _)
  @output ||= begin
    MiddlemanRedcarpetHTML.scope = @context || scope

    @engine.render(data)
  end
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 22
def generate_renderer
  return options.delete(:renderer) if options.key?(:renderer)

  covert_options_to_aliases!

  # Pick a renderer
  renderer = MiddlemanRedcarpetHTML

  if options.delete(:smartypants)
    # Support 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, :prettify, :link_attributes]

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

  renderer.new(render_options)
end

Private Instance Methods

covert_options_to_aliases!() click to toggle source
# File lib/middleman-core/renderers/redcarpet.rb, line 57
def covert_options_to_aliases!
  ALIASES.each do |aka, actual|
    options[actual] = options.delete(aka) if options.key? aka
  end
end