module Mado
class Markdown
class HTML < Redcarpet::Render::HTML
include Rouge::Plugins::Redcarpet
end
class << self
def convert_markdown(path)
renderer_options = {
filter_html: true,
with_toc_data: true
}
convert_options = {
autolink: true,
fenced_code_blocks: true,
lax_spacing: true,
no_intra_emphasis: true,
strikethrough: true,
superscript: true,
tables: true
}
pipeline_context = {
asset_root: ""
}
pipeline = ::HTML::Pipeline.new [
::HTML::Pipeline::EmojiFilter,
TaskList::Filter
]
renderer = HTML.new(renderer_options)
html = Redcarpet::Markdown.new(renderer, convert_options).render(open(path).read)
pipeline.call(html, pipeline_context)[:output].to_s
end
def emoji_path(file_path)
File.join(Emoji.images_path, "emoji", file_path)
end
end
end
end