Method: RDocF95::Generator::MarkUp#markup

Defined in:
lib/rdoc-f95/generator.rb

#markup(str, remove_para = false) ⇒ Object

Convert a string in markup format into HTML.



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/rdoc-f95/generator.rb', line 81

def markup(str, remove_para = false)
  return '' unless str

  unless defined? @formatter then
    unless @options.mathml
      @formatter = RDocF95::Markup::ToHtmlCrossref.new(path, self,
                                                    @options.show_hash)
    else
      @formatter = RDocF95::Markup::ToXHtmlTexParser.new(path, self,
                                                      @options.show_hash, 
                                                      @options.mathml)
    end
  end

  # Convert leading comment markers to spaces, but only if all non-blank
  # lines have them
  if str =~ /^(?>\s*)[^\#]/ then
    content = str
  else
    content = str.gsub(/^\s*(#+)/) { $1.tr '#', ' ' }
  end

  unless @options.mathml
    res = @formatter.convert content
  else
    res = @formatter.convert content, @formatter.block_exceptions
  end

  if remove_para then
    res.sub!(/^<p>/, '')
    res.sub!(/<\/p>$/, '')
  end

  res
end