Class: HTML::Pipeline::MarkdownFilter
- Inherits:
-
TextFilter
- Object
- Filter
- TextFilter
- HTML::Pipeline::MarkdownFilter
- Defined in:
- lib/html/pipeline_plus/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
:commonmarker_extensions => [ :table, :strikethrough,
:tagfilter, :autolink ] Common marker extensions to include
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, to_document, to_html, #validate
Constructor Details
#initialize(text, context = nil, result = nil) ⇒ MarkdownFilter
Returns a new instance of MarkdownFilter.
16 17 18 19 |
# File 'lib/html/pipeline_plus/markdown_filter.rb', line 16 def initialize(text, context = nil, result = nil) super text, context, result @text = @text.delete "\r" end |
Instance Method Details
#call ⇒ Object
Convert Markdown to HTML using the best available implementation and convert into a DocumentFragment.
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/html/pipeline_plus/markdown_filter.rb', line 23 def call = [:GITHUB_PRE_LANG] << :HARDBREAKS if context[:gfm] != false << :UNSAFE if context[:unsafe] extensions = context.fetch( :commonmarker_extensions, %i[table strikethrough tagfilter autolink] ) html = CommonMarker.render_html(@text, , extensions) html.rstrip! html end |