Sha256: fc0d64dd946d4ce2eb86e121c0f71d1f2ae1b9af53fc0b3535eb18d72d26c618
Contents?: true
Size: 1007 Bytes
Versions: 3
Compression:
Stored size: 1007 Bytes
Contents
module Bunto module Converters class Markdown class RDiscountParser def initialize(config) Bunto::External.require_with_graceful_fail "rdiscount" @config = config @rdiscount_extensions = @config['rdiscount']['extensions'].map(&:to_sym) end def convert(content) rd = RDiscount.new(content, *@rdiscount_extensions) html = rd.to_html if @config['rdiscount']['toc_token'] html = replace_generated_toc(rd, html, @config['rdiscount']['toc_token']) end html end private def replace_generated_toc(rd, html, toc_token) if rd.generate_toc && html.include?(toc_token) utf8_toc = rd.toc_content utf8_toc.force_encoding('utf-8') if utf8_toc.respond_to?(:force_encoding) html.gsub(toc_token, utf8_toc) else html end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems