module RedCloth::Formatters::RDoc include RedCloth::Formatters::Base [1, 2, 3, 4, 5, 6].each do |level| define_method("h#{level}".to_sym) do |opts| "#{'=' * level} #{opts[:text]}\n\n" end end [:p, :pre, :div].each do |m| define_method(m) do |opts| "#{opts[:text]}\n\n" end end def strong(opts) "#{opts[:text]}" end alias_method :b, :strong def em(opts) "#{opts[:text]}" end alias_method :i, :em [:ol, :ul].each do |m| define_method("#{m}_open") do |opts| opts[:block] = true "" end define_method("#{m}_close") do |opts| "#{"\n" if opts[:nest] <= 1}" end end def li_open(opts) "#{"* " * opts[:nest]}#{opts[:text]}\n" end def li_close(opts=nil) "" end def td(opts) tdtype = opts[:th] ? 'th' : 'td' "\t\t<#{tdtype}#{pba(opts)}>#{opts[:text]}\n" end def tr_open(opts) "\t\n" end def tr_close(opts) "\t\n" end def table_open(opts) "\n" end def table_close(opts) "\n\n" end def code(opts) if opts[:block] block = "" opts[:text].lines.each { |line| block += " #{line}" } return block end "#{opts[:text]}" end def bc_open(opts) opts[:block] = true "" end def bc_close(opts) opts[:block] = false "\n\n" end def link(opts) "{#{opts[:name]}}[#{opts[:href]}]" end def image(opts) "#{opts[:src]}" end private # escapement for regular HTML (not in PRE tag) def escape(text) text end # escapement for HTML in a PRE tag def escape_pre(text) text end # escaping for HTML attributes def escape_attribute(text) text end def after_transform(text) text.chomp! end end