module FujiMarkdown
Constants
- Error
- InvalidPresetError
- VERSION
Public Class Methods
parse(text, preset = :HTML)
click to toggle source
# File lib/fuji_markdown.rb, line 14 def parse(text, preset = :HTML) options = build_options_from_preset(preset) Processor.new(**options).parse(text) end
render(text, preset = :HTML)
click to toggle source
# File lib/fuji_markdown.rb, line 19 def render(text, preset = :HTML) options = build_options_from_preset(preset) Processor.new(**options).render(text) end
Private Class Methods
build_options_from_preset(preset)
click to toggle source
# File lib/fuji_markdown.rb, line 26 def build_options_from_preset(preset) # rubocop:disable Metrics/MethodLength case preset when :HTML { preprocessors: [Preprocessors::Ruby.new], renderer: CommonMarker::HtmlRenderer.new(options: %i[HARDBREAKS UNSAFE]) } when :KAKUYOMU { preprocessors: [Preprocessors::Ruby.new, proc { |text| text.gsub(/《/, '|《') }], postprocessors: [Postprocessors::Ruby.new], renderer: Renderers::KakuyomuRenderer.new } when :NAROU { preprocessors: [Preprocessors::Ruby.new, Preprocessors::EscapeNarou.new], postprocessors: [Postprocessors::Ruby.new], renderer: Renderers::NarouRenderer.new } else raise InvalidPresetError, "Invalid preset: #{preset}" end end