Module: Generators::MarkUp

Module | Generators::MarkUp
In: | rdoc/generators/html_generator.rb

Handle common markup tasks for the various Html classes

### Methods

cvs_url markup style_url

### Public Instance methods

cvs_url(url, full_path)

Build a webcvs URL with the given ‘url’ argument. URLs with a ’%s’ in them get the file’s path sprintfed into them; otherwise they’re just catenated together.

[Source]

    # File rdoc/generators/html_generator.rb, line 265
        def cvs_url(url, full_path)
          if /%s/ =~ url
            return sprintf( url, full_path )
          else
            return url + full_path
          end
        end

markup(str, remove_para=false)

Convert a string in markup format into HTML. We keep a cached SimpleMarkup object lying around after the first time we’re called per object.

[Source]

    # File rdoc/generators/html_generator.rb, line 204
        def markup(str, remove_para=false)
          return '' unless str
          unless defined? @markup
            @markup = SM::SimpleMarkup.new

            # class names, variable names, file names, or instance variables
            @markup.add_special(/(
                                   \b([A-Z]\w*(::\w+)*[.\#]\w+)  #    A::B.meth
                                 | \b([A-Z]\w+(::\w+)*)       #    A::B..
                                 | \#\w+[!?=]?                #    #meth_name
                                 | \b\w+([_\/\.]+\w+)+[!?=]?  #    meth_name
                                 )/x,
                                :CROSSREF)

            # external hyperlinks
            @markup.add_special(/((link:|https?:|mailto:|ftp:|www\.)\S+\w)/, :HYPERLINK)

            # and links of the form  <text>[<url>]
            @markup.add_special(/(((\{.*?\})|\b\S+?)\[\S+?\.\S+?\])/, :TIDYLINK)
    #        @markup.add_special(/\b(\S+?\[\S+?\.\S+?\])/, :TIDYLINK)

          end
          unless defined? @html_formatter
            @html_formatter = HyperlinkHtml.new(self.path, self)
          end

          # Convert leading comment markers to spaces, but only
          # if all non-blank lines have them

          if str =~ /^(?>\s*)[^\#]/
            content = str
          else
            content = str.gsub(/^\s*(#+)/)  { $1.tr('#',' ') }
          end

          res = @markup.convert(content, @html_formatter)
          if remove_para
            res.sub!(/^<p>/, '')
            res.sub!(/<\/p>$/, '')
          end
          res
        end

style_url(path, css_name=nil)

Qualify a stylesheet URL; if if `css_name` does not begin with ’/’ or ‘http[s]://’, prepend a prefix relative to `path`. Otherwise, return it unmodified.

[Source]

    # File rdoc/generators/html_generator.rb, line 251
        def style_url(path, css_name=nil)
    #      $stderr.puts "style_url( #{path.inspect}, #{css_name.inspect} )"
          css_name ||= CSS_NAME
          if %r{^(https?:/)?/} =~ css_name
            return css_name
          else
            return HTMLGenerator.gen_url(path, css_name)
          end
        end

[Validate]