class Kramdown::Extension

def parse_options(parser, opts, body)

Update the document options with the options set in +opts+.
def parse_options(parser, opts, body)
  if val = opts.delete('auto_ids')
    parser.doc.options[:auto_ids] = boolean_value(val)
  end
  if val = opts.delete('filter_html')
    parser.doc.options[:filter_html] = val.split(/\s+/)
  end
  if val = opts.delete('footnote_nr')
    parser.doc.options[:footnote_nr] = Integer(val) rescue parser.doc.options[:footnote_nr]
  end
  if val = opts.delete('parse_block_html')
    parser.doc.options[:parse_block_html] = boolean_value(val)
  end
  if val = opts.delete('parse_span_html')
    parser.doc.options[:parse_span_html] = boolean_value(val)
  end
  if val = opts.delete('coderay_wrap')
    (parser.doc.options[:coderay] ||= {})[:wrap] = (val.empty? ? nil : val.to_sym)
  end
  if val = opts.delete('coderay_css')
    (parser.doc.options[:coderay] ||= {})[:css] = val.to_sym
  end
  if val = opts.delete('coderay_tab_width')
    (parser.doc.options[:coderay] ||= {})[:tab_width] = val.to_i
  end
  if val = opts.delete('coderay_line_numbers')
    (parser.doc.options[:coderay] ||= {})[:line_numbers] = (val.empty? ? nil : val.to_sym)
  end
  if val = opts.delete('coderay_line_number_start')
    (parser.doc.options[:coderay] ||= {})[:line_number_start] = val.to_i
  end
  if val = opts.delete('coderay_bold_every')
    (parser.doc.options[:coderay] ||= {})[:bold_every] = val.to_i
  end
  opts.each {|k,v| parser.warning("Unknown kramdown options '#{k}'")}
end