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:
IF: title The value of title is %title% ENDIF: title
{ '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
Your file must contain the following constants
%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:
| ||||||
%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:
| ||||
%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
| ||||
%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. |
%title%: | title of page |
%initial_page% : | url of initial page to display |
%index_url%: | URL of main index page | ||||
%entries%: | List of
|
CONTENTS_XML | = | %{ IF:description <description> %description% </description> ENDIF:description <contents> IF:requires <required-file-list> START:requires <required-file name="%name%" IF:aref href="%aref%" ENDIF:aref /> END:requires </required-file-list> ENDIF:requires IF:attributes <attribute-list> START:attributes <attribute name="%name%"> IF:rw <attribute-rw>%rw%</attribute-rw> ENDIF:rw <description>%a_desc%</description> </attribute> END:attributes </attribute-list> ENDIF:attributes IF:includes <included-module-list> START:includes <included-module name="%name%" IF:aref href="%aref%" ENDIF:aref /> END:includes </included-module-list> ENDIF:includes IF:method_list <method-list> START:method_list IF:methods START:methods <method name="%name%" type="%type%" category="%category%" id="%aref%"> <parameters>%params%</parameters> IF:m_desc <description> %m_desc% </description> ENDIF:m_desc IF:sourcecode <source-code-listing> %sourcecode% </source-code-listing> ENDIF:sourcecode </method> END:methods ENDIF:methods END:method_list </method-list> ENDIF:method_list </contents> } | ||
ONE_PAGE | = | %{<?xml version="1.0" encoding="utf-8"?> <rdoc> <file-list> START:files <file name="%short_name%" id="%href%"> <file-info> <path>%full_path%</path> <dtm-modified>%dtm_modified%</dtm-modified> </file-info> } + CONTENTS_XML + %{ </file> END:files </file-list> <class-module-list> START:classes <%classmod% name="%full_name%" id="%full_name%"> <classmod-info> IF:infiles <infiles> START:infiles <infile>HREF:full_path_url:full_path:</infile> END:infiles </infiles> ENDIF:infiles IF:parent <superclass>HREF:par_url:parent:</superclass> ENDIF:parent </classmod-info> } + CONTENTS_XML + %{ </%classmod%> END:classes </class-module-list> </rdoc> } | ||
CONTENTS_RDF | = | %{ IF:description <description rd:parseType="Literal"> %description% </description> ENDIF:description IF:requires START:requires <rd:required-file rd:name="%name%" /> END:requires ENDIF:requires IF:attributes START:attributes <contents> <Attribute rd:name="%name%"> IF:rw <attribute-rw>%rw%</attribute-rw> ENDIF:rw <description rdf:parseType="Literal">%a_desc%</description> </Attribute> </contents> END:attributes ENDIF:attributes IF:includes <IncludedModuleList> START:includes <included-module rd:name="%name%" /> END:includes </IncludedModuleList> ENDIF:includes IF:method_list START:method_list IF:methods START:methods <contents> <Method rd:name="%name%" rd:visibility="%type%" rd:category="%category%" rd:id="%aref%"> <parameters>%params%</parameters> IF:m_desc <description rdf:parseType="Literal"> %m_desc% </description> ENDIF:m_desc IF:sourcecode <source-code-listing rdf:parseType="Literal"> %sourcecode% </source-code-listing> ENDIF:sourcecode </Method> </contents> END:methods ENDIF:methods END:method_list ENDIF:method_list <!-- end method list --> } | ||
ONE_PAGE | = | %{<?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://pragprog.com/rdoc/rdoc.rdf#" xmlns:rd="http://pragprog.com/rdoc/rdoc.rdf#"> <!-- RDoc --> START:files <rd:File rd:name="%short_name%" rd:id="%href%"> <path>%full_path%</path> <dtm-modified>%dtm_modified%</dtm-modified> } + CONTENTS_RDF + %{ </rd:File> END:files START:classes <%classmod% rd:name="%full_name%" rd:id="%full_name%"> <classmod-info> IF:infiles <InFiles> START:infiles <infile> <File rd:name="%full_path%" IF:full_path_url rdf:about="%full_path_url%" ENDIF:full_path_url /> </infile> END:infiles </InFiles> ENDIF:infiles IF:parent <superclass>HREF:par_url:parent:</superclass> ENDIF:parent </classmod-info> } + CONTENTS_RDF + %{ </%classmod%> END:classes <!-- /RDoc --> </rdf:RDF> } | ||
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 | = | %{ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <HTML> <HEAD> <meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1"> <!-- Sitemap 1.0 --> </HEAD><BODY> <OBJECT type="text/site properties"> <param name="Foreground" value="0x80"> <param name="Window Styles" value="0x800025"> <param name="ImageType" value="Folder"> </OBJECT> <UL> START:contents <LI> <OBJECT type="text/sitemap"> <param name="Name" value="%c_name%"> <param name="Local" value="%ref%"> </OBJECT> IF:methods <ul> START:methods <LI> <OBJECT type="text/sitemap"> <param name="Name" value="%name%"> <param name="Local" value="%aref%"> </OBJECT> END:methods </ul> ENDIF:methods </LI> END:contents </UL> </BODY></HTML> } | ||
CHM_INDEX | = | %{ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <HTML> <HEAD> <meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1"> <!-- Sitemap 1.0 --> </HEAD><BODY> <OBJECT type="text/site properties"> <param name="Foreground" value="0x80"> <param name="Window Styles" value="0x800025"> <param name="ImageType" value="Folder"> </OBJECT> <UL> START:index <LI> <OBJECT type="text/sitemap"> <param name="Name" value="%name%"> <param name="Local" value="%aref%"> </OBJECT> END:index </UL> </BODY></HTML> } | ||
CONTENTS_XML | = | %{ IF:description %description% ENDIF:description IF:requires <h4>Requires:</h4> <ul> START:requires IF:aref <li><a href="%aref%">%name%</a></li> ENDIF:aref IFNOT:aref <li>%name%</li> ENDIF:aref END:requires </ul> ENDIF:requires IF:attributes <h4>Attributes</h4> <table> START:attributes <tr><td>%name%</td><td>%rw%</td><td>%a_desc%</td></tr> END:attributes </table> ENDIF:attributes IF:includes <h4>Includes</h4> <ul> START:includes IF:aref <li><a href="%aref%">%name%</a></li> ENDIF:aref IFNOT:aref <li>%name%</li> ENDIF:aref END:includes </ul> ENDIF:includes IF:method_list <h3>Methods</h3> START:method_list IF:methods START:methods <h4>%type% %category% method: IF:callseq <a name="%aref%">%callseq%</a> ENDIF:callseq IFNOT:callseq <a name="%aref%">%name%%params%</a></h4> ENDIF:callseq IF:m_desc %m_desc% ENDIF:m_desc IF:sourcecode <blockquote><pre> %sourcecode% </pre></blockquote> ENDIF:sourcecode END:methods ENDIF:methods END:method_list ENDIF:method_list } | The following is used for the -1 option | |
ONE_PAGE | = | %{ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> </head> <body> START:files <h2>File: %short_name%</h2> <table> <tr><td>Path:</td><td>%full_path%</td></tr> <tr><td>Modified:</td><td>%dtm_modified%</td></tr> </table> } + CONTENTS_XML + %{ END:files IF:classes <h2>Classes</h2> START:classes IF:parent <h3>%classmod% %full_name% < HREF:par_url:parent:</h3> ENDIF:parent IFNOT:parent <h3>%classmod% %full_name%</h3> ENDIF:parent IF:infiles (in files START:infiles HREF:full_path_url:full_path: END:infiles ) ENDIF:infiles } + CONTENTS_XML + %{ END:classes ENDIF:classes </body> </html> } | ||
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 } } | ||
BODY | = | %{ <html><head> <title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" /> <script type="text/javascript" language="JavaScript"> <!-- function popCode(url) { parent.frames.source.location = url } //--> </script> </head> <body bgcolor="#BBBBBB"> !INCLUDE! <!-- banner header --> IF:diagram <table width="100%"><tr><td align="center"> %diagram% </td></tr></table> ENDIF:diagram IF:description <div class="description">%description%</div> ENDIF:description IF:requires <table cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Required files</td></tr> </table><br /> <div class="name-list"> START:requires HREF:aref:name: END:requires ENDIF:requires </div> IF:methods <table cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Subroutines and Functions</td></tr> </table><br /> <div class="name-list"> START:methods HREF:aref:name:, END:methods </div> ENDIF:methods IF:attributes <table cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Arguments</td></tr> </table><br /> <table cellspacing="5"> START:attributes <tr valign="top"> IF:rw <td align="center" class="attr-rw"> [%rw%] </td> ENDIF:rw IFNOT:rw <td></td> ENDIF:rw <td class="attr-name">%name%</td> <td>%a_desc%</td> </tr> END:attributes </table> ENDIF:attributes IF:classlist <table cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Modules</td></tr> </table><br /> %classlist%<br /> ENDIF:classlist !INCLUDE! <!-- method descriptions --> </body> </html> } | ||
FILE_PAGE | = | <<_FILE_PAGE_ <table width="100%"> <tr class="title-row"> <td><table width="100%"><tr> <td class="big-title-font" colspan="2"><font size="-3"><b>File</b><br /></font>%short_name%</td> <td align="right"><table cellspacing="0" cellpadding="2"> <tr> <td class="small-title-font">Path:</td> <td class="small-title-font">%full_path% IF:cvsurl (<a href="%cvsurl%"><acronym title="Concurrent Versioning System">CVS</acronym></a>) ENDIF:cvsurl </td> </tr> <tr> <td class="small-title-font">Modified:</td> <td class="small-title-font">%dtm_modified%</td> </tr> </table> </td></tr></table></td> </tr> </table><br /> _FILE_PAGE_ | ||
CLASS_PAGE | = | %{ <table width="100%" border="0" cellspacing="0"> <tr class="title-row"> <td class="big-title-font"> <font size="-3"><b>%classmod%</b><br /></font>%full_name% </td> <td align="right"> <table cellspacing="0" cellpadding="2"> <tr valign="top"> <td class="small-title-font">In:</td> <td class="small-title-font"> START:infiles HREF:full_path_url:full_path: IF:cvsurl (<a href="%cvsurl%"><acronym title="Concurrent Versioning System">CVS</acronym></a>) ENDIF:cvsurl END:infiles </td> </tr> IF:parent <tr> <td class="small-title-font">Parent:</td> <td class="small-title-font"> IF:par_url <a href="%par_url%" class="cyan"> ENDIF:par_url %parent% IF:par_url </a> ENDIF:par_url </td> </tr> ENDIF:parent </table> </td> </tr> </table><br /> } | ||
METHOD_LIST | = | %{ IF:includes <div class="tablesubsubtitle">Uses</div><br /> <div class="name-list"> START:includes <span class="method-name">HREF:aref:name:</span> END:includes </div> ENDIF:includes IF:method_list START:method_list IF:methods <table cellpadding="5" width="100%"> <tr><td class="tablesubtitle">%type% %category% methods</td></tr> </table> START:methods <table width="100%" cellspacing="0" cellpadding="5" border="0"> <tr><td class="methodtitle"> <a name="%aref%"> <b>%name%</b>%params% IF:codeurl <a href="%codeurl%" target="source" class="srclink">src</a> ENDIF:codeurl </a></td></tr> </table> IF:m_desc <div class="description"> %m_desc% </div> ENDIF:m_desc END:methods ENDIF:methods END:method_list ENDIF:method_list } | ||
SRC_PAGE | = | %{ <html> <head><title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> <style type="text/css"> .kw { color: #3333FF; font-weight: bold } .cmt { color: green; font-style: italic } .str { color: #662222; font-style: italic } .re { color: #662222; } .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 } </style> </head> <body bgcolor="#BBBBBB"> <pre>%code%</pre> </body> </html> } | Source code ########################## | |
FR_INDEX_BODY | = | %{ !INCLUDE! } | Index ################################ | |
FILE_INDEX | = | %{ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> <style type="text/css"> <!-- body { background-color: #bbbbbb; font-family: #{FONTS}; font-size: 11px; font-style: normal; line-height: 14px; color: #000040; } div.banner { background: #bbbbcc; color: white; padding: 1; margin: 0; font-size: 90%; font-weight: bold; line-height: 1.1; text-align: center; width: 100%; } --> </style> <base target="docwin"> </head> <body> <div class="banner">%list_title%</div> START:entries <a href="%href%">%name%</a><br /> END:entries </body></html> } | ||
CLASS_INDEX | = | FILE_INDEX | ||
METHOD_INDEX | = | FILE_INDEX | ||
INDEX | = | %{ <html> <head> <title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> </head> <frameset cols="20%,*"> <frameset rows="15%,35%,50%"> <frame src="fr_file_index.html" title="Files" name="Files"> <frame src="fr_class_index.html" name="Modules"> <frame src="fr_method_index.html" name="Subroutines and Functions"> </frameset> <frameset rows="80%,20%"> <frame src="%initial_page%" name="docwin"> <frame src="blank.html" name="source"> </frameset> <noframes> <body bgcolor="#BBBBBB"> Click <a href="html/index.html">here</a> for a non-frames version of this page. </body> </noframes> </frameset> </html> } | ||
BLANK | = | %{ <html><body bgcolor="#BBBBBB"></body></html> } | and a blank page to use as a target | |
FONTS | = | "Verdana, Arial, Helvetica, sans-serif" | ||
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 | = | %{ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> <link rel=StyleSheet href="%style_url%" type="text/css" media="screen" /> <script type="text/javascript" language="JavaScript"> <!-- function popCode(url) { window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") } //--> </script> </head> } | ||
METHOD_LIST | = | %{ IF:includes <table summary="Included modules" cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Included modules</td></tr> </table> <div class="name-list"> START:includes <span class="method-name">HREF:aref:name:</span> END:includes </div> ENDIF:includes IF:method_list START:method_list IF:methods <table summary="Method list" cellpadding="5" width="100%"> <tr><td class="tablesubtitle">%type% %category% methods</td></tr> </table> START:methods <table summary="method" width="100%" cellspacing="0" cellpadding="5" border="0"> <tr><td class="methodtitle"> <a name="%aref%"></a> IF:codeurl <a href="%codeurl%" target="Code" class="methodtitle" onClick="popCode('%codeurl%');return false;"> ENDIF:codeurl IF:callseq <b>%callseq%</b> ENDIF:callseq IFNOT:callseq <b>%name%</b>%params% ENDIF:callseq IF:codeurl </a> ENDIF:codeurl </td></tr> </table> IF:m_desc <div class="description"> %m_desc% </div> ENDIF:m_desc IF:aka <div class="aka"> This method is also aliased as START:aka <a href="%aref%">%name%</a> END:aka </div> ENDIF:aka IF:sourcecode <pre class="source"> %sourcecode% </pre> ENDIF:sourcecode END:methods ENDIF:methods END:method_list ENDIF:method_list } | ||
CONTEXT_CONTENT | = | %{ IF:diagram <table summary="Diagram of classes and modules" width="100%"> <tr><td align="center"> %diagram% </td></tr></table> ENDIF:diagram IF:description <div class="description">%description%</div> ENDIF:description IF:requires <table summary="Requires" cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Required files</td></tr> </table> <div class="name-list"> START:requires HREF:aref:name: END:requires </div> ENDIF:requires IF:methods <table summary="Methods" cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Methods</td></tr> </table> <div class="name-list"> START:methods HREF:aref:name: END:methods </div> ENDIF:methods IF:constants <table summary="Constants" cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Constants</td></tr> </table> <table cellpadding="5"> START:constants <tr valign="top"><td>%name%</td><td>=</td><td>%value%</td></tr> IF:desc <tr><td></td><td></td><td>%desc%</td></tr> ENDIF:desc END:constants </table> ENDIF:constants IF:aliases <table summary="Aliases" cellpadding="5" width="100%"> <tr><td class="tablesubtitle">External Aliases</td></tr> </table> <div class="name-list"> START:aliases %old_name% -> %new_name%<br /> END:aliases </div> ENDIF:aliases IF:attributes <table summary="Attributes" cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Attributes</td></tr> </table> <table summary="Attribute details" cellspacing="5"> START:attributes <tr valign="top"> <td class="attr-name">%name%</td> IF:rw <td align="center" class="attr-rw"> [%rw%] </td> ENDIF:rw IFNOT:rw <td></td> ENDIF:rw <td>%a_desc%</td> </tr> END:attributes </table> ENDIF:attributes IF:classlist <table summary="List of classes" cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Classes and Modules</td></tr> </table> <div class="classlist"> %classlist% </div> ENDIF:classlist } | ||
BODY | = | HEADER + %{ <body bgcolor="white"> !INCLUDE! <!-- banner header --> } + CONTEXT_CONTENT + METHOD_LIST + %{ </body> </html> } | ||
FILE_PAGE | = | <<_FILE_PAGE_ <table summary="Information on file" width="100%"> <tr class="title-row"> <td><table summary="layout" width="100%"><tr> <td class="big-title-font" colspan="2">%short_name%</td> <td align="right"><table summary="layout" cellspacing="0" cellpadding="2"> <tr> <td class="small-title-font">Path:</td> <td class="small-title-font">%full_path% IF:cvsurl (<a href="%cvsurl%"><acronym title="Concurrent Versioning System">CVS</acronym></a>) ENDIF:cvsurl </td> </tr> <tr> <td class="small-title-font">Modified:</td> <td class="small-title-font">%dtm_modified%</td> </tr> </table> </td></tr></table></td> </tr> </table> _FILE_PAGE_ | ||
CLASS_PAGE | = | %{ <table summary="Information on class" width="100%" border="0" cellspacing="0"> <tr class="title-row"> <td class="big-title-font"> <sup><font color="aqua">%classmod%</font></sup> %full_name% </td> <td align="right"> <table summary="layout" cellspacing="0" cellpadding="2"> <tr valign="top"> <td class="small-title-font">In:</td> <td class="small-title-font"> START:infiles IF:full_path_url <a href="%full_path_url%" class="aqua"> ENDIF:full_path_url %full_path% IF:full_path_url </a> ENDIF:full_path_url IF:cvsurl (<a href="%cvsurl%"><acronym title="Concurrent Versioning System">CVS</acronym></a>) ENDIF:cvsurl <br /> END:infiles </td> </tr> IF:parent <tr> <td class="small-title-font">Parent:</td> <td class="small-title-font"> IF:par_url <a href="%par_url%" class="aqua"> ENDIF:par_url %parent% IF:par_url </a> ENDIF:par_url </td> </tr> ENDIF:parent </table> </td> </tr> </table> } | ||
SRC_PAGE | = | %{ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> <title>%title%</title> <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" /> </head> <body bgcolor="white"> <pre>%code%</pre> </body> </html> } | Source code ########################## | |
FR_INDEX_BODY | = | %{ !INCLUDE! } | Index ################################ | |
FILE_INDEX | = | %{ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> <title>%list_title%</title> <style type="text/css"> <!-- body { background-color: #ddddff; font-family: #{FONTS}; font-size: 11px; font-style: normal; line-height: 14px; color: #000040; } div.banner { background: #0000aa; color: white; padding: 1; margin: 0; font-size: 90%; font-weight: bold; line-height: 1.1; text-align: center; width: 100%; } A.xx { color: white; font-weight: bold; } --> </style> <base target="docwin"> </head> <body> <div class="banner"><a href="%index_url%" class="xx">%list_title%</a></div> START:entries <a href="%href%">%name%</a><br /> END:entries </body></html> } | ||
CLASS_INDEX | = | FILE_INDEX | ||
METHOD_INDEX | = | FILE_INDEX | ||
INDEX | = | %{ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> <title>%title%</title></head> <frameset rows="20%, 80%"> <frameset cols="25%,35%,45%"> <frame src="fr_file_index.html" title="Files" name="Files"> <frame src="fr_class_index.html" name="Classes"> <frame src="fr_method_index.html" name="Methods"> </frameset> <frame src="%initial_page%" name="docwin"> <noframes> <body bgcolor="white"> Sorry, RDoc currently only generates HTML using frames. </body> </noframes> </frameset> </html> } | ||
CONTENTS_XML | = | %{ IF:description %description% ENDIF:description IF:requires <h4>Requires:</h4> <ul> START:requires IF:aref <li><a href="%aref%">%name%</a></li> ENDIF:aref IFNOT:aref <li>%name%</li> ENDIF:aref END:requires </ul> ENDIF:requires IF:attributes <h4>Attributes</h4> <table> START:attributes <tr><td>%name%</td><td>%rw%</td><td>%a_desc%</td></tr> END:attributes </table> ENDIF:attributes IF:includes <h4>Includes</h4> <ul> START:includes IF:aref <li><a href="%aref%">%name%</a></li> ENDIF:aref IFNOT:aref <li>%name%</li> ENDIF:aref END:includes </ul> ENDIF:includes IF:method_list <h3>Methods</h3> START:method_list IF:methods START:methods <h4>%type% %category% method: <a name="%aref%">%name%%params%</a></h4> IF:m_desc %m_desc% ENDIF:m_desc IF:sourcecode <blockquote><pre> %sourcecode% </pre></blockquote> ENDIF:sourcecode END:methods ENDIF:methods END:method_list ENDIF:method_list } | The following is used for the -1 option | |
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 } } | ||
BODY | = | %{ <html><head> <title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" /> <script type="text/javascript" language="JavaScript"> <!-- function popCode(url) { parent.frames.source.location = url } //--> </script> </head> <body bgcolor="white"> !INCLUDE! <!-- banner header --> IF:diagram <table width="100%"><tr><td align="center"> %diagram% </td></tr></table> ENDIF:diagram IF:description <div class="description">%description%</div> ENDIF:description IF:requires <table cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Required files</td></tr> </table><br /> <div class="name-list"> START:requires HREF:aref:name: END:requires ENDIF:requires </div> IF:methods <table cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Methods</td></tr> </table><br /> <div class="name-list"> START:methods HREF:aref:name:, END:methods </div> ENDIF:methods START:sections <div id="section"> IF:sectitle <h2 class="section-title"><a name="%secsequence%">%sectitle%</a></h2> IF:seccomment <div class="section-comment"> %seccomment% </div> ENDIF:seccomment ENDIF:sectitle IF:attributes <table cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Attributes</td></tr> </table><br /> <table cellspacing="5"> START:attributes <tr valign="top"> IF:rw <td align="center" class="attr-rw"> [%rw%] </td> ENDIF:rw IFNOT:rw <td></td> ENDIF:rw <td class="attr-name">%name%</td> <td>%a_desc%</td> </tr> END:attributes </table> ENDIF:attributes IF:classlist <table cellpadding="5" width="100%"> <tr><td class="tablesubtitle">Classes and Modules</td></tr> </table><br /> %classlist%<br /> ENDIF:classlist !INCLUDE! <!-- method descriptions --> END:sections </body> </html> } | ||
FILE_PAGE | = | <<_FILE_PAGE_ <table width="100%"> <tr class="title-row"> <td><table width="100%"><tr> <td class="big-title-font" colspan="2"><font size="-3"><b>File</b><br /></font>%short_name%</td> <td align="right"><table cellspacing="0" cellpadding="2"> <tr> <td class="small-title-font">Path:</td> <td class="small-title-font">%full_path% IF:cvsurl (<a href="%cvsurl%"><acronym title="Concurrent Versioning System">CVS</acronym></a>) ENDIF:cvsurl </td> </tr> <tr> <td class="small-title-font">Modified:</td> <td class="small-title-font">%dtm_modified%</td> </tr> </table> </td></tr></table></td> </tr> </table><br /> _FILE_PAGE_ | ||
CLASS_PAGE | = | %{ <table width="100%" border="0" cellspacing="0"> <tr class="title-row"> <td class="big-title-font"> <font size="-3"><b>%classmod%</b><br /></font>%full_name% </td> <td align="right"> <table cellspacing="0" cellpadding="2"> <tr valign="top"> <td class="small-title-font">In:</td> <td class="small-title-font"> START:infiles HREF:full_path_url:full_path: IF:cvsurl (<a href="%cvsurl%"><acronym title="Concurrent Versioning System">CVS</acronym></a>) ENDIF:cvsurl END:infiles </td> </tr> IF:parent <tr> <td class="small-title-font">Parent:</td> <td class="small-title-font"> IF:par_url <a href="%par_url%" class="cyan"> ENDIF:par_url %parent% IF:par_url </a> ENDIF:par_url </td> </tr> ENDIF:parent </table> </td> </tr> </table><br /> } | ||
METHOD_LIST | = | %{ IF:includes <div class="tablesubsubtitle">Included modules</div><br /> <div class="name-list"> START:includes <span class="method-name">HREF:aref:name:</span> END:includes </div> ENDIF:includes IF:method_list START:method_list IF:methods <table cellpadding=5 width="100%"> <tr><td class="tablesubtitle">%type% %category% methods</td></tr> </table> START:methods <table width="100%" cellspacing="0" cellpadding="5" border="0"> <tr><td class="methodtitle"> <a name="%aref%"> IF:callseq <b>%callseq%</b> ENDIF:callseq IFNOT:callseq <b>%name%</b>%params% ENDIF:callseq IF:codeurl <a href="%codeurl%" target="source" class="srclink">src</a> ENDIF:codeurl </a></td></tr> </table> IF:m_desc <div class="description"> %m_desc% </div> ENDIF:m_desc IF:aka <div class="aka"> This method is also aliased as START:aka <a href="%aref%">%name%</a> END:aka </div> ENDIF:aka IF:sourcecode <pre class="source"> %sourcecode% </pre> ENDIF:sourcecode END:methods ENDIF:methods END:method_list ENDIF:method_list } | ||
SRC_PAGE | = | %{ <html> <head><title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> <style type="text/css"> .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 } .kw { color: #3333FF; font-weight: bold } .cmt { color: green; font-style: italic } .str { color: #662222; font-style: italic } .re { color: #662222; } </style> </head> <body bgcolor="white"> <pre>%code%</pre> </body> </html> } | Source code ########################## | |
FR_INDEX_BODY | = | %{ !INCLUDE! } | Index ################################ | |
FILE_INDEX | = | %{ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> <style> <!-- body { background-color: #ddddff; font-family: #{FONTS}; font-size: 11px; font-style: normal; line-height: 14px; color: #000040; } div.banner { background: #0000aa; color: white; padding: 1; margin: 0; font-size: 90%; font-weight: bold; line-height: 1.1; text-align: center; width: 100%; } --> </style> <base target="docwin"> </head> <body> <div class="banner">%list_title%</div> START:entries <a href="%href%">%name%</a><br /> END:entries </body></html> } | ||
CLASS_INDEX | = | FILE_INDEX | ||
METHOD_INDEX | = | FILE_INDEX | ||
INDEX | = | %{ <html> <head> <title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%"> </head> <frameset cols="20%,*"> <frameset rows="15%,35%,50%"> <frame src="fr_file_index.html" title="Files" name="Files"> <frame src="fr_class_index.html" name="Classes"> <frame src="fr_method_index.html" name="Methods"> </frameset> IF:inline_source <frame src="%initial_page%" name="docwin"> ENDIF:inline_source IFNOT:inline_source <frameset rows="80%,20%"> <frame src="%initial_page%" name="docwin"> <frame src="blank.html" name="source"> </frameset> ENDIF:inline_source <noframes> <body bgcolor="white"> Click <a href="html/index.html">here</a> for a non-frames version of this page. </body> </noframes> </frameset> </html> } | ||
BLANK | = | %{ <html><body bgcolor="white"></body></html> } | and a blank page to use as a target | |
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 | = | %{<?xml version="1.0" encoding="%charset%"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> } | H E A D E R T E M P L A T E | |
HEADER | = | XHTML_PREAMBLE + %{ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" /> <script type="text/javascript"> // <![CDATA[ function popupCode( url ) { window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") } function toggleCode( id ) { if ( document.getElementById ) elem = document.getElementById( id ); else if ( document.all ) elem = eval( "document.all." + id ); else return false; elemStyle = elem.style; if ( elemStyle.display != "block" ) { elemStyle.display = "block" } else { elemStyle.display = "none" } return true; } // Make codeblocks hidden by default document.writeln( "<style type=\\"text/css\\">div.method-source-code { display: none }</style>" ) // ]]> </script> </head> <body> } | ||
CONTEXT_CONTENT | = | %{ } | C O N T E X T C O N T E N T T E M P L A T E | |
FOOTER | = | %{ <div id="validator-badges"> <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p> </div> </body> </html> } | F O O T E R T E M P L A T E | |
FILE_PAGE | = | %{ <div id="fileHeader"> <h1>%short_name%</h1> <table class="header-table"> <tr class="top-aligned-row"> <td><strong>Path:</strong></td> <td>%full_path% IF:cvsurl (<a href="%cvsurl%"><acronym title="Concurrent Versioning System">CVS</acronym></a>) ENDIF:cvsurl </td> </tr> <tr class="top-aligned-row"> <td><strong>Last Update:</strong></td> <td>%dtm_modified%</td> </tr> </table> </div> } | F I L E P A G E H E A D E R T E M P L A T E | |
CLASS_PAGE | = | %{ <div id="classHeader"> <table class="header-table"> <tr class="top-aligned-row"> <td><strong>%classmod%</strong></td> <td class="class-name-in-header">%full_name%</td> </tr> <tr class="top-aligned-row"> <td><strong>In:</strong></td> <td> START:infiles IF:full_path_url <a href="%full_path_url%"> ENDIF:full_path_url %full_path% IF:full_path_url </a> ENDIF:full_path_url IF:cvsurl (<a href="%cvsurl%"><acronym title="Concurrent Versioning System">CVS</acronym></a>) ENDIF:cvsurl <br /> END:infiles </td> </tr> IF:parent <tr class="top-aligned-row"> <td><strong>Parent:</strong></td> <td> IF:par_url <a href="%par_url%"> ENDIF:par_url %parent% IF:par_url </a> ENDIF:par_url </td> </tr> ENDIF:parent </table> </div> } | C L A S S P A G E H E A D E R T E M P L A T E | |
METHOD_LIST | = | %{ <div id="contextContent"> IF:diagram <div id="diagram"> %diagram% </div> ENDIF:diagram IF:description <div id="description"> %description% </div> ENDIF:description IF:requires <div id="requires-list"> <h3 class="section-bar">Required files</h3> <div class="name-list"> START:requires HREF:aref:name: END:requires </div> </div> ENDIF:requires IF:toc <div id="contents-list"> <h3 class="section-bar">Contents</h3> <ul> START:toc <li><a href="#%href%">%secname%</a></li> END:toc </ul> ENDIF:toc </div> IF:methods <div id="method-list"> <h3 class="section-bar">Methods</h3> <div class="name-list"> START:methods HREF:aref:name: END:methods </div> </div> ENDIF:methods </div> <!-- if includes --> IF:includes <div id="includes"> <h3 class="section-bar">Included Modules</h3> <div id="includes-list"> START:includes <span class="include-name">HREF:aref:name:</span> END:includes </div> </div> ENDIF:includes START:sections <div id="section"> IF:sectitle <h2 class="section-title"><a name="%secsequence%">%sectitle%</a></h2> IF:seccomment <div class="section-comment"> %seccomment% </div> ENDIF:seccomment ENDIF:sectitle IF:classlist <div id="class-list"> <h3 class="section-bar">Classes and Modules</h3> %classlist% </div> ENDIF:classlist IF:constants <div id="constants-list"> <h3 class="section-bar">Constants</h3> <div class="name-list"> <table summary="Constants"> START:constants <tr class="top-aligned-row context-row"> <td class="context-item-name">%name%</td> <td>=</td> <td class="context-item-value">%value%</td> IF:desc <td width="3em"> </td> <td class="context-item-desc">%desc%</td> ENDIF:desc </tr> END:constants </table> </div> </div> ENDIF:constants IF:aliases <div id="aliases-list"> <h3 class="section-bar">External Aliases</h3> <div class="name-list"> <table summary="aliases"> START:aliases <tr class="top-aligned-row context-row"> <td class="context-item-name">%old_name%</td> <td>-></td> <td class="context-item-value">%new_name%</td> </tr> IF:desc <tr class="top-aligned-row context-row"> <td> </td> <td colspan="2" class="context-item-desc">%desc%</td> </tr> ENDIF:desc END:aliases </table> </div> </div> ENDIF:aliases IF:attributes <div id="attribute-list"> <h3 class="section-bar">Attributes</h3> <div class="name-list"> <table> START:attributes <tr class="top-aligned-row context-row"> <td class="context-item-name">%name%</td> IF:rw <td class="context-item-value"> [%rw%] </td> ENDIF:rw IFNOT:rw <td class="context-item-value"> </td> ENDIF:rw <td class="context-item-desc">%a_desc%</td> </tr> END:attributes </table> </div> </div> ENDIF:attributes <!-- if method_list --> IF:method_list <div id="methods"> START:method_list IF:methods <h3 class="section-bar">%type% %category% methods</h3> START:methods <div id="method-%aref%" class="method-detail"> <a name="%aref%"></a> <div class="method-heading"> IF:codeurl <a href="%codeurl%" target="Code" class="method-signature" onclick="popupCode('%codeurl%');return false;"> ENDIF:codeurl IF:sourcecode <a href="#%aref%" class="method-signature"> ENDIF:sourcecode IF:callseq <span class="method-name">%callseq%</span> ENDIF:callseq IFNOT:callseq <span class="method-name">%name%</span><span class="method-args">%params%</span> ENDIF:callseq IF:codeurl </a> ENDIF:codeurl IF:sourcecode </a> ENDIF:sourcecode </div> <div class="method-description"> IF:m_desc %m_desc% ENDIF:m_desc IF:sourcecode <p><a class="source-toggle" href="#" onclick="toggleCode('%aref%-source');return false;">[Source]</a></p> <div class="method-source-code" id="%aref%-source"> <pre> %sourcecode% </pre> </div> ENDIF:sourcecode </div> </div> END:methods ENDIF:methods END:method_list </div> ENDIF:method_list END:sections } | M E T H O D L I S T T E M P L A T E | |
BODY | = | HEADER + %{ !INCLUDE! <!-- banner header --> <div id="bodyContent"> } + METHOD_LIST + %{ </div> } + FOOTER | B O D Y T E M P L A T E | |
SRC_PAGE | = | XHTML_PREAMBLE + %{ <html> <head> <title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" /> </head> <body class="standalone-code"> <pre>%code%</pre> </body> </html> } | S O U R C E C O D E T E M P L A T E | |
FR_INDEX_BODY | = | %{ !INCLUDE! } | I N D E X F I L E T E M P L A T E S | |
FILE_INDEX | = | XHTML_PREAMBLE + %{ <!-- %list_title% --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>%list_title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> <link rel="stylesheet" href="%style_url%" type="text/css" /> <base target="docwin" /> </head> <body> <div id="index"> <h1 class="section-bar">%list_title%</h1> <div id="index-entries"> START:entries <a href="%href%">%name%</a><br /> END:entries </div> </div> </body> </html> } | ||
CLASS_INDEX | = | FILE_INDEX | ||
METHOD_INDEX | = | FILE_INDEX | ||
INDEX | = | %{<?xml version="1.0" encoding="%charset%"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <!-- %title% --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>%title%</title> <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> </head> <frameset rows="20%, 80%"> <frameset cols="25%,35%,45%"> <frame src="fr_file_index.html" title="Files" name="Files" /> <frame src="fr_class_index.html" name="Classes" /> <frame src="fr_method_index.html" name="Methods" /> </frameset> <frame src="%initial_page%" name="docwin" /> </frameset> </html> } |
ruby-doc.org is hosted and maintained by James Britt and Rising Tide Software, a Ruby application development company in Phoenix, Arizona. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.
Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.
For more information on the Ruby programming language, visit ruby-lang.org.
Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.