class Kramdown::Parser::Html::ElementConverter

def convert_table(el)

def convert_table(el)
  if !is_simple_table?(el)
    process_html_element(el, false)
    return
  end
  process_children(el)
  set_basics(el, :table)
  el.options[:alignment] = []
  nr_cols = 0
  calc_alignment = lambda do |c|
    align = c.attr['align']
    if c.type == :html_element && c.value == 'col' && (align.nil? || %w{left right center}.include?(align))
      el.options[:alignment] << (align.nil? ? :default : align.to_sym)
    elsif c.type == :tr
      nr_cols = c.children.length
      break
    else
      c.children.each {|cc| calc_alignment.call(cc)}
    end
  end
  calc_alignment.call(el)
  if el.options[:alignment].length > nr_cols
    el.options[:alignment][nr_cols..-1] = []
  else
    el.options[:alignment] += [:default] * (nr_cols - el.options[:alignment].length)
  end
  el.children.delete_if {|c| c.type == :html_element}
  change_th_type = lambda do |c|
    if c.type == :th
      c.type = :td
    else
      c.children.each {|cc| change_th_type.call(cc)}
    end
  end
  change_th_type.call(el)
  if el.children.first.type == :tr
    tbody = Element.new(:tbody)
    tbody.children = el.children
    el.children = [tbody]
  end
end