class Kramdown::Document
def initialize(source, options = {})
The +source+ is immediately parsed by the selected parser so that the root element is
set, it defaults to +Kramdown+.
select the kramdown parser, one would set the :input key to +Kramdown+. If this key is not
+source+. It has to be the name of a class in the Kramdown::Parser module. For example, to
The special options key :input can be used to select the parser that should parse the
options that can be used are defined in the Options module.
Create a new Kramdown document from the string +source+ and use the provided +options+. The
def initialize(source, options = {}) @options = Options.merge(options).freeze parser = (options[:input] || 'kramdown').to_s parser = parser[0..0].upcase + parser[1..-1] try_require('parser', parser) if Parser.const_defined?(parser) @root, @warnings = Parser.const_get(parser).parse(source, @options) else raise Kramdown::Error.new("kramdown has no parser to handle the specified input format: #{options[:input]}") end end