2017-04-13 16:18:20 -05:00
|
|
|
module MarkdownProcessor
|
|
|
|
class << self
|
|
|
|
|
|
|
|
def render_options
|
|
|
|
{}
|
|
|
|
end
|
|
|
|
|
|
|
|
def markdown_extensions
|
|
|
|
{
|
|
|
|
no_intra_emphasis: true,
|
|
|
|
fenced_code_blocks: true,
|
2020-08-30 17:43:47 -05:00
|
|
|
disable_indented_code_blocks: true,
|
|
|
|
underline: true,
|
|
|
|
highlight: true,
|
|
|
|
quote: true,
|
|
|
|
autolink: true
|
2017-04-13 16:18:20 -05:00
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
def renderer
|
|
|
|
@renderer ||= Redcarpet::Render::SmartyHTML.new(render_options)
|
|
|
|
end
|
|
|
|
|
|
|
|
def markdown_obj
|
|
|
|
@markdown_obj ||= Redcarpet::Markdown.new(renderer, markdown_extensions)
|
|
|
|
end
|
|
|
|
|
|
|
|
def render(text)
|
|
|
|
return '' unless text.present?
|
|
|
|
markdown_obj.render(text)
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|