Sha256: 39c28f6c5dfa019f14e4d517589c7825ea5c3aea5417693ddfb14229da436f3c
Contents?: true
Size: 1.06 KB
Versions: 16
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true module Jekyll module Converters class Markdown class RDiscountParser def initialize(config) unless defined?(RDiscount) Jekyll::External.require_with_graceful_fail "rdiscount" end @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_instance, html, toc_token) if rd_instance.generate_toc && html.include?(toc_token) utf8_toc = rd_instance.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
16 entries across 16 versions & 1 rubygems