class Moft::Converters::Markdown::RDiscountParser

Public Class Methods

new(config) click to toggle source
# File lib/moft/converters/markdown/rdiscount_parser.rb, line 5
def initialize(config)
  require 'rdiscount'
  @config = config
  @rdiscount_extensions = @config['rdiscount']['extensions'].map { |e| e.to_sym }
rescue LoadError
  STDERR.puts 'You are missing a library required for Markdown. Please run:'
  STDERR.puts '  $ [sudo] gem install rdiscount'
  raise FatalException.new("Missing dependency: rdiscount")
end

Public Instance Methods

convert(content) click to toggle source
# File lib/moft/converters/markdown/rdiscount_parser.rb, line 15
def convert(content)
  rd = RDiscount.new(content, *@rdiscount_extensions)
  html = rd.to_html
  if rd.generate_toc and html.include?(@config['rdiscount']['toc_token'])
    html.gsub!(@config['rdiscount']['toc_token'], rd.toc_content.force_encoding('utf-8'))
  end
  html
end