Class: Banzai::Filter::MarkdownFilter

Inherits:
HTML::Pipeline::TextFilter
  • Object
show all
Defined in:
lib/banzai/filter/markdown_filter.rb

Constant Summary collapse

DEFAULT_ENGINE =
:common_mark

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(text, context = nil, result = nil) ⇒ MarkdownFilter

Returns a new instance of MarkdownFilter.



8
9
10
11
12
13
# File 'lib/banzai/filter/markdown_filter.rb', line 8

def initialize(text, context = nil, result = nil)
  super(text, context, result)

  @renderer = self.class.render_engine(context[:markdown_engine]).new(context)
  @text = @text.delete("\r")
end

Class Method Details

.render_engine(engine_from_context) ⇒ Object



20
21
22
23
24
# File 'lib/banzai/filter/markdown_filter.rb', line 20

def render_engine(engine_from_context)
  "Banzai::Filter::MarkdownEngines::#{engine(engine_from_context)}".constantize
rescue NameError
  raise NameError, "`#{engine_from_context}` is unknown markdown engine"
end

Instance Method Details

#callObject



15
16
17
# File 'lib/banzai/filter/markdown_filter.rb', line 15

def call
  @renderer.render(@text).rstrip
end