class Kramdown::Converter::Man
def convert_header(el, opts)
def convert_header(el, opts) return unless opts[:parent].type == :root case el.options[:level] when 1 unless @title_done @title_done = true data = el.options[:raw_text].scan(/([^(]+)\s*\((\d\w*)\)(?:\s*-+\s*(.*))?/).first || el.options[:raw_text].scan(/([^\s]+)\s*(?:-*\s+)?()(.*)/).first return unless data && data[0] name = data[0] section = (data[1].to_s.empty? ? el.attr['data-section'] || '7' : data[1]) description = (data[2].to_s.empty? ? nil : " - #{data[2]}") date = el.attr['data-date'] ? quote(el.attr['data-date']) : nil extra = (el.attr['data-extra'] ? quote(escape(el.attr['data-extra'].to_s)) : nil) opts[:result] << macro("TH", quote(escape(name.upcase)), quote(section), date, extra) if description opts[:result] << macro("SH", "NAME") << escape("#{name}#{description}") << "\n" end end when 2 opts[:result] << macro("SH", quote(escape(el.options[:raw_text]))) when 3 opts[:result] << macro("SS", quote(escape(el.options[:raw_text]))) else warning("Header levels greater than three are not supported") end end