Sha256: 859b8ba3bafdeff0baadb7cc10494fc8b92e9fa2d9a8ac8beb3f9b0a87d34c77
Contents?: true
Size: 1007 Bytes
Versions: 8
Compression:
Stored size: 1007 Bytes
Contents
# frozen_string_literal: true module Jekyll module Converters class Markdown class RDiscountParser def initialize(config) Jekyll::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
8 entries across 8 versions & 2 rubygems