Re-enable spec/library for full CI runs.
[rbx.git] / lib / rdoc / generator / html / kilmer.rb
blob6479abaf8b9e610434b8b584f4036359cbb9ebc4
1 require 'rdoc/generator/html'
3 module RDoc::Generator::HTML::KILMER
5   FONTS = "Verdana, Arial, Helvetica, sans-serif"
7   STYLE = <<-EOF
8 body,td,p { font-family: <%= values["fonts"] %>;
9        color: #000040;
12 .attr-rw { font-size: xx-small; color: #444488 }
14 .title-row { background-color: #CCCCFF;
15              color:      #000010;
18 .big-title-font {
19   color: black;
20   font-weight: bold;
21   font-family: <%= values["fonts"] %>;
22   font-size: large;
23   height: 60px;
24   padding: 10px 3px 10px 3px;
27 .small-title-font { color: black;
28                     font-family: <%= values["fonts"] %>;
29                     font-size:10; }
31 .aqua { color: black }
33 .method-name, .attr-name {
34       font-family: font-family: <%= values["fonts"] %>;
35       font-weight: bold;
36       font-size: small;
37       margin-left: 20px;
38       color: #000033;
41 .tablesubtitle, .tablesubsubtitle {
42    width: 100%;
43    margin-top: 1ex;
44    margin-bottom: .5ex;
45    padding: 5px 0px 5px 3px;
46    font-size: large;
47    color: black;
48    background-color: #CCCCFF;
49    border: thin;
52 .name-list {
53   margin-left: 5px;
54   margin-bottom: 2ex;
55   line-height: 105%;
58 .description {
59   margin-left: 5px;
60   margin-bottom: 2ex;
61   line-height: 105%;
62   font-size: small;
65 .methodtitle {
66   font-size: small;
67   font-weight: bold;
68   text-decoration: none;
69   color: #000033;
70   background-color: white;
73 .srclink {
74   font-size: small;
75   font-weight: bold;
76   text-decoration: none;
77   color: #0000DD;
78   background-color: white;
81 .paramsig {
82    font-size: small;
85 .srcbut { float: right }
86   EOF
88   BODY = <<-EOF
89 <html><head>
90   <title><%= values["title"] %></title>
91   <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>">
92   <link rel="stylesheet" href="<%= values["style_url"] %>" type="text/css" media="screen" />
93   <script type="text/javascript" language="JavaScript">
94   <!--
95   function popCode(url) {
96     parent.frames.source.location = url
97   }
98   //-->
99   </script>
100 </head>
101 <body bgcolor="white">
103 <%= template_include %>  <!-- banner header -->
105 <% if values["diagram"] then %>
106 <table width="100%"><tr><td align="center">
107 <%= values["diagram"] %>
108 </td></tr></table>
109 <% end %>
111 <% if values["description"] then %>
112 <div class="description"><%= values["description"] %></div>
113 <% end %>
115 <% if values["requires"] then %>
116 <table cellpadding="5" width="100%">
117 <tr><td class="tablesubtitle">Required files</td></tr>
118 </table><br />
119 <div class="name-list">
120 <% values["requires"].each do |requires| %>
121 <%= href requires["aref"], requires["name"] %>
122 <% end %><%# values["requires"] %>
123 <% end %>
124 </div>
126 <% if values["methods"] then %>
127 <table cellpadding="5" width="100%">
128 <tr><td class="tablesubtitle">Methods</td></tr>
129 </table><br />
130 <div class="name-list">
131 <% values["methods"].each do |methods| %>
132 <%= href methods["aref"], methods["name"] %>,
133 <% end %><%# values["methods"] %>
134 </div>
135 <% end %>
138 <% values["sections"].each do |sections| %>
139     <div id="section">
140 <% if sections["sectitle"] then %>
141       <h2 class="section-title"><a name="<%= sections["secsequence"] %>"><%= sections["sectitle"] %></a></h2>
142 <% if sections["seccomment"] then %>
143       <div class="section-comment">
144         <%= sections["seccomment"] %>
145       </div>
146 <% end %>
147 <% end %>
149 <% if sections["attributes"] then %>
150 <table cellpadding="5" width="100%">
151 <tr><td class="tablesubtitle">Attributes</td></tr>
152 </table><br />
153 <table cellspacing="5">
154 <% sections["attributes"].each do |attributes| %>
155      <tr valign="top">
156 <% if attributes["rw"] then %>
157        <td align="center" class="attr-rw">&nbsp;[<%= attributes["rw"] %>]&nbsp;</td>
158 <% end %>
159 <% unless attributes["rw"] then %>
160        <td></td>
161 <% end %>
162        <td class="attr-name"><%= attributes["name"] %></td>
163        <td><%= attributes["a_desc"] %></td>
164      </tr>
165 <% end %><%# sections["attributes"] %>
166 </table>
167 <% end %>
169 <% if sections["classlist"] then %>
170 <table cellpadding="5" width="100%">
171 <tr><td class="tablesubtitle">Classes and Modules</td></tr>
172 </table><br />
173 <%= sections["classlist"] %><br />
174 <% end %>
176   <%= template_include %>  <!-- method descriptions -->
178 <% end %><%# values["sections"] %>
180 </body>
181 </html>
182   EOF
184   FILE_PAGE = <<-EOF
185 <table width="100%">
186  <tr class="title-row">
187  <td><table width="100%"><tr>
188    <td class="big-title-font" colspan="2"><font size="-3"><b>File</b><br /></font><%= values["short_name"] %></td>
189    <td align="right"><table cellspacing="0" cellpadding="2">
190          <tr>
191            <td  class="small-title-font">Path:</td>
192            <td class="small-title-font"><%= values["full_path"] %>
193 <% if values["cvsurl"] then %>
194                                 &nbsp;(<a href="<%= values["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
195 <% end %>
196            </td>
197          </tr>
198          <tr>
199            <td class="small-title-font">Modified:</td>
200            <td class="small-title-font"><%= values["dtm_modified"] %></td>
201          </tr>
202         </table>
203     </td></tr></table></td>
204   </tr>
205 </table><br />
206   EOF
208   CLASS_PAGE = <<-EOF
209 <table width="100%" border="0" cellspacing="0">
210  <tr class="title-row">
211  <td class="big-title-font">
212    <font size="-3"><b><%= values["classmod"] %></b><br /></font><%= values["full_name"] %>
213  </td>
214  <td align="right">
215    <table cellspacing="0" cellpadding="2">
216      <tr valign="top">
217       <td class="small-title-font">In:</td>
218       <td class="small-title-font">
219 <% values["infiles"].each do |infiles| %>
220 <%= href infiles["full_path_url"], infiles["full_path"] %>
221 <% if infiles["cvsurl"] then %>
222 &nbsp;(<a href="<%= infiles["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
223 <% end %>
224 <% end %><%# values["infiles"] %>
225       </td>
226      </tr>
227 <% if values["parent"] then %>
228      <tr>
229       <td class="small-title-font">Parent:</td>
230       <td class="small-title-font">
231 <% if values["par_url"] then %>
232         <a href="<%= values["par_url"] %>" class="cyan">
233 <% end %>
234 <%= values["parent"] %>
235 <% if values["par_url"] then %>
236          </a>
237 <% end %>
238       </td>
239      </tr>
240 <% end %>
241    </table>
242   </td>
243   </tr>
244 </table><br />
245   EOF
247   METHOD_LIST = <<-EOF
248 <% if values["includes"] then %>
249 <div class="tablesubsubtitle">Included modules</div><br />
250 <div class="name-list">
251 <% values["includes"].each do |includes| %>
252     <span class="method-name"><%= href includes["aref"], includes["name"] %></span>
253 <% end %><%# values["includes"] %>
254 </div>
255 <% end %>
257 <% if values["method_list"] then %>
258 <% values["method_list"].each do |method_list| $stderr.puts({ :method_list => method_list }.inspect) %>
259 <% if values["methods"] then %>
260 <table cellpadding=5 width="100%">
261 <tr><td class="tablesubtitle"><%= values["type"] %> <%= values["category"] %> methods</td></tr>
262 </table>
263 <% values["methods"].each do |methods| $stderr.puts({ :methods => methods }.inspect) %>
264 <table width="100%" cellspacing="0" cellpadding="5" border="0">
265 <tr><td class="methodtitle">
266 <a name="<%= values["aref"] %>">
267 <% if values["callseq"] then %>
268 <b><%= values["callseq"] %></b>
269 <% end %>
270 <% unless values["callseq"] then %>
271  <b><%= values["name"] %></b><%= values["params"] %>
272 <% end %>
273 <% if values["codeurl"] then %>
274 <a href="<%= values["codeurl"] %>" target="source" class="srclink">src</a>
275 <% end %>
276 </a></td></tr>
277 </table>
278 <% if values["m_desc"] then %>
279 <div class="description">
280 <%= values["m_desc"] %>
281 </div>
282 <% end %>
283 <% if values["aka"] then %>
284 <div class="aka">
285 This method is also aliased as
286 <% values["aka"].each do |aka| $stderr.puts({ :aka => aka }.inspect) %>
287 <a href="<%= values["aref"] %>"><%= values["name"] %></a>
288 <% end %><%# values["aka"] %>
289 </div>
290 <% end %>
291 <% if values["sourcecode"] then %>
292 <pre class="source">
293 <%= values["sourcecode"] %>
294 </pre>
295 <% end %>
296 <% end %><%# values["methods"] %>
297 <% end %>
298 <% end %><%# values["method_list"] %>
299 <% end %>
300   EOF
302   SRC_PAGE = <<-EOF
303 <html>
304 <head><title><%= values["title"] %></title>
305 <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>">
306 <style type="text/css">
307 .ruby-comment    { color: green; font-style: italic }
308 .ruby-constant   { color: #4433aa; font-weight: bold; }
309 .ruby-identifier { color: #222222;  }
310 .ruby-ivar       { color: #2233dd; }
311 .ruby-keyword    { color: #3333FF; font-weight: bold }
312 .ruby-node       { color: #777777; }
313 .ruby-operator   { color: #111111;  }
314 .ruby-regexp     { color: #662222; }
315 .ruby-value      { color: #662222; font-style: italic }
316   .kw { color: #3333FF; font-weight: bold }
317   .cmt { color: green; font-style: italic }
318   .str { color: #662222; font-style: italic }
319   .re  { color: #662222; }
320 </style>
321 </head>
322 <body bgcolor="white">
323 <pre><%= values["code"] %></pre>
324 </body>
325 </html>
326   EOF
328   FR_INDEX_BODY = %{
329 <%= template_include %>
332   FILE_INDEX = <<-EOF
333 <html>
334 <head>
335 <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>">
336 <style>
337 <!--
338 body {
339   background-color: #ddddff;
340   font-family: #{FONTS};
341   font-size: 11px;
342   font-style: normal;
343   line-height: 14px;
344   color: #000040;
347 div.banner {
348   background: #0000aa;
349   color: white;
350   padding: 1;
351   margin: 0;
352   font-size: 90%;
353   font-weight: bold;
354   line-height: 1.1;
355   text-align: center;
356   width: 100%;
360 </style>
361 <base target="docwin">
362 </head>
363 <body>
364 <div class="banner"><%= values["list_title"] %></div>
365 <% values["entries"].each do |entries| %>
366 <a href="<%= entries["href"] %>"><%= entries["name"] %></a><br />
367 <% end %><%# values["entries"] %>
368 </body></html>
369   EOF
371   CLASS_INDEX = FILE_INDEX
372   METHOD_INDEX = FILE_INDEX
374   INDEX = <<-EOF
375 <html>
376 <head>
377   <title><%= values["title"] %></title>
378   <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>">
379 </head>
381 <frameset cols="20%,*">
382     <frameset rows="15%,35%,50%">
383         <frame src="fr_file_index.html"   title="Files" name="Files">
384         <frame src="fr_class_index.html"  name="Classes">
385         <frame src="fr_method_index.html" name="Methods">
386     </frameset>
387 <% if values["inline_source"] then %>
388       <frame  src="<%= values["initial_page"] %>" name="docwin">
389 <% end %>
390 <% unless values["inline_source"] then %>
391     <frameset rows="80%,20%">
392       <frame  src="<%= values["initial_page"] %>" name="docwin">
393       <frame  src="blank.html" name="source">
394     </frameset>
395 <% end %>
396     <noframes>
397           <body bgcolor="white">
398             Click <a href="html/index.html">here</a> for a non-frames
399             version of this page.
400           </body>
401     </noframes>
402 </frameset>
404 </html>
405   EOF
407   # A blank page to use as a target
408   BLANK = %{
409 <html><body bgcolor="white"></body></html>
412   def write_extra_pages
413     template = TemplatePage.new(BLANK)
414     File.open("blank.html", "w") { |f| template.write_html_on(f, {}) }
415   end