class FujiMarkdown::Processor
Public Class Methods
new(preprocessors: [], postprocessors: [], renderer: CommonMarker::HtmlRenderer.new)
click to toggle source
# File lib/fuji_markdown/processor.rb, line 7 def initialize(preprocessors: [], postprocessors: [], renderer: CommonMarker::HtmlRenderer.new) @preprocessors = preprocessors @postprocessors = postprocessors @renderer = renderer end
Public Instance Methods
parse(text)
click to toggle source
# File lib/fuji_markdown/processor.rb, line 13 def parse(text) processed_text = @preprocessors.inject(text) do |result, preprocessor| preprocessor.call(result) end CommonMarker.render_doc(processed_text) end
render(text)
click to toggle source
# File lib/fuji_markdown/processor.rb, line 21 def render(text) doc = parse(text) @postprocessors.each do |postprocessor| postprocessor.call(doc) end @renderer.render(doc) end