Class: Magnet::Markdown::Processor

Inherits:
Object
  • Object
show all
Defined in:
lib/magnet/markdown/processor.rb

Constant Summary collapse

DEFAULT_CONTEXT =
{
  emoji_root: '/images'
}.freeze
DEFAULT_FILTERS =
[
  Magnet::Markdown::Filter::Markdown,
  Magnet::Markdown::Filter::Sanitize,
  HTML::Pipeline::ImageMaxWidthFilter,
  Magnet::Markdown::Filter::Emoji
].freeze

Instance Method Summary collapse

Constructor Details

#initialize(context = nil) ⇒ Processor

Returns a new instance of Processor.



17
18
19
20
# File 'lib/magnet/markdown/processor.rb', line 17

def initialize(context = nil)
  context ||= {}
  @context = DEFAULT_CONTEXT.merge(context)
end

Instance Method Details

#call(input, context = nil) ⇒ Object



22
23
24
# File 'lib/magnet/markdown/processor.rb', line 22

def call(input, context = nil)
  HTML::Pipeline.new(filters, @context).call(input, context || {})
end

#filtersObject



26
27
28
# File 'lib/magnet/markdown/processor.rb', line 26

def filters
  @filters ||= DEFAULT_FILTERS.dup
end