Class: Tilt::RedcarpetTemplate::Redcarpet2

Inherits:
Template show all
Defined in:
lib/vendor/tilt-1.4.1/lib/tilt/markdown.rb

Overview

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

Instance Attribute Summary

Attributes inherited from Template

#data, #file, #line, #options

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Template

#basename, #default_encoding, #eval_file, #initialize, #name, #read_template_file, #render

Constructor Details

This class inherits a constructor from Tilt::Template

Class Method Details

.engine_initialized?Boolean

Returns:

  • (Boolean)


90
91
92
# File 'lib/vendor/tilt-1.4.1/lib/tilt/markdown.rb', line 90

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

Instance Method Details

#allows_script?Boolean

Returns:

  • (Boolean)


128
129
130
# File 'lib/vendor/tilt-1.4.1/lib/tilt/markdown.rb', line 128

def allows_script?
  false
end

#evaluate(scope, locals, &block) ⇒ Object



124
125
126
# File 'lib/vendor/tilt-1.4.1/lib/tilt/markdown.rb', line 124

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

#generate_rendererObject



94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/vendor/tilt-1.4.1/lib/tilt/markdown.rb', line 94

def generate_renderer
  renderer = options.delete(:renderer) || ::Redcarpet::Render::HTML
  return renderer unless options.delete(:smartypants)
  return renderer if renderer.is_a?(Class) && 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

#prepareObject



110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/vendor/tilt-1.4.1/lib/tilt/markdown.rb', line 110

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