123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591 |
- module RDoc
- module Page
- FONTS = "\"Bitstream Vera Sans\", Verdana, Arial, Helvetica, sans-serif"
- STYLE = <<CSS
- a {
- color: #00F;
- text-decoration: none;
- }
- a:hover {
- color: #77F;
- text-decoration: underline;
- }
- body, td, p {
- font-family: %fonts%;
- background: #FFF;
- color: #000;
- margin: 0px;
- font-size: small;
- }
- #content {
- margin: 2em;
- }
- #description p {
- margin-bottom: 0.5em;
- }
- .sectiontitle {
- margin-top: 1em;
- margin-bottom: 1em;
- padding: 0.5em;
- padding-left: 2em;
- background: #005;
- color: #FFF;
- font-weight: bold;
- border: 1px dotted black;
- }
- .attr-rw {
- padding-left: 1em;
- padding-right: 1em;
- text-align: center;
- color: #055;
- }
- .attr-name {
- font-weight: bold;
- }
- .attr-desc {
- }
- .attr-value {
- font-family: monospace;
- }
- .file-title-prefix {
- font-size: large;
- }
- .file-title {
- font-size: large;
- font-weight: bold;
- background: #005;
- color: #FFF;
- }
- .banner {
- background: #005;
- color: #FFF;
- border: 1px solid black;
- padding: 1em;
- }
- .banner td {
- background: transparent;
- color: #FFF;
- }
- h1 a, h2 a, .sectiontitle a, .banner a {
- color: #FF0;
- }
- h1 a:hover, h2 a:hover, .sectiontitle a:hover, .banner a:hover {
- color: #FF7;
- }
- .dyn-source {
- display: none;
- background: #FFE;
- color: #000;
- border: 1px dotted black;
- margin: 0.5em 2em 0.5em 2em;
- padding: 0.5em;
- }
- .dyn-source .cmt {
- color: #00F;
- font-style: italic;
- }
- .dyn-source .kw {
- color: #070;
- font-weight: bold;
- }
- .method {
- margin-left: 1em;
- margin-right: 1em;
- margin-bottom: 1em;
- }
- .description pre {
- padding: 0.5em;
- border: 1px dotted black;
- background: #FFE;
- }
- .method .title {
- font-family: monospace;
- font-size: large;
- border-bottom: 1px dashed black;
- margin-bottom: 0.3em;
- padding-bottom: 0.1em;
- }
- .method .description, .method .sourcecode {
- margin-left: 1em;
- }
- .description p, .sourcecode p {
- margin-bottom: 0.5em;
- }
- .method .sourcecode p.source-link {
- text-indent: 0em;
- margin-top: 0.5em;
- }
- .method .aka {
- margin-top: 0.3em;
- margin-left: 1em;
- font-style: italic;
- text-indent: 2em;
- }
- h1 {
- padding: 1em;
- border: 1px solid black;
- font-size: x-large;
- font-weight: bold;
- color: #FFF;
- background: #007;
- }
- h2 {
- padding: 0.5em 1em 0.5em 1em;
- border: 1px solid black;
- font-size: large;
- font-weight: bold;
- color: #FFF;
- background: #009;
- }
- h3, h4, h5, h6 {
- padding: 0.2em 1em 0.2em 1em;
- border: 1px dashed black;
- color: #000;
- background: #AAF;
- }
- .sourcecode > pre {
- padding: 0.5em;
- border: 1px dotted black;
- background: #FFE;
- }
- CSS
- 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">
- }
- HEADER = XHTML_PREAMBLE + <<ENDHEADER
- <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 language="JavaScript" type="text/javascript">
- // <![CDATA[
- function toggleSource( id )
- {
- var elem
- var link
- if( document.getElementById )
- {
- elem = document.getElementById( id )
- link = document.getElementById( "l_" + id )
- }
- else if ( document.all )
- {
- elem = eval( "document.all." + id )
- link = eval( "document.all.l_" + id )
- }
- else
- return false;
- if( elem.style.display == "block" )
- {
- elem.style.display = "none"
- link.innerHTML = "show source"
- }
- else
- {
- elem.style.display = "block"
- link.innerHTML = "hide source"
- }
- }
- function openCode( url )
- {
- window.open( url, "SOURCE_CODE", "width=400,height=400,scrollbars=yes" )
- }
- // ]]>
- </script>
- </head>
- <body>
- ENDHEADER
- FILE_PAGE = <<HTML
- <table border='0' cellpadding='0' cellspacing='0' width="100%" class='banner'>
- <tr><td>
- <table width="100%" border='0' cellpadding='0' cellspacing='0'><tr>
- <td class="file-title" colspan="2"><span class="file-title-prefix">File</span><br />%short_name%</td>
- <td align="right">
- <table border='0' cellspacing="0" cellpadding="2">
- <tr>
- <td>Path:</td>
- <td>%full_path%
- IF:cvsurl
- (<a href="%cvsurl%">CVS</a>)
- ENDIF:cvsurl
- </td>
- </tr>
- <tr>
- <td>Modified:</td>
- <td>%dtm_modified%</td>
- </tr>
- </table>
- </td></tr>
- </table>
- </td></tr>
- </table><br>
- HTML
- ###################################################################
- CLASS_PAGE = <<HTML
- <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
- <td class="file-title"><span class="file-title-prefix">%classmod%</span><br />%full_name%</td>
- <td align="right">
- <table cellspacing=0 cellpadding=2>
- <tr valign="top">
- <td>In:</td>
- <td>
- START:infiles
- HREF:full_path_url:full_path:
- IF:cvsurl
- (<a href="%cvsurl%">CVS</a>)
- ENDIF:cvsurl
- END:infiles
- </td>
- </tr>
- IF:parent
- <tr>
- <td>Parent:</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>
- </td>
- </tr>
- </table>
- HTML
- ###################################################################
- METHOD_LIST = <<HTML
- <div id="content">
- IF:diagram
- <table cellpadding='0' cellspacing='0' border='0' width="100%"><tr><td align="center">
- %diagram%
- </td></tr></table>
- ENDIF:diagram
- IF:description
- <div class="description">%description%</div>
- ENDIF:description
- IF:requires
- <div class="sectiontitle">Required Files</div>
- <ul>
- START:requires
- <li>HREF:aref:name:</li>
- END:requires
- </ul>
- ENDIF:requires
- IF:toc
- <div class="sectiontitle">Contents</div>
- <ul>
- START:toc
- <li><a href="#%href%">%secname%</a></li>
- END:toc
- </ul>
- ENDIF:toc
- IF:methods
- <div class="sectiontitle">Methods</div>
- <ul>
- START:methods
- <li>HREF:aref:name:</li>
- END:methods
- </ul>
- ENDIF:methods
- IF:includes
- <div class="sectiontitle">Included Modules</div>
- <ul>
- START:includes
- <li>HREF:aref:name:</li>
- END:includes
- </ul>
- ENDIF:includes
- START:sections
- IF:sectitle
- <div class="sectiontitle"><a nem="%secsequence%">%sectitle%</a></div>
- IF:seccomment
- <div class="description">
- %seccomment%
- </div>
- ENDIF:seccomment
- ENDIF:sectitle
- IF:classlist
- <div class="sectiontitle">Classes and Modules</div>
- %classlist%
- ENDIF:classlist
- IF:constants
- <div class="sectiontitle">Constants</div>
- <table border='0' cellpadding='5'>
- START:constants
- <tr valign='top'>
- <td class="attr-name">%name%</td>
- <td>=</td>
- <td class="attr-value">%value%</td>
- </tr>
- IF:desc
- <tr valign='top'>
- <td> </td>
- <td colspan="2" class="attr-desc">%desc%</td>
- </tr>
- ENDIF:desc
- END:constants
- </table>
- ENDIF:constants
- IF:attributes
- <div class="sectiontitle">Attributes</div>
- <table border='0' cellpadding='5'>
- START:attributes
- <tr valign='top'>
- <td class='attr-rw'>
- IF:rw
- [%rw%]
- ENDIF:rw
- </td>
- <td class='attr-name'>%name%</td>
- <td class='attr-desc'>%a_desc%</td>
- </tr>
- END:attributes
- </table>
- ENDIF:attributes
- IF:method_list
- START:method_list
- IF:methods
- <div class="sectiontitle">%type% %category% methods</div>
- START:methods
- <div class="method">
- <div class="title">
- IF:callseq
- <a name="%aref%"></a><b>%callseq%</b>
- ENDIF:callseq
- IFNOT:callseq
- <a name="%aref%"></a><b>%name%</b>%params%
- ENDIF:callseq
- IF:codeurl
- [ <a href="javascript:openCode('%codeurl%')">source</a> ]
- ENDIF:codeurl
- </div>
- 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
- <div class="sourcecode">
- <p class="source-link">[ <a href="javascript:toggleSource('%aref%_source')" id="l_%aref%_source">show source</a> ]</p>
- <div id="%aref%_source" class="dyn-source">
- <pre>
- %sourcecode%
- </pre>
- </div>
- </div>
- ENDIF:sourcecode
- </div>
- END:methods
- ENDIF:methods
- END:method_list
- ENDIF:method_list
- END:sections
- </div>
- HTML
- FOOTER = <<ENDFOOTER
- </body>
- </html>
- ENDFOOTER
- BODY = HEADER + <<ENDBODY
- !INCLUDE! <!-- banner header -->
- <div id="bodyContent">
- #{METHOD_LIST}
- </div>
- #{FOOTER}
- ENDBODY
- ########################## Source code ##########################
- SRC_PAGE = XHTML_PREAMBLE + <<HTML
- <html>
- <head><title>%title%</title>
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%">
- <style>
- .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>
- HTML
- ########################## Index ################################
- FR_INDEX_BODY = <<HTML
- !INCLUDE!
- HTML
- FILE_INDEX = XHTML_PREAMBLE + <<HTML
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%">
- <style>
- <!--
- body {
- background-color: #EEE;
- font-family: #{FONTS};
- color: #000;
- margin: 0px;
- }
- .banner {
- background: #005;
- color: #FFF;
- padding: 0.2em;
- font-size: small;
- font-weight: bold;
- text-align: center;
- }
- .entries {
- margin: 0.25em 1em 0 1em;
- font-size: x-small;
- }
- a {
- color: #00F;
- text-decoration: none;
- white-space: nowrap;
- }
- a:hover {
- color: #77F;
- text-decoration: underline;
- }
- -->
- </style>
- <base target="docwin">
- </head>
- <body>
- <div class="banner">%list_title%</div>
- <div class="entries">
- START:entries
- <a href="%href%">%name%</a><br>
- END:entries
- </div>
- </body></html>
- HTML
- CLASS_INDEX = FILE_INDEX
- METHOD_INDEX = FILE_INDEX
- INDEX = XHTML_PREAMBLE + <<HTML
- <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 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>
- HTML
- end
- end
|