class Qiita::Markdown::BaseProcessor
An abstract base processor for rendering a Markdown
document.
Public Class Methods
default_context()
click to toggle source
@return [Hash] the default context for HTML::Pipeline
# File lib/qiita/markdown/base_processor.rb, line 6 def self.default_context raise NotImplementedError end
default_fiters()
click to toggle source
@return [Array<Class>] the default HTML::Pipeline filter classes
# File lib/qiita/markdown/base_processor.rb, line 11 def self.default_fiters raise NotImplementedError end
new(context = {})
click to toggle source
@param [Hash] context Optional context for HTML::Pipeline.
# File lib/qiita/markdown/base_processor.rb, line 16 def initialize(context = {}) @context = self.class.default_context.merge(context) end
Public Instance Methods
call(input, context = {})
click to toggle source
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: "...", }
# File lib/qiita/markdown/base_processor.rb, line 31 def call(input, context = {}) HTML::Pipeline.new(filters, @context).call(input, context) end
filters()
click to toggle source
@note Modify filters if you want. @return [Array<HTML::Pipeline::Filter>]
# File lib/qiita/markdown/base_processor.rb, line 37 def filters @filters ||= self.class.default_filters end