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