Class: PotMarkdown::Processor

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

Constant Summary collapse

DEFAULT_CONTEXT =
{
  asset_root: '/assets'
}.freeze
DEFAULT_FILTERS =
[
  PotMarkdown::Filters::MarkdownFilter,
  PotMarkdown::Filters::TOCFilter,
  PotMarkdown::Filters::MentionFilter,
  PotMarkdown::Filters::CheckboxFilter,
  HTML::Pipeline::AutolinkFilter,
  HTML::Pipeline::EmojiFilter,
  PotMarkdown::Filters::SanitizeHTMLFilter,
  PotMarkdown::Filters::SanitizeScriptFilter,
  PotMarkdown::Filters::SanitizeIframeFilter
].freeze

Instance Method Summary collapse

Constructor Details

#initialize(default_context = {}) ⇒ Processor

Returns a new instance of Processor.



14
15
16
# File 'lib/pot_markdown/processor.rb', line 14

def initialize(default_context = {})
  @default_context = DEFAULT_CONTEXT.merge(default_context)
end

Instance Method Details

#call(str, context = {}) ⇒ Object



18
19
20
# File 'lib/pot_markdown/processor.rb', line 18

def call(str, context = {})
  HTML::Pipeline.new(filters, @default_context.merge(context)).call(str)
end

#filtersObject



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

def filters
  @filters ||= DEFAULT_FILTERS.dup
end