class Kramdown::Parser::Kramdown

def handle_extension(name, opts, body, type)

def handle_extension(name, opts, body, type)
  case name
  when 'comment'
    @tree.children << Element.new(:comment, body, nil, :category => type) if body.kind_of?(String)
    true
  when 'nomarkdown'
    @tree.children << Element.new(:raw, body, nil, :category => type, :type => opts['type'].to_s.split(/\s+/)) if body.kind_of?(String)
    true
  when 'options'
    opts.select do |k,v|
      k = k.to_sym
      if Kramdown::Options.defined?(k)
        @doc.options[k] = Kramdown::Options.parse(k, v) rescue @doc.options[k]
        false
      else
        true
      end
    end.each do |k,v|
      warning("Unknown kramdown option '#{k}'")
    end
    @tree.children << Element.new(:eob, :extension) if type == :block
    true
  else
    false
  end
end