Class: HTML::Pipeline::MarkdownFilter
- Inherits:
-
TextFilter
- Object
- Filter
- TextFilter
- HTML::Pipeline::MarkdownFilter
- Defined in:
- lib/html/pipeline/markdown_filter.rb
Overview
HTML Filter that converts Markdown text into HTML and converts into a DocumentFragment. This is different from most filters in that it can take a non-HTML as input. It must be used as the first filter in a pipeline.
Context options:
:gfm => false Disable GFM line-end processing
This filter does not write any additional information to the context hash.
Instance Attribute Summary
Attributes inherited from TextFilter
Attributes inherited from Filter
Instance Method Summary collapse
-
#call ⇒ Object
Convert Markdown to HTML using the best available implementation and convert into a DocumentFragment.
-
#initialize(text, context = nil, result = nil) ⇒ MarkdownFilter
constructor
A new instance of MarkdownFilter.
Methods inherited from Filter
#base_url, call, #current_user, #doc, #has_ancestor?, #html, #needs, #parse_html, #repository, #search_text_nodes, to_document, to_html, #validate
Constructor Details
#initialize(text, context = nil, result = nil) ⇒ MarkdownFilter
Returns a new instance of MarkdownFilter.
18 19 20 21 |
# File 'lib/html/pipeline/markdown_filter.rb', line 18 def initialize(text, context = nil, result = nil) super text, context, result @text = @text.gsub "\r", '' end |
Instance Method Details
#call ⇒ Object
Convert Markdown to HTML using the best available implementation and convert into a DocumentFragment.
25 26 27 28 29 30 |
# File 'lib/html/pipeline/markdown_filter.rb', line 25 def call mode = (context[:gfm] != false) ? :gfm : :markdown html = GitHub::Markdown.to_html(@text, mode) html.rstrip! html end |