class Jekyll::Converters::Markdown::RDiscountParser

Public Class Methods

new(config) click to toggle source
# File lib/jekyll/converters/markdown/rdiscount_parser.rb, line 5
def initialize(config)
  Jekyll::External.require_with_graceful_fail "rdiscount"
  @config = config
  @rdiscount_extensions = @config['rdiscount']['extensions'].map(&:to_sym)
end

Public Instance Methods

convert(content) click to toggle source
# File lib/jekyll/converters/markdown/rdiscount_parser.rb, line 11
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 Instance Methods

replace_generated_toc(rd, html, toc_token) click to toggle source
# File lib/jekyll/converters/markdown/rdiscount_parser.rb, line 21
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