Change soft-fail to use the config, rather than env
[rbx.git] / lib / rdoc / generator / html / hefss.rb
blobe186a403843949726ff81061b1210b26ec7f1b23
1 require 'rdoc/generator/html'
2 require 'rdoc/generator/html/html'
4 module RDoc::Generator::HTML::HEFSS
6   FONTS = "Verdana, Arial, Helvetica, sans-serif"
8 STYLE = <<-EOF
9 body,p { font-family: Verdana, Arial, Helvetica, sans-serif;
10        color: #000040; background: #BBBBBB;
13 td { font-family: Verdana, Arial, Helvetica, sans-serif;
14        color: #000040;
17 .attr-rw { font-size: small; color: #444488 }
19 .title-row {color:      #eeeeff;
20             background: #BBBBDD;
23 .big-title-font { color: white;
24                   font-family: Verdana, Arial, Helvetica, sans-serif;
25                   font-size: large;
26                   height: 50px}
28 .small-title-font { color: purple;
29                     font-family: Verdana, Arial, Helvetica, sans-serif;
30                     font-size: small; }
32 .aqua { color: purple }
34 .method-name, attr-name {
35       font-family: monospace; font-weight: bold;
38 .tablesubtitle {
39    width: 100%;
40    margin-top: 1ex;
41    margin-bottom: .5ex;
42    padding: 5px 0px 5px 20px;
43    font-size: large;
44    color: purple;
45    background: #BBBBCC;
48 .tablesubsubtitle {
49    width: 100%;
50    margin-top: 1ex;
51    margin-bottom: .5ex;
52    padding: 5px 0px 5px 20px;
53    font-size: medium;
54    color: white;
55    background: #BBBBCC;
58 .name-list {
59   font-family: monospace;
60   margin-left: 40px;
61   margin-bottom: 2ex;
62   line-height: 140%;
65 .description {
66   margin-left: 40px;
67   margin-bottom: 2ex;
68   line-height: 140%;
71 .methodtitle {
72   font-size: medium;
73   text_decoration: none;
74   padding: 3px 3px 3px 20px;
75   color: #0000AA;
78 .column-title {
79   font-size: medium;
80   font-weight: bold;
81   text_decoration: none;
82   padding: 3px 3px 3px 20px;
83   color: #3333CC;
84   }
86 .variable-name {
87   font-family: monospace;
88   font-size: medium;
89   text_decoration: none;
90   padding: 3px 3px 3px 20px;
91   color: #0000AA;
94 .row-name {
95   font-size: medium;
96   font-weight: medium;
97   font-family: monospace;
98   text_decoration: none;
99   padding: 3px 3px 3px 20px;
102 .paramsig {
103    font-size: small;
106 .srcbut { float: right }
108   EOF
110   BODY = <<-EOF
111 <html><head>
112   <title><%= values["title"] %></title>
113   <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>">
114   <link rel="stylesheet" href="<%= values["style_url"] %>" type="text/css" media="screen" />
115   <script type="text/javascript" language="JavaScript">
116   <!--
117   function popCode(url) {
118     parent.frames.source.location = url
119   }
120   //-->
121   </script>
122 </head>
123 <body bgcolor="#BBBBBB">
125 <%= template_include %>  <!-- banner header -->
127 <% if values["diagram"] then %>
128 <table width="100%"><tr><td align="center">
129 <%= values["diagram"] %>
130 </td></tr></table>
131 <% end %>
133 <% if values["description"] then %>
134 <div class="description"><%= values["description"] %></div>
135 <% end %>
137 <% if values["requires"] then %>
138 <table cellpadding="5" width="100%">
139 <tr><td class="tablesubtitle">Required files</td></tr>
140 </table><br />
141 <div class="name-list">
142 <% values["requires"].each do |requires| %>
143 <%= href requires["aref"], requires["name"] %>
144 <% end %><%# values["requires"] %>
145 <% end %>
146 </div>
148 <% if values["sections"] then %>
149 <% values["sections"].each do |sections| %>
150 <% if sections["method_list"] then %>
151 <% sections["method_list"].each do |method_list| %>
152 <% if method_list["methods"] then %>
153 <table cellpadding="5" width="100%">
154 <tr><td class="tablesubtitle">Subroutines and Functions</td></tr>
155 </table><br />
156 <div class="name-list">
157 <% method_list["methods"].each do |methods| %>
158 <a href="<%= methods["codeurl"] %>" target="source"><%= methods["name"] %></a>
159 <% end %><%# values["methods"] %>
160 </div>
161 <% end %>
162 <% end %><%# values["method_list"] %>
163 <% end %>
165 <% if sections["attributes"] then %>
166 <table cellpadding="5" width="100%">
167 <tr><td class="tablesubtitle">Arguments</td></tr>
168 </table><br />
169 <table cellspacing="5">
170 <% sections["attributes"].each do |attributes| %>
171      <tr valign="top">
172 <% if attributes["rw"] then %>
173        <td align="center" class="attr-rw">&nbsp;[<%= attributes["rw"] %>]&nbsp;</td>
174 <% end %>
175 <% unless attributes["rw"] then %>
176        <td></td>
177 <% end %>
178        <td class="attr-name"><%= attributes["name"] %></td>
179        <td><%= attributes["a_desc"] %></td>
180      </tr>
181 <% end %><%# values["attributes"] %>
182 </table>
183 <% end %>
184 <% end %><%# values["sections"] %>
185 <% end %>
187 <% if values["classlist"] then %>
188 <table cellpadding="5" width="100%">
189 <tr><td class="tablesubtitle">Modules</td></tr>
190 </table><br />
191 <%= values["classlist"] %><br />
192 <% end %>
194   <%= template_include %>  <!-- method descriptions -->
196 </body>
197 </html>
198   EOF
200   FILE_PAGE = <<-EOF
201 <table width="100%">
202  <tr class="title-row">
203  <td><table width="100%"><tr>
204    <td class="big-title-font" colspan="2"><font size="-3"><b>File</b><br /></font><%= values["short_name"] %></td>
205    <td align="right"><table cellspacing="0" cellpadding="2">
206          <tr>
207            <td  class="small-title-font">Path:</td>
208            <td class="small-title-font"><%= values["full_path"] %>
209 <% if values["cvsurl"] then %>
210                                 &nbsp;(<a href="<%= values["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
211 <% end %>
212            </td>
213          </tr>
214          <tr>
215            <td class="small-title-font">Modified:</td>
216            <td class="small-title-font"><%= values["dtm_modified"] %></td>
217          </tr>
218         </table>
219     </td></tr></table></td>
220   </tr>
221 </table><br />
222   EOF
224   CLASS_PAGE = <<-EOF
225 <table width="100%" border="0" cellspacing="0">
226  <tr class="title-row">
227  <td class="big-title-font">
228    <font size="-3"><b><%= values["classmod"] %></b><br /></font><%= values["full_name"] %>
229  </td>
230  <td align="right">
231    <table cellspacing="0" cellpadding="2">
232      <tr valign="top">
233       <td class="small-title-font">In:</td>
234       <td class="small-title-font">
235 <% values["infiles"].each do |infiles| %>
236 <%= href infiles["full_path_url"], infiles["full_path"] %>
237 <% if infiles["cvsurl"] then %>
238 &nbsp;(<a href="<%= infiles["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
239 <% end %>
240 <% end %><%# values["infiles"] %>
241       </td>
242      </tr>
243 <% if values["parent"] then %>
244      <tr>
245       <td class="small-title-font">Parent:</td>
246       <td class="small-title-font">
247 <% if values["par_url"] then %>
248         <a href="<%= values["par_url"] %>" class="cyan">
249 <% end %>
250 <%= values["parent"] %>
251 <% if values["par_url"] then %>
252          </a>
253 <% end %>
254       </td>
255      </tr>
256 <% end %>
257    </table>
258   </td>
259   </tr>
260 </table><br />
261   EOF
263   METHOD_LIST = <<-EOF
264 <% if values["includes"] then %>
265 <div class="tablesubsubtitle">Uses</div><br />
266 <div class="name-list">
267 <% values["includes"].each do |includes| %>
268     <span class="method-name"><%= href includes["aref"], includes["name"] %></span>
269 <% end %><%# values["includes"] %>
270 </div>
271 <% end %>
273 <% if values["sections"] then %>
274 <% values["sections"].each do |sections| %>
275 <% if sections["method_list"] then %>
276 <% sections["method_list"].each do |method_list| %>
277 <% if method_list["methods"] then %>
278 <table cellpadding="5" width="100%">
279 <tr><td class="tablesubtitle"><%= method_list["type"] %> <%= method_list["category"] %> methods</td></tr>
280 </table>
281 <% method_list["methods"].each do |methods| %>
282 <table width="100%" cellspacing="0" cellpadding="5" border="0">
283 <tr><td class="methodtitle">
284 <a name="<%= methods["aref"] %>">
285 <b><%= methods["name"] %></b><%= methods["params"] %>
286 <% if methods["codeurl"] then %>
287 <a href="<%= methods["codeurl"] %>" target="source" class="srclink">src</a>
288 <% end %>
289 </a></td></tr>
290 </table>
291 <% if method_list["m_desc"] then %>
292 <div class="description">
293 <%= method_list["m_desc"] %>
294 </div>
295 <% end %>
296 <% end %><%# method_list["methods"] %>
297 <% end %>
298 <% end %><%# sections["method_list"] %>
299 <% end %>
300 <% end %><%# values["sections"] %>
301 <% end %>
302   EOF
304   SRC_PAGE = <<-EOF
305 <html>
306 <head><title><%= values["title"] %></title>
307 <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>">
308 <style type="text/css">
309   .kw { color: #3333FF; font-weight: bold }
310   .cmt { color: green; font-style: italic }
311   .str { color: #662222; font-style: italic }
312   .re  { color: #662222; }
313 .ruby-comment    { color: green; font-style: italic }
314 .ruby-constant   { color: #4433aa; font-weight: bold; }
315 .ruby-identifier { color: #222222;  }
316 .ruby-ivar       { color: #2233dd; }
317 .ruby-keyword    { color: #3333FF; font-weight: bold }
318 .ruby-node       { color: #777777; }
319 .ruby-operator   { color: #111111;  }
320 .ruby-regexp     { color: #662222; }
321 .ruby-value      { color: #662222; font-style: italic }
322 </style>
323 </head>
324 <body bgcolor="#BBBBBB">
325 <pre><%= values["code"] %></pre>
326 </body>
327 </html>
328   EOF
330   FR_INDEX_BODY = %{
331 <%= template_include %>
334   FILE_INDEX = <<-EOF
335 <html>
336 <head>
337 <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>">
338 <style type="text/css">
339 <!--
340   body {
341 background-color: #bbbbbb;
342      font-family: #{FONTS};
343        font-size: 11px;
344       font-style: normal;
345      line-height: 14px;
346            color: #000040;
347   }
348 div.banner {
349   background: #bbbbcc;
350   color:      white;
351   padding: 1;
352   margin: 0;
353   font-size: 90%;
354   font-weight: bold;
355   line-height: 1.1;
356   text-align: center;
357   width: 100%;
361 </style>
362 <base target="docwin">
363 </head>
364 <body>
365 <div class="banner"><%= values["list_title"] %></div>
366 <% values["entries"].each do |entries| %>
367 <a href="<%= entries["href"] %>"><%= entries["name"] %></a><br />
368 <% end %><%# values["entries"] %>
369 </body></html>
370   EOF
372   CLASS_INDEX = FILE_INDEX
373   METHOD_INDEX = FILE_INDEX
375   INDEX = <<-EOF
376 <html>
377 <head>
378   <title><%= values["title"] %></title>
379   <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>">
380 </head>
382 <frameset cols="20%,*">
383     <frameset rows="15%,35%,50%">
384         <frame src="fr_file_index.html"   title="Files" name="Files">
385         <frame src="fr_class_index.html"  name="Modules">
386         <frame src="fr_method_index.html" name="Subroutines and Functions">
387     </frameset>
388     <frameset rows="80%,20%">
389       <frame  src="<%= values["initial_page"] %>" name="docwin">
390       <frame  src="blank.html" name="source">
391     </frameset>
392     <noframes>
393           <body bgcolor="#BBBBBB">
394             Click <a href="html/index.html">here</a> for a non-frames
395             version of this page.
396           </body>
397     </noframes>
398 </frameset>
400 </html>
401   EOF
403   # Blank page to use as a target
404   BLANK = %{
405 <html><body bgcolor="#BBBBBB"></body></html>
408   def write_extra_pages
409     template = TemplatePage.new(BLANK)
410     File.open("blank.html", "w") { |f| template.write_html_on(f, {}) }
411   end