This is how you define the HTML that RDoc
generates. Simply create a file in rdoc/generators/html_templates that
creates the module RDoc::Page and populate it
as described below. Then invoke rdoc using the —template <name of
your file> option, and your template will be used.
The constants defining pages use a simple templating system:
The templating system is passed a hash. Keys in the hash correspond to tags
on this page. The tag %abc% is looked up in the hash, and is replaced by
the corresponding hash value.
Some tags are optional. You can detect this using IF/ENDIF
IF : title
The value of title is % title %
ENDIF : title
Some entries in the hash have values that are arrays, where each entry in
the array is itself a hash. These are used to generate lists using the
START: construct. For example, given a hash containing
{ ' people ' => [ { ' name ' => ' Fred ', ' age ' => ' 12 ' },
{ ' name ' => ' Mary ', ' age ' => ' 21 ' } ]
You could generate a simple table using
< table >
START :people
< tr >< td >% name %< td >% age %< /tr >
END :people
</ table>
These lists can be nested to an arbitrary depth
the construct HREF:url:name: generates <a
href="%url%">%name%</a> if url is defined in
the hash, or %name% otherwise.
Your file must contain the following constants
FONTS a list of fonts to be used
STYLE a CSS section (without the <style> or comments). This is used to
generate a style.css file
BODY The main body of all non-index RDoc pages. BODY
will contain two !INCLUDE!s. The first is used to include a document-type
specific header (FILE_PAGE or CLASS_PAGE). The second include is for the
method list (METHOD_LIST). THe body is passed:
%title%: the page’s title
%style_url%: the url of a style sheet for this page
%diagram%: the optional URL of a diagram for this page
%description%: a (potentially multi-paragraph) string containing the description for th
file/class/module.
%requires%: an optional list of %aref%/%name% pairs, one for each module required by
this file.
%methods%: an optional list of %aref%/%name%, one for each method documented on this
page. This is intended to be an index.
%attributes%: An optional list. For each attribute it contains:
%name%: the attribute name
%rw%: r/o, w/o, or r/w
%a_desc%: description of the attribute
%classlist%: An optional string containing an already-formatted list of classes and
modules documented in this file
For FILE_PAGE entries, the body will be passed
%short_name%: The name of the file
%full_path%: The full path to the file
%dtm_modified%: The date/time the file was last changed
For class and module pages, the body will be passed
%classmod%: The name of the class or module
%files%: A list. For each file this class is defined in, it contains:
%full_path_url%: an (optional) URL of the RDoc page for this file
%full_path%: the name of the file
%par_url%: The (optional) URL of the RDoc page documenting
this class’s parent class
%parent%: The name of this class’s parent.
For both files and classes, the body is passed the following information on
includes and methods:
%includes%: Optional list of included modules. For each, it receives
%aref%: optional URL to RDoc page for the module
%name%: the name of the module
%method_list%: Optional list of methods of a particular class and category.
Each method list entry contains:
%type%: public/private/protected
%category%: instance/class
%methods%: a list of method descriptions
Each method description contains:
%aref%: a target aref, used when referencing this method description. You should
code this as <a name="%aref%">
%codeurl%: the optional URL to the page containing this method’s source code.
%name%: the method’s name
%params%: the method’s parameters
%callseq%: a full calling sequence
%m_desc%: the (potentially multi-paragraph) description of this method.
CLASS_PAGE Header for pages documenting classes and modules. See BODY above for the
available parameters.
FILE_PAGE Header for pages documenting files. See BODY above for the available
parameters.
METHOD_LIST Controls the display of the listing of methods. See BODY for parameters.
INDEX The top-level index page. For a browser-like environment define a frame set
that includes the file, class, and method indices. Passed
%title%: title of page
%initial_page% : url of initial page to display
CLASS_INDEX Individual files for the three indexes. Passed:
%index_url%: URL of main index page
%entries%: List of
%name%: name of an index entry
%href%: url of corresponding page
METHOD_INDEX Same as CLASS_INDEX for methods
FILE_INDEX Same as CLASS_INDEX for methods
FR_INDEX_BODY A wrapper around CLASS_INDEX, METHOD_INDEX, and FILE_INDEX. If those index
strings contain the complete HTML for the output, then FR_INDEX_BODY can
simply be !INCLUDE!
SRC_PAGE Page used to display source code. Passed %title% and %code%, the latter
being a multi-line string of code.
Constants
BODY = %{ %title% !INCLUDE! IF:diagram ENDIF:diagram IF:description %description%
ENDIF:description IF:requires START:requires HREF:aref:name: END:requires ENDIF:requires
IF:methods Subroutines and Functions
START:methods HREF:aref:name:, END:methods
ENDIF:methods IF:attributes START:attributes IF:rw [%rw%] ENDIF:rw IFNOT:rw ENDIF:rw %name% %a_desc% END:attributes
ENDIF:attributes IF:classlist %classlist% ENDIF:classlist !INCLUDE! }
METHOD_LIST = %{ IF:includes Uses
START:includes HREF:aref:name: END:includes
ENDIF:includes IF:method_list START:method_list IF:methods %type% %category% methods
START:methods IF:m_desc %m_desc%
ENDIF:m_desc END:methods ENDIF:methods END:method_list ENDIF:method_list }
HPP_FILE = %{ [OPTIONS] Auto Index = Yes Compatibility=1.1 or later Compiled file=%opname%.chm Contents file=contents.hhc Full-text search=Yes Index file=index.hhk Language=0x409 English(United States) Title=%title% [FILES] START:all_html_files %html_file_name% END:all_html_files }
CONTENTS = %{ START:contents IF:methods START:methods END:methods ENDIF:methods END:contents }
CHM_INDEX = %{ }
FONTS = "Verdana, Arial, Helvetica, sans-serif"
STYLE = %{ body,p { font-family: Verdana, Arial, Helvetica, sans-serif; color: #000040; background: #BBBBBB; } td { font-family: Verdana, Arial, Helvetica, sans-serif; color: #000040; } .attr-rw { font-size: small; color: #444488 } .title-row {color: #eeeeff; background: #BBBBDD; } .big-title-font { color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: large; height: 50px} .small-title-font { color: purple; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: small; } .aqua { color: purple } .method-name, attr-name { font-family: monospace; font-weight: bold; } .tablesubtitle { width: 100%; margin-top: 1ex; margin-bottom: .5ex; padding: 5px 0px 5px 20px; font-size: large; color: purple; background: #BBBBCC; } .tablesubsubtitle { width: 100%; margin-top: 1ex; margin-bottom: .5ex; padding: 5px 0px 5px 20px; font-size: medium; color: white; background: #BBBBCC; } .name-list { font-family: monospace; margin-left: 40px; margin-bottom: 2ex; line-height: 140%; } .description { margin-left: 40px; margin-bottom: 2ex; line-height: 140%; } .methodtitle { font-size: medium; text_decoration: none; padding: 3px 3px 3px 20px; color: #0000AA; } .column-title { font-size: medium; font-weight: bold; text_decoration: none; padding: 3px 3px 3px 20px; color: #3333CC; } .variable-name { font-family: monospace; font-size: medium; text_decoration: none; padding: 3px 3px 3px 20px; color: #0000AA; } .row-name { font-size: medium; font-weight: medium; font-family: monospace; text_decoration: none; padding: 3px 3px 3px 20px; } .paramsig { font-size: small; } .srcbut { float: right } }
FILE_PAGE = <<_FILE_PAGE_ File %short_name% Path: %full_path% IF:cvsurl (CVS ) ENDIF:cvsurl Modified: %dtm_modified%
_FILE_PAGE_
CLASS_PAGE = %{ }
SRC_PAGE = %{ %title% %code% }
FR_INDEX_BODY = %{ !INCLUDE! }
FILE_INDEX = %{ %list_title%
START:entries %name% END:entries }
CLASS_INDEX = FILE_INDEX
METHOD_INDEX = FILE_INDEX
INDEX = %{ %title% Click here for a non-frames version of this page. }
BLANK = %{ }
FONTS = "Verdana,Arial,Helvetica,sans-serif"
STYLE = %{ body { font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 90%; margin: 0; margin-left: 40px; padding: 0; background: white; } h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; } h1 { font-size: 150%; } h2,h3,h4 { margin-top: 1em; } a { background: #eef; color: #039; text-decoration: none; } a:hover { background: #039; color: #eef; } /* Override the base stylesheet's Anchor inside a table cell */ td > a { background: transparent; color: #039; text-decoration: none; } /* and inside a section title */ .section-title > a { background: transparent; color: #eee; text-decoration: none; } /* === Structural elements =================================== */ div#index { margin: 0; margin-left: -40px; padding: 0; font-size: 90%; } div#index a { margin-left: 0.7em; } div#index .section-bar { margin-left: 0px; padding-left: 0.7em; background: #ccc; font-size: small; } div#classHeader, div#fileHeader { width: auto; color: white; padding: 0.5em 1.5em 0.5em 1.5em; margin: 0; margin-left: -40px; border-bottom: 3px solid #006; } div#classHeader a, div#fileHeader a { background: inherit; color: white; } div#classHeader td, div#fileHeader td { background: inherit; color: white; } div#fileHeader { background: #057; } div#classHeader { background: #048; } .class-name-in-header { font-size: 180%; font-weight: bold; } div#bodyContent { padding: 0 1.5em 0 1.5em; } div#description { padding: 0.5em 1.5em; background: #efefef; border: 1px dotted #999; } div#description h1,h2,h3,h4,h5,h6 { color: #125;; background: transparent; } div#validator-badges { text-align: center; } div#validator-badges img { border: 0; } div#copyright { color: #333; background: #efefef; font: 0.75em sans-serif; margin-top: 5em; margin-bottom: 0; padding: 0.5em 2em; } /* === Classes =================================== */ table.header-table { color: white; font-size: small; } .type-note { font-size: small; color: #DEDEDE; } .xxsection-bar { background: #eee; color: #333; padding: 3px; } .section-bar { color: #333; border-bottom: 1px solid #999; margin-left: -20px; } .section-title { background: #79a; color: #eee; padding: 3px; margin-top: 2em; margin-left: -30px; border: 1px solid #999; } .top-aligned-row { vertical-align: top } .bottom-aligned-row { vertical-align: bottom } /* --- Context section classes ----------------------- */ .context-row { } .context-item-name { font-family: monospace; font-weight: bold; color: black; } .context-item-value { font-size: small; color: #448; } .context-item-desc { color: #333; padding-left: 2em; } /* --- Method classes -------------------------- */ .method-detail { background: #efefef; padding: 0; margin-top: 0.5em; margin-bottom: 1em; border: 1px dotted #ccc; } .method-heading { color: black; background: #ccc; border-bottom: 1px solid #666; padding: 0.2em 0.5em 0 0.5em; } .method-signature { color: black; background: inherit; } .method-name { font-weight: bold; } .method-args { font-style: italic; } .method-description { padding: 0 0.5em 0 0.5em; } /* --- Source code sections -------------------- */ a.source-toggle { font-size: 90%; } div.method-source-code { background: #262626; color: #ffdead; margin: 1em; padding: 0.5em; border: 1px dashed #999; overflow: hidden; } div.method-source-code pre { color: #ffdead; overflow: hidden; } /* --- Ruby keyword styles --------------------- */ .standalone-code { background: #221111; color: #ffdead; overflow: hidden; } .ruby-constant { color: #7fffd4; background: transparent; } .ruby-keyword { color: #00ffff; background: transparent; } .ruby-ivar { color: #eedd82; background: transparent; } .ruby-operator { color: #00ffee; background: transparent; } .ruby-identifier { color: #ffdead; background: transparent; } .ruby-node { color: #ffa07a; background: transparent; } .ruby-comment { color: #b22222; font-weight: bold; background: transparent; } .ruby-regexp { color: #ffa07a; background: transparent; } .ruby-value { color: #7fffd4; background: transparent; } }
XHTML_PREAMBLE = %{ }
HEADER = XHTML_PREAMBLE + %{ %title% }
CONTEXT_CONTENT = %{ }
FOOTER = %{ }
SRC_PAGE = %{ %title% %code% }
FILE_PAGE = %{ }
CLASS_PAGE = %{ }
METHOD_LIST = %{ IF:diagram
%diagram%
ENDIF:diagram IF:description
%description%
ENDIF:description IF:requires
Required files START:requires HREF:aref:name: END:requires
ENDIF:requires IF:toc
IF:methods
Methods START:methods HREF:aref:name: END:methods
ENDIF:methods
IF:includes Included Modules START:includes HREF:aref:name: END:includes
ENDIF:includes START:sections IF:sectitle
IF:seccomment ENDIF:seccomment ENDIF:sectitle IF:classlist
Classes and Modules %classlist% ENDIF:classlist IF:constants
Constants START:constants %name% = %value% IF:desc %desc% ENDIF:desc END:constants
ENDIF:constants IF:aliases
External Aliases START:aliases %old_name% -> %new_name% IF:desc %desc% ENDIF:desc END:aliases
ENDIF:aliases IF:attributes
Attributes START:attributes %name% IF:rw [%rw%] ENDIF:rw IFNOT:rw ENDIF:rw %a_desc% END:attributes
ENDIF:attributes IF:method_list
START:method_list IF:methods
%type% %category% methods START:methods
IF:m_desc %m_desc% ENDIF:m_desc IF:sourcecode
[Source]
ENDIF:sourcecode
END:methods ENDIF:methods END:method_list
ENDIF:method_list END:sections }
BODY = HEADER + %{ !INCLUDE! } + METHOD_LIST + %{
} + FOOTER
SRC_PAGE = XHTML_PREAMBLE + %{ %title% %code% }
FR_INDEX_BODY = %{ !INCLUDE! }
FILE_INDEX = XHTML_PREAMBLE + %{ %list_title% %list_title% START:entries
%name% END:entries
}
CLASS_INDEX = FILE_INDEX
METHOD_INDEX = FILE_INDEX
INDEX = %{ %title% }
FONTS = "Verdana, Arial, Helvetica, sans-serif"
STYLE = %{ body,td,p { font-family: %fonts%; color: #000040; } .attr-rw { font-size: xx-small; color: #444488 } .title-row { background-color: #CCCCFF; color: #000010; } .big-title-font { color: black; font-weight: bold; font-family: %fonts%; font-size: large; height: 60px; padding: 10px 3px 10px 3px; } .small-title-font { color: black; font-family: %fonts%; font-size:10; } .aqua { color: black } .method-name, .attr-name { font-family: font-family: %fonts%; font-weight: bold; font-size: small; margin-left: 20px; color: #000033; } .tablesubtitle, .tablesubsubtitle { width: 100%; margin-top: 1ex; margin-bottom: .5ex; padding: 5px 0px 5px 3px; font-size: large; color: black; background-color: #CCCCFF; border: thin; } .name-list { margin-left: 5px; margin-bottom: 2ex; line-height: 105%; } .description { margin-left: 5px; margin-bottom: 2ex; line-height: 105%; font-size: small; } .methodtitle { font-size: small; font-weight: bold; text-decoration: none; color: #000033; background-color: white; } .srclink { font-size: small; font-weight: bold; text-decoration: none; color: #0000DD; background-color: white; } .paramsig { font-size: small; } .srcbut { float: right } }
INDEX = %{ %title% IF:inline_source ENDIF:inline_source IFNOT:inline_source ENDIF:inline_source Click here for a non-frames version of this page. }
BODY = %{ %title% !INCLUDE! IF:diagram ENDIF:diagram IF:description %description%
ENDIF:description IF:requires START:requires HREF:aref:name: END:requires ENDIF:requires
IF:methods START:methods HREF:aref:name:, END:methods
ENDIF:methods START:sections IF:sectitle
IF:seccomment ENDIF:seccomment ENDIF:sectitle IF:attributes
START:attributes IF:rw [%rw%] ENDIF:rw IFNOT:rw ENDIF:rw %name% %a_desc% END:attributes
ENDIF:attributes IF:classlist
%classlist%
ENDIF:classlist !INCLUDE! END:sections }
FILE_PAGE = <<_FILE_PAGE_ File %short_name% Path: %full_path% IF:cvsurl (CVS ) ENDIF:cvsurl Modified: %dtm_modified%
_FILE_PAGE_
CLASS_PAGE = %{ }
METHOD_LIST = %{ IF:includes Included modules
START:includes HREF:aref:name: END:includes
ENDIF:includes IF:method_list START:method_list IF:methods %type% %category% methods
START:methods IF:m_desc %m_desc%
ENDIF:m_desc IF:aka This method is also aliased as START:aka
%name% END:aka
ENDIF:aka IF:sourcecode %sourcecode% ENDIF:sourcecode END:methods ENDIF:methods END:method_list ENDIF:method_list }
SRC_PAGE = %{ %title% %code% }
FR_INDEX_BODY = %{ !INCLUDE! }
FILE_INDEX = %{ %list_title%
START:entries %name% END:entries }
CLASS_INDEX = FILE_INDEX
METHOD_INDEX = FILE_INDEX
BLANK = %{ }
FONTS = "Verdana, Arial, Helvetica, sans-serif"
FR_INDEX_BODY = %{ !INCLUDE! }
STYLE = %{ body,td,p { font-family: %fonts%; color: #000040; } .attr-rw { font-size: x-small; color: #444488 } .title-row { background: #0000aa; color: #eeeeff; } .big-title-font { color: white; font-family: %fonts%; font-size: large; height: 50px} .small-title-font { color: aqua; font-family: %fonts%; font-size: xx-small; } .aqua { color: aqua } .method-name, attr-name { font-family: monospace; font-weight: bold; } .tablesubtitle, .tablesubsubtitle { width: 100%; margin-top: 1ex; margin-bottom: .5ex; padding: 5px 0px 5px 20px; font-size: large; color: aqua; background: #3333cc; } .name-list { font-family: monospace; margin-left: 40px; margin-bottom: 2ex; line-height: 140%; } .description { margin-left: 40px; margin-top: -2ex; margin-bottom: 2ex; } .description p { line-height: 140%; } .aka { margin-left: 40px; margin-bottom: 2ex; line-height: 100%; font-size: small; color: #808080; } .methodtitle { font-size: medium; text-decoration: none; color: #0000AA; background: white; } .paramsig { font-size: small; } .srcbut { float: right } pre { font-size: 1.2em; } tt { font-size: 1.2em; } pre.source { border-style: groove; background-color: #ddddff; margin-left: 40px; padding: 1em 0em 1em 2em; } .classlist { margin-left: 40px; margin-bottom: 2ex; line-height: 140%; } li { display: list-item; margin-top: .6em; } .ruby-comment { color: green; font-style: italic } .ruby-constant { color: #4433aa; font-weight: bold; } .ruby-identifier { color: #222222; } .ruby-ivar { color: #2233dd; } .ruby-keyword { color: #3333FF; font-weight: bold } .ruby-node { color: #777777; } .ruby-operator { color: #111111; } .ruby-regexp { color: #662222; } .ruby-value { color: #662222; font-style: italic } }
HEADER = %{ %title% }
METHOD_LIST = %{ IF:includes START:includes HREF:aref:name: END:includes
ENDIF:includes IF:method_list START:method_list IF:methods %type% %category% methods
START:methods IF:m_desc %m_desc%
ENDIF:m_desc IF:aka This method is also aliased as START:aka
%name% END:aka
ENDIF:aka IF:sourcecode %sourcecode% ENDIF:sourcecode END:methods ENDIF:methods END:method_list ENDIF:method_list }
CONTEXT_CONTENT = %{ IF:diagram ENDIF:diagram IF:description %description%
ENDIF:description IF:requires START:requires HREF:aref:name: END:requires
ENDIF:requires IF:methods START:methods HREF:aref:name: END:methods
ENDIF:methods IF:constants START:constants %name% = %value% IF:desc %desc% ENDIF:desc END:constants
ENDIF:constants IF:aliases START:aliases %old_name% -> %new_name% END:aliases
ENDIF:aliases IF:attributes START:attributes %name% IF:rw [%rw%] ENDIF:rw IFNOT:rw ENDIF:rw %a_desc% END:attributes
ENDIF:attributes IF:classlist %classlist%
ENDIF:classlist }
BODY = HEADER + %{ !INCLUDE! } + CONTEXT_CONTENT + METHOD_LIST + %{ }
FILE_PAGE = <<_FILE_PAGE_ %short_name% Path: %full_path% IF:cvsurl (CVS ) ENDIF:cvsurl Modified: %dtm_modified%
_FILE_PAGE_
CLASS_PAGE = %{ }
FILE_INDEX = %{ %list_title% START:entries %name% END:entries }
CLASS_INDEX = FILE_INDEX
METHOD_INDEX = FILE_INDEX
INDEX = %{ %title% Sorry, RDoc currently only generates HTML using frames. }
CONTENTS_XML = %{ IF:description %description% ENDIF:description IF:requires Requires: START:requires IF:aref %name% ENDIF:aref IFNOT:aref %name% ENDIF:aref END:requires ENDIF:requires IF:attributes Attributes START:attributes %name% %rw% %a_desc% END:attributes
ENDIF:attributes IF:includes Includes START:includes IF:aref %name% ENDIF:aref IFNOT:aref %name% ENDIF:aref END:includes ENDIF:includes IF:method_list Methods START:method_list IF:methods START:methods IF:m_desc %m_desc% ENDIF:m_desc IF:sourcecode %sourcecode% ENDIF:sourcecode END:methods ENDIF:methods END:method_list ENDIF:method_list }
CONTENTS_XML = %{ IF:description %description% ENDIF:description IF:requires Requires: START:requires IF:aref %name% ENDIF:aref IFNOT:aref %name% ENDIF:aref END:requires ENDIF:requires IF:attributes Attributes START:attributes %name% %rw% %a_desc% END:attributes
ENDIF:attributes IF:includes Includes START:includes IF:aref %name% ENDIF:aref IFNOT:aref %name% ENDIF:aref END:includes ENDIF:includes IF:method_list Methods START:method_list IF:methods START:methods %type% %category% method: IF:callseq %callseq% ENDIF:callseq IFNOT:callseq %name%%params% ENDIF:callseq IF:m_desc %m_desc% ENDIF:m_desc IF:sourcecode %sourcecode% ENDIF:sourcecode END:methods ENDIF:methods END:method_list ENDIF:method_list }
ONE_PAGE = %{ %title% START:files File: %short_name% Path: %full_path% Modified: %dtm_modified%
} + CONTENTS_XML + %{ END:files IF:classes Classes START:classes IF:parent %classmod% %full_name% < HREF:par_url:parent: ENDIF:parent IFNOT:parent %classmod% %full_name% ENDIF:parent IF:infiles (in files START:infiles HREF:full_path_url:full_path: END:infiles ) ENDIF:infiles } + CONTENTS_XML + %{ END:classes ENDIF:classes }
CONTENTS_RDF = %{ IF:description %description% ENDIF:description IF:requires START:requires END:requires ENDIF:requires IF:attributes START:attributes IF:rw %rw% ENDIF:rw %a_desc% END:attributes ENDIF:attributes IF:includes START:includes END:includes ENDIF:includes IF:method_list START:method_list IF:methods START:methods %params% IF:m_desc %m_desc% ENDIF:m_desc IF:sourcecode %sourcecode% ENDIF:sourcecode END:methods ENDIF:methods END:method_list ENDIF:method_list }
ONE_PAGE = %{ START:files %full_path% %dtm_modified% } + CONTENTS_RDF + %{ END:files START:classes <%classmod% rd:name="%full_name%" rd:id="%full_name%"> IF:infiles START:infiles END:infiles ENDIF:infiles IF:parent HREF:par_url:parent: ENDIF:parent } + CONTENTS_RDF + %{ %classmod%> END:classes }
CONTENTS_XML = %{ IF:description %description% ENDIF:description IF:requires START:requires END:requires ENDIF:requires IF:attributes START:attributes IF:rw %rw% ENDIF:rw %a_desc% END:attributes ENDIF:attributes IF:includes START:includes END:includes ENDIF:includes IF:method_list START:method_list IF:methods START:methods %params% IF:m_desc %m_desc% ENDIF:m_desc IF:sourcecode %sourcecode% ENDIF:sourcecode END:methods ENDIF:methods END:method_list ENDIF:method_list }
ONE_PAGE = %{ START:files %full_path% %dtm_modified% } + CONTENTS_XML + %{ END:files START:classes <%classmod% name="%full_name%" id="%full_name%"> IF:infiles START:infiles HREF:full_path_url:full_path: END:infiles ENDIF:infiles IF:parent HREF:par_url:parent: ENDIF:parent } + CONTENTS_XML + %{ %classmod%> END:classes }
Attributes
Show files where this module is defined (8 files)
lib/rdoc/generators/template/chm/chm.rb
lib/rdoc/generators/template/html/hefss.rb
lib/rdoc/generators/template/html/html.rb
lib/rdoc/generators/template/html/kilmer.rb
lib/rdoc/generators/template/html/old_html.rb
lib/rdoc/generators/template/html/one_page_html.rb
lib/rdoc/generators/template/xml/rdf.rb
lib/rdoc/generators/template/xml/xml.rb