summaryrefslogtreecommitdiff
path: root/lib/rdoc/generators/template/html/html.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rdoc/generators/template/html/html.rb')
-rw-r--r--lib/rdoc/generators/template/html/html.rb597
1 files changed, 328 insertions, 269 deletions
diff --git a/lib/rdoc/generators/template/html/html.rb b/lib/rdoc/generators/template/html/html.rb
index e0a8880004..fd9917b43a 100644
--- a/lib/rdoc/generators/template/html/html.rb
+++ b/lib/rdoc/generators/template/html/html.rb
@@ -20,19 +20,22 @@
#
module RDoc
- module Page
+ module Page
- FONTS = "Verdana,Arial,Helvetica,sans-serif"
+ 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: 120%; }
+h1 { font-size: 150%; }
h2,h3,h4 { margin-top: 1em; }
a { background: #eef; color: #039; text-decoration: none; }
@@ -40,61 +43,75 @@ 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;
+ 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: 0.9em;
+ font-size: 90%;
}
+
div#index a {
margin-left: 0.7em;
}
-div#classHeader {
+div#index .section-bar {
+ margin-left: 0px;
+ padding-left: 0.7em;
+ background: #ccc;
+ font-size: small;
+}
+
+
+div#classHeader, div#fileHeader {
width: auto;
- background: #039;
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#classHeader a, div#fileHeader a {
background: inherit;
color: white;
}
-div#classHeader td {
+div#classHeader td, div#fileHeader td {
background: inherit;
color: white;
}
+
div#fileHeader {
- width: auto;
- background: #039;
- color: white;
- padding: 0.5em 1.5em 0.5em 1.5em;
- margin: 0;
- border-bottom: 3px solid #006;
+ background: #057;
}
-div#fileHeader a {
- background: inherit;
- color: white;
+div#classHeader {
+ background: #048;
}
-div#fileHeader td {
- background: inherit;
- color: white;
+
+.class-name-in-header {
+ font-size: 180%;
+ font-weight: bold;
}
+
div#bodyContent {
padding: 0 1.5em 0 1.5em;
}
@@ -105,7 +122,7 @@ div#description {
border: 1px dotted #999;
}
-div#description h1,h2,h3,h4,h5,h6 {
+div#description h1,h3,h3,h4,h5,h6 {
color: black;
background: transparent;
}
@@ -137,35 +154,51 @@ table.header-table {
color: #DEDEDE;
}
-.section-bar {
+.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: vertical-align: top }
+.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: x-small; color: #448; }
-.context-item-desc { background: #efefef; }
+.context-item-value { font-size: small; color: #448; }
+.context-item-desc { color: #333; padding-left: 2em; }
/* --- Method classes -------------------------- */
.method-detail {
- background: #EFEFEF;
+ background: #efefef;
padding: 0;
margin-top: 0.5em;
- margin-bottom: 0.5em;
- border: 1px dotted #DDD;
+ margin-bottom: 1em;
+ border: 1px dotted #ccc;
}
.method-heading {
- color: black;
- background: #AAA;
- border-bottom: 1px solid #666;
- padding: 0.2em 0.5em 0 0.5em;
+ 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; }
@@ -178,7 +211,7 @@ a.source-toggle { font-size: 90%; }
div.method-source-code {
background: #262626;
color: #ffdead;
- margin: 1em;
+ margin: 1em;
padding: 0.5em;
border: 1px dashed #999;
overflow: hidden;
@@ -190,20 +223,20 @@ div.method-source-code pre { color: #ffdead; overflow: hidden; }
.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-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; }
+.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; }
}
#####################################################################
-### H E A D E R T E M P L A T E
+### H E A D E R T E M P L A T E
#####################################################################
XHTML_PREAMBLE = %{<?xml version="1.0" encoding="%charset%"?>
@@ -215,41 +248,41 @@ XHTML_PREAMBLE = %{<?xml version="1.0" encoding="%charset%"?>
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>
+ <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>
@@ -257,129 +290,15 @@ HEADER = XHTML_PREAMBLE + %{
#####################################################################
-### C O N T E X T C O N T E N T T E M P L A T E
+### C O N T E X T C O N T E N T T E M P L A T E
#####################################################################
CONTEXT_CONTENT = %{
- <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">
- <h2 class="section-bar">Required files</h2>
-
- <div class="name-list">
-START:requires
- HREF:aref:name:&nbsp;&nbsp;
-END:requires
- </div>
- </div>
-ENDIF:requires
-
-IF:methods
- <div id="method-list">
- <h2 class="section-bar">Methods</h2>
-
- <div class="name-list">
-START:methods
- HREF:aref:name:&nbsp;&nbsp;
-END:methods
- </div>
- </div>
-ENDIF:methods
-
-IF:constants
- <div id="constants-list">
- <h2 class="section-bar">Constants</h2>
-
- <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>
- </tr>
-IF:desc
- <tr class="top-aligned-row context-row">
- <td>&nbsp;</td>
- <td colspan="2" class="context-item-desc">%desc%</td>
- </tr>
-ENDIF:desc
-END:constants
- </table>
- </div>
- </div>
-ENDIF:constants
-
-IF:aliases
- <div id="aliases-list">
- <h2 class="section-bar">External Aliases</h2>
-
- <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>&nbsp;</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">
- <h2 class="section-bar">Attributes</h2>
-
- <div class="name-list">
- <table>
-START:attributes
- <tr class="top-aligned-row context-row">
- <td class="context-item-name">%name%</td>
- <td class="context-item-value">&nbsp;[%rw%]&nbsp;</td>
- <td class="context-item-desc">%a_desc%</td>
- </tr>
-END:attributes
- </table>
- </div>
- </div>
-ENDIF:attributes
-
-IF:classlist
- <div id="class-list">
- <h2 class="section-bar">Classes and Modules</h2>
-
- %classlist%
- </div>
-ENDIF:classlist
-
- </div>
-
}
#####################################################################
-### F O O T E R T E M P L A T E
+### F O O T E R T E M P L A T E
#####################################################################
FOOTER = %{
<div id="validator-badges">
@@ -392,39 +311,42 @@ FOOTER = %{
#####################################################################
-### F I L E P A G E H E A D E R T E M P L A T E
+### F I L E P A G E H E A D 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%
+ <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
- &nbsp;(<a href="%cvsurl%">CVS</a>)
+ &nbsp;(<a href="%cvsurl%">CVS</a>)
ENDIF:cvsurl
- </td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>Last Update:</strong></td>
- <td>%dtm_modified%</td>
- </tr>
- </table>
- </div>
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>%dtm_modified%</td>
+ </tr>
+ </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
+### C L A S S P A G E H E A D E R T E M P L A T E
#####################################################################
CLASS_PAGE = %{
<div id="classHeader">
- <h1>%full_name% <sup class="type-note">(%classmod%)</sup></h1>
<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
@@ -436,9 +358,9 @@ IF:full_path_url
</a>
ENDIF:full_path_url
IF:cvsurl
- &nbsp;(<a href="%cvsurl%">CVS</a>)
+ &nbsp;(<a href="%cvsurl%">CVS</a>)
ENDIF:cvsurl
- <br />
+ <br />
END:infiles
</td>
</tr>
@@ -463,121 +385,258 @@ ENDIF:parent
#####################################################################
-### M E T H O D L I S T T E M P L A T E
+### M E T H O D L I S T T E M P L A T E
#####################################################################
METHOD_LIST = %{
- <!-- if includes -->
+ <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:&nbsp;&nbsp;
+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:&nbsp;&nbsp;
+END:methods
+ </div>
+ </div>
+ENDIF:methods
+
+ </div>
+
+
+ <!-- if includes -->
IF:includes
- <div id="includes">
- <h2 class="section-bar">Included Modules</h2>
+ <div id="includes">
+ <h3 class="section-bar">Included Modules</h3>
- <div id="includes-list">
+ <div id="includes-list">
START:includes
- <span class="include-name">HREF:aref:name:</span>
+ <span class="include-name">HREF:aref:name:</span>
END:includes
- </div>
- </div>
+ </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">&nbsp;</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>&nbsp;</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>
+ <td class="context-item-value">&nbsp;[%rw%]&nbsp;</td>
+ <td class="context-item-desc">%a_desc%</td>
+ </tr>
+END:attributes
+ </table>
+ </div>
+ </div>
+ENDIF:attributes
+
- <!-- if method_list -->
+
+ <!-- if method_list -->
IF:method_list
- <div id="methods">
+ <div id="methods">
START:method_list
IF:methods
- <h2 class="section-bar">%type% %category% methods</h2>
+ <h3 class="section-bar">%type% %category% methods</h3>
START:methods
- <div id="method-%aref%" class="method-detail">
- <a name="%aref%"></a>
+ <div id="method-%aref%" class="method-detail">
+ <a name="%aref%"></a>
- <div class="method-heading">
+ <div class="method-heading">
IF:codeurl
- <a href="%codeurl%" target="Code" class="method-signature"
- onclick="popupCode('%codeurl%');return false;">
+ <a href="%codeurl%" target="Code" class="method-signature"
+ onclick="popupCode('%codeurl%');return false;">
ENDIF:codeurl
IF:sourcecode
- <a href="#%aref%" class="method-signature">
+ <a href="#%aref%" class="method-signature">
ENDIF:sourcecode
IF:callseq
- <span class="method-name">%callseq%</span>
+ <span class="method-name">%callseq%</span>
ENDIF:callseq
IFNOT:callseq
- <span class="method-name">%name%</span><span class="method-args">%params%</span>
+ <span class="method-name">%name%</span><span class="method-args">%params%</span>
ENDIF:callseq
IF:codeurl
- </a>
+ </a>
ENDIF:codeurl
IF:sourcecode
- </a>
+ </a>
ENDIF:sourcecode
- </div>
-
- <div class="method-description">
+ </div>
+
+ <div class="method-description">
IF:m_desc
- %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">
+ <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>
+ </div>
ENDIF:sourcecode
- </div>
- </div>
+ </div>
+ </div>
END:methods
ENDIF:methods
END:method_list
- </div>
+ </div>
ENDIF:method_list
+END:sections
}
#####################################################################
-### B O D Y T E M P L A T E
+### B O D Y T E M P L A T E
#####################################################################
BODY = HEADER + %{
!INCLUDE! <!-- banner header -->
- <div id="bodyContent">
+ <div id="bodyContent">
-} + CONTEXT_CONTENT + METHOD_LIST + %{
+} + METHOD_LIST + %{
- </div>
+ </div>
} + FOOTER
#####################################################################
-### S O U R C E C O D E T E M P L A T E
+### S O U R C E C O D E 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" />
+ <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>
+ <pre>%code%</pre>
</body>
</html>
}
#####################################################################
-### I N D E X F I L E T E M P L A T E S
+### I N D E X F I L E T E M P L A T E S
#####################################################################
FR_INDEX_BODY = %{
@@ -592,19 +651,19 @@ FILE_INDEX = XHTML_PREAMBLE + %{
-->
<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" />
+ <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">
+ <h1 class="section-bar">%list_title%</h1>
+ <div id="index-entries">
START:entries
- <a href="%href%">%name%</a><br />
+ <a href="%href%">%name%</a><br />
END:entries
- </div>
+ </div>
</div>
</body>
</html>
@@ -625,8 +684,8 @@ INDEX = %{<?xml version="1.0" encoding="%charset%"?>
-->
<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%" />
+ <title>%title%</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
</head>
<frameset rows="20%, 80%">
<frameset cols="25%,35%,45%">
@@ -641,7 +700,7 @@ INDEX = %{<?xml version="1.0" encoding="%charset%"?>
- end # module Page
+ end # module Page
end # class RDoc
require 'rdoc/generators/template/html/one_page_html'