Class: Qiita::Markdown::BaseProcessor
- Inherits:
-
Object
- Object
- Qiita::Markdown::BaseProcessor
- Defined in:
- lib/qiita/markdown/base_processor.rb
Overview
An abstract base processor for rendering a Markdown document.
Direct Known Subclasses
Class Method Summary collapse
-
.default_context ⇒ Hash
The default context for HTML::Pipeline.
-
.default_fiters ⇒ Array<Class>
The default HTML::Pipeline filter classes.
Instance Method Summary collapse
-
#call(input, context = {}) ⇒ Hash
Converts Markdown text into HTML string with extracted metadata.
- #filters ⇒ Array<HTML::Pipeline::Filter>
-
#initialize(context = {}) ⇒ BaseProcessor
constructor
A new instance of BaseProcessor.
Constructor Details
#initialize(context = {}) ⇒ BaseProcessor
Returns a new instance of BaseProcessor.
16 17 18 |
# File 'lib/qiita/markdown/base_processor.rb', line 16 def initialize(context = {}) @context = self.class.default_context.merge(context) end |
Class Method Details
.default_context ⇒ Hash
Returns the default context for HTML::Pipeline.
6 7 8 |
# File 'lib/qiita/markdown/base_processor.rb', line 6 def self.default_context raise NotImplementedError end |
.default_fiters ⇒ Array<Class>
Returns the default HTML::Pipeline filter classes.
11 12 13 |
# File 'lib/qiita/markdown/base_processor.rb', line 11 def self.default_fiters raise NotImplementedError end |
Instance Method Details
#call(input, context = {}) ⇒ Hash
Converts Markdown text into HTML string with extracted metadata.
31 32 33 |
# File 'lib/qiita/markdown/base_processor.rb', line 31 def call(input, context = {}) HTML::Pipeline.new(filters, @context).call(input, context) end |
#filters ⇒ Array<HTML::Pipeline::Filter>
Note:
Modify filters if you want.
37 38 39 |
# File 'lib/qiita/markdown/base_processor.rb', line 37 def filters @filters ||= self.class.default_filters end |