class Qiita::Markdown::BaseProcessor
An abstract base processor for rendering a Markdown
document.
Public Class Methods
Source
# File lib/qiita/markdown/base_processor.rb, line 6 def self.default_context raise NotImplementedError end
@return [Hash] the default context for HTML::Pipeline
Source
# File lib/qiita/markdown/base_processor.rb, line 11 def self.default_fiters raise NotImplementedError end
@return [Array<Class>] the default HTML::Pipeline filter classes
Source
# File lib/qiita/markdown/base_processor.rb, line 16 def initialize(context = {}) @context = self.class.default_context.merge(context) end
@param [Hash] context Optional context for HTML::Pipeline.
Public Instance Methods
Source
# File lib/qiita/markdown/base_processor.rb, line 31 def call(input, context = {}) HTML::Pipeline.new(filters, @context).call(input, context) end
Converts Markdown
text into HTML string with extracted metadata.
@param [String] input Markdown
text. @param [Hash] context Optional context merged into default context. @return [Hash] Process result. @example
Qiita::Markdown::Processor.new.call(markdown) #=> { codes: [...], mentioned_usernames: [...], output: "...", }
Source
# File lib/qiita/markdown/base_processor.rb, line 37 def filters @filters ||= self.class.default_filters end
@note Modify filters if you want. @return [Array<HTML::Pipeline::Filter>]