class Kramdown::Converter::Html

def convert_html_element(el, inner, indent)

def convert_html_element(el, inner, indent)
  if @doc.options[:filter_html].include?(el.value)
    inner.chomp + (el.options[:type] == :block ? "\n" : '')
  elsif el.options[:type] == :span
    "<#{el.value}#{options_for_element(el)}" << (!inner.empty? ? ">#{inner}</#{el.value}>" : " />")
  else
    output = ''
    output << ' '*indent if !el.options[:no_start_indent] && el.options[:parse_type] != :raw && !el.options[:parent_is_raw]
    output << "<#{el.value}#{options_for_element(el)}"
    if !inner.empty? && (el.options[:compact] || el.options[:parse_type] != :block)
      output << ">#{inner}</#{el.value}>"
    elsif !inner.empty? && (el.children.first.type == :text || el.children.first.options[:no_start_indent])
      output << ">#{inner}" << ' '*indent << "</#{el.value}>"
    elsif !inner.empty?
      output << ">\n#{inner}"  << ' '*indent << "</#{el.value}>"
    elsif HTML_TAGS_WITH_BODY.include?(el.value)
      output << "></#{el.value}>"
    else
      output << " />"
    end
    output << "\n" if el.options[:outer_element] || (el.options[:parse_type] != :raw && !el.options[:parent_is_raw])
    output
  end
end