Sha256: 528a72ee89a6238bf543ca776c5bea5ec64697d07e933c1849607f0bf807057c

Contents?: true

Size: 643 Bytes

Versions: 4

Compression:

Stored size: 643 Bytes

Contents

require 'html/pipeline'
require 'magnet/markdown'
require 'magnet/markdown/filter'

class Magnet::Markdown::Processor
  DEFAULT_CONTEXT = {
    emoji_root: '/images'
  }.freeze

  DEFAULT_FILTERS = [
    Magnet::Markdown::Filter::Markdown,
    Magnet::Markdown::Filter::Sanitize,
    HTML::Pipeline::ImageMaxWidthFilter,
    Magnet::Markdown::Filter::Emoji
  ].freeze

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

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

  def filters
    @filters ||= DEFAULT_FILTERS.dup
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
magnet-markdown-0.0.5 lib/magnet/markdown/processor.rb
magnet-markdown-0.0.4 lib/magnet/markdown/processor.rb
magnet-markdown-0.0.3 lib/magnet/markdown/processor.rb
magnet-markdown-0.0.2 lib/magnet/markdown/processor.rb