lib/mado/markdown.rb in mado-0.1.1 vs lib/mado/markdown.rb in mado-0.2.0
- old
+ new
@@ -1,29 +1,40 @@
-require "redcarpet"
-require "rouge"
-require "rouge/plugins/redcarpet"
-
module Mado
class Markdown
class HTML < Redcarpet::Render::HTML
include Rouge::Plugins::Redcarpet
end
- def self.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
- }
- renderer = HTML.new(renderer_options)
- Redcarpet::Markdown.new(renderer, convert_options).render(open(path).read)
+ 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