class Kramdown::Converter::Html

def convert_header(el, indent, opts)

def convert_header(el, indent, opts)
  el = Marshal.load(Marshal.dump(el)) # so that the original is not changed
  if @doc.options[:auto_ids] && !(el.options[:attr] && el.options[:attr]['id'])
    (el.options[:attr] ||= {})['id'] = generate_id(el.options[:raw_text])
  end
  @toc << [el.options[:level], el.options[:attr]['id'], el.children] if el.options[:attr] && el.options[:attr]['id'] && within_toc_depth?(el)
  "#{' '*indent}<h#{el.options[:level]}#{html_attributes(el)}>#{inner(el, indent, opts)}</h#{el.options[:level]}>\n"
end