rdoc-f95 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. data/History.txt +4 -0
  2. data/Manifest.txt +79 -0
  3. data/PostInstall.txt +7 -0
  4. data/README.rdoc +147 -0
  5. data/Rakefile +28 -0
  6. data/bin/rdoc-f95 +70 -0
  7. data/lib/rdoc-f95.rb +306 -0
  8. data/lib/rdoc-f95/code_objects.rb +776 -0
  9. data/lib/rdoc-f95/diagram.rb +342 -0
  10. data/lib/rdoc-f95/dot.rb +249 -0
  11. data/lib/rdoc-f95/generator.rb +1088 -0
  12. data/lib/rdoc-f95/generator/chm.rb +113 -0
  13. data/lib/rdoc-f95/generator/chm/chm.rb +98 -0
  14. data/lib/rdoc-f95/generator/html.rb +370 -0
  15. data/lib/rdoc-f95/generator/html/hefss.rb +414 -0
  16. data/lib/rdoc-f95/generator/html/html.rb +708 -0
  17. data/lib/rdoc-f95/generator/html/kilmer.rb +418 -0
  18. data/lib/rdoc-f95/generator/html/one_page_html.rb +121 -0
  19. data/lib/rdoc-f95/generator/ri.rb +229 -0
  20. data/lib/rdoc-f95/generator/xhtml.rb +106 -0
  21. data/lib/rdoc-f95/generator/xhtml/ctop.xsl +1318 -0
  22. data/lib/rdoc-f95/generator/xhtml/mathml.xsl +42 -0
  23. data/lib/rdoc-f95/generator/xhtml/pmathml.xsl +612 -0
  24. data/lib/rdoc-f95/generator/xhtml/pmathmlcss.xsl +872 -0
  25. data/lib/rdoc-f95/generator/xhtml/xhtml.rb +732 -0
  26. data/lib/rdoc-f95/generator/xml.rb +120 -0
  27. data/lib/rdoc-f95/generator/xml/rdf.rb +113 -0
  28. data/lib/rdoc-f95/generator/xml/xml.rb +111 -0
  29. data/lib/rdoc-f95/install.rb +166 -0
  30. data/lib/rdoc-f95/markup.rb +506 -0
  31. data/lib/rdoc-f95/markup/formatter.rb +14 -0
  32. data/lib/rdoc-f95/markup/fragments.rb +337 -0
  33. data/lib/rdoc-f95/markup/inline.rb +361 -0
  34. data/lib/rdoc-f95/markup/install.rb +57 -0
  35. data/lib/rdoc-f95/markup/lines.rb +152 -0
  36. data/lib/rdoc-f95/markup/mathml_wrapper.rb +91 -0
  37. data/lib/rdoc-f95/markup/preprocess.rb +71 -0
  38. data/lib/rdoc-f95/markup/sample/rdoc2latex.rb +16 -0
  39. data/lib/rdoc-f95/markup/sample/sample.rb +42 -0
  40. data/lib/rdoc-f95/markup/to_flow.rb +185 -0
  41. data/lib/rdoc-f95/markup/to_html.rb +357 -0
  42. data/lib/rdoc-f95/markup/to_html_crossref.rb +123 -0
  43. data/lib/rdoc-f95/markup/to_latex.rb +328 -0
  44. data/lib/rdoc-f95/markup/to_test.rb +50 -0
  45. data/lib/rdoc-f95/markup/to_xhtml_texparser.rb +234 -0
  46. data/lib/rdoc-f95/options.rb +745 -0
  47. data/lib/rdoc-f95/parsers/parse_c.rb +775 -0
  48. data/lib/rdoc-f95/parsers/parse_f95.rb +2499 -0
  49. data/lib/rdoc-f95/parsers/parse_rb.rb +2587 -0
  50. data/lib/rdoc-f95/parsers/parse_simple.rb +39 -0
  51. data/lib/rdoc-f95/parsers/parserfactory.rb +99 -0
  52. data/lib/rdoc-f95/ri.rb +2 -0
  53. data/lib/rdoc-f95/ri/cache.rb +188 -0
  54. data/lib/rdoc-f95/ri/descriptions.rb +147 -0
  55. data/lib/rdoc-f95/ri/display.rb +244 -0
  56. data/lib/rdoc-f95/ri/driver.rb +435 -0
  57. data/lib/rdoc-f95/ri/formatter.rb +603 -0
  58. data/lib/rdoc-f95/ri/paths.rb +105 -0
  59. data/lib/rdoc-f95/ri/reader.rb +106 -0
  60. data/lib/rdoc-f95/ri/util.rb +81 -0
  61. data/lib/rdoc-f95/ri/writer.rb +64 -0
  62. data/lib/rdoc-f95/stats.rb +23 -0
  63. data/lib/rdoc-f95/template.rb +64 -0
  64. data/lib/rdoc-f95/tokenstream.rb +33 -0
  65. data/lib/rdoc-f95/usage.rb +210 -0
  66. data/script/console +10 -0
  67. data/script/destroy +14 -0
  68. data/script/generate +14 -0
  69. data/test/test_helper.rb +3 -0
  70. data/test/test_rdoc-f95.rb +11 -0
  71. metadata +156 -0
@@ -0,0 +1,732 @@
1
+ require 'rdoc-f95/generator/xhtml'
2
+ require 'rdoc-f95/generator/html/one_page_html'
3
+
4
+ ##
5
+ # = CSS2 RDoc XHTML template (for MathML)
6
+ #
7
+ # This is a template for RDoc that uses XHTML 1.0 Transitional and dictates a
8
+ # bit more of the appearance of the output to cascading stylesheets than the
9
+ # default. It was designed for clean inline code display, and uses DHTMl to
10
+ # toggle the visbility of each method's source with each click on the '[source]'
11
+ # link.
12
+ #
13
+ # This is a copy of html.rb. Then some headers that needed to
14
+ # represent MathML are added.
15
+ #
16
+ # == Authors
17
+ #
18
+ # * Yasuhiro MORIKAWA <morikawa@gfd-dennou.org>
19
+ #
20
+ # Copyright (c) 2008 GFD Dennou Club some rights reserved.
21
+
22
+ module RDocF95::Generator::XHTML::XHTML
23
+
24
+ FONTS = "Verdana,Arial,Helvetica,sans-serif"
25
+
26
+ STYLE = <<-EOF
27
+ body {
28
+ font-family: Verdana,Arial,Helvetica,sans-serif;
29
+ font-size: 90%;
30
+ margin: 0;
31
+ margin-left: 40px;
32
+ padding: 0;
33
+ background: white;
34
+ }
35
+
36
+ h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
37
+ /* h1 { font-size: 150%; } */
38
+ h2,h3,h4 { margin-top: 1em; }
39
+
40
+ a { background: #eef; color: #039; text-decoration: none; }
41
+ a:hover { background: #039; color: #eef; }
42
+
43
+ /* Override the base stylesheet's Anchor inside a table cell */
44
+ td > a {
45
+ background: transparent;
46
+ color: #039;
47
+ text-decoration: none;
48
+ }
49
+
50
+ /* and inside a section title */
51
+ .section-title > a {
52
+ background: transparent;
53
+ color: #eee;
54
+ text-decoration: none;
55
+ }
56
+
57
+ /* === Structural elements =================================== */
58
+
59
+ div#index {
60
+ margin: 0;
61
+ margin-left: -40px;
62
+ padding: 0;
63
+ font-size: 90%;
64
+ }
65
+
66
+
67
+ div#index a {
68
+ margin-left: 0.7em;
69
+ }
70
+
71
+ div#index .section-bar {
72
+ margin-left: 0px;
73
+ padding-left: 0.7em;
74
+ background: #ccc;
75
+ font-size: small;
76
+ }
77
+
78
+
79
+ div#classHeader, div#fileHeader {
80
+ width: auto;
81
+ color: white;
82
+ padding: 0.5em 1.5em 0.5em 1.5em;
83
+ margin: 0;
84
+ margin-left: -40px;
85
+ border-bottom: 3px solid #006;
86
+ }
87
+
88
+ div#classHeader a, div#fileHeader a {
89
+ background: inherit;
90
+ color: white;
91
+ }
92
+
93
+ div#classHeader td, div#fileHeader td {
94
+ background: inherit;
95
+ color: white;
96
+ }
97
+
98
+
99
+ div#fileHeader {
100
+ background: #057;
101
+ }
102
+
103
+ div#classHeader {
104
+ background: #048;
105
+ }
106
+
107
+
108
+ .class-name-in-header {
109
+ font-size: 180%;
110
+ font-weight: bold;
111
+ }
112
+
113
+
114
+ div#bodyContent {
115
+ padding: 0 1.5em 0 1.5em;
116
+ }
117
+
118
+ div#description {
119
+ padding: 0.5em 1.5em;
120
+ background: #efefef;
121
+ border: 1px dotted #999;
122
+ }
123
+
124
+ div#description h1,h2,h3,h4,h5,h6 {
125
+ color: #125;;
126
+ background: transparent;
127
+ }
128
+
129
+ div#validator-badges {
130
+ text-align: center;
131
+ }
132
+ div#validator-badges img { border: 0; }
133
+
134
+ div#copyright {
135
+ color: #333;
136
+ background: #efefef;
137
+ font: 0.75em sans-serif;
138
+ margin-top: 5em;
139
+ margin-bottom: 0;
140
+ padding: 0.5em 2em;
141
+ }
142
+
143
+
144
+ /* === Classes =================================== */
145
+
146
+ table.header-table {
147
+ color: white;
148
+ font-size: small;
149
+ }
150
+
151
+ .type-note {
152
+ font-size: small;
153
+ color: #DEDEDE;
154
+ }
155
+
156
+ .xxsection-bar {
157
+ background: #eee;
158
+ color: #333;
159
+ padding: 3px;
160
+ }
161
+
162
+ .section-bar {
163
+ color: #333;
164
+ border-bottom: 1px solid #999;
165
+ margin-left: -20px;
166
+ }
167
+
168
+
169
+ .section-title {
170
+ background: #79a;
171
+ color: #eee;
172
+ padding: 3px;
173
+ margin-top: 2em;
174
+ margin-left: -30px;
175
+ border: 1px solid #999;
176
+ }
177
+
178
+ .top-aligned-row { vertical-align: top }
179
+ .bottom-aligned-row { vertical-align: bottom }
180
+
181
+ /* --- Context section classes ----------------------- */
182
+
183
+ .context-row { }
184
+ .context-item-name { font-family: monospace; font-weight: bold; color: black; }
185
+ .context-item-value { font-size: small; color: #448; }
186
+ .context-item-desc { color: #333; padding-left: 2em; }
187
+
188
+ /* --- Method classes -------------------------- */
189
+ .method-detail {
190
+ background: #efefef;
191
+ padding: 0;
192
+ margin-top: 0.5em;
193
+ margin-bottom: 1em;
194
+ border: 1px dotted #ccc;
195
+ }
196
+ .method-heading {
197
+ color: black;
198
+ background: #ccc;
199
+ border-bottom: 1px solid #666;
200
+ padding: 0.2em 0.5em 0 0.5em;
201
+ }
202
+ .method-signature { color: black; background: inherit; }
203
+ .method-name { font-weight: bold; }
204
+ .method-args { font-style: italic; }
205
+ .method-description { padding: 0 0.5em 0 0.5em; }
206
+
207
+ /* --- Source code sections -------------------- */
208
+
209
+ a.source-toggle { font-size: 90%; }
210
+ div.method-source-code {
211
+ background: #262626;
212
+ color: #ffdead;
213
+ margin: 1em;
214
+ padding: 0.5em;
215
+ border: 1px dashed #999;
216
+ overflow: scroll;
217
+ }
218
+
219
+ div.method-source-code pre {
220
+ color: #ffdead;
221
+ overflow: visible;
222
+ }
223
+
224
+
225
+ /* --- Ruby keyword styles --------------------- */
226
+
227
+ .standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
228
+
229
+ .ruby-constant { color: #7fffd4; background: transparent; }
230
+ .ruby-keyword { color: #00ffff; background: transparent; }
231
+ .ruby-ivar { color: #eedd82; background: transparent; }
232
+ .ruby-operator { color: #00ffee; background: transparent; }
233
+ .ruby-identifier { color: #ffdead; background: transparent; }
234
+ .ruby-node { color: #ffa07a; background: transparent; }
235
+ .ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
236
+ .ruby-regexp { color: #ffa07a; background: transparent; }
237
+ .ruby-value { color: #7fffd4; background: transparent; }
238
+
239
+ /* --- MathML styles --------------------- */
240
+
241
+ math {
242
+ font-size: 150%;
243
+ }
244
+ EOF
245
+
246
+
247
+ #####################################################################
248
+ ### H E A D E R T E M P L A T E
249
+ #####################################################################
250
+
251
+ #
252
+ #== Notation
253
+ #
254
+ # Following "<?xml-stylesheet ... ?>" line is a special setting for
255
+ # Internet Explorer.
256
+ # If you use Mozilla or Firefox, this line is needless.
257
+ # (Anyway, this line doesn't harm these browsers).
258
+ # Due to this line, if you use Safari (Mac OS X, standard browser),
259
+ # XHTML is not displayed correctly. (I think Safari can not handle
260
+ # xml-stylesheet correctly). If you use Safari, do not use --mathml
261
+ # option.
262
+ #
263
+ # Following URLs are references
264
+ #
265
+ # * http://www.kanzaki.com/docs/html/xhtml1.html#compatibility
266
+ # * http://past.openvista.jp/blog/documents/W3C/XHTML_FAQ/
267
+ #
268
+
269
+ XHTML_PREAMBLE = <<-EOF
270
+ <?xml version="1.0" encoding="<%= values["charset"] %>"?>
271
+ <?xml-stylesheet type="text/xsl" href="<%= values["mathml_xsl_url"] %>"?>
272
+ <!DOCTYPE html
273
+ PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
274
+ "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
275
+ EOF
276
+
277
+ HEADER = XHTML_PREAMBLE + <<-EOF
278
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
279
+ <head>
280
+ <title><%= values["title"] %></title>
281
+ <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>" />
282
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
283
+ <link rel="stylesheet" href="<%= values["style_url"] %>" type="text/css" media="screen" />
284
+ <style type="text/css">
285
+ <!-- Make codeblocks hidden by default -->
286
+ div.method-source-code { display: none }
287
+ </style>
288
+ <script type="text/javascript">
289
+ // <![CDATA[
290
+
291
+ function popupCode( url ) {
292
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
293
+ }
294
+
295
+ function toggleCode( id ) {
296
+ if ( document.getElementById )
297
+ elem = document.getElementById( id );
298
+ else if ( document.all )
299
+ elem = eval( "document.all." + id );
300
+ else
301
+ return false;
302
+
303
+ elemStyle = elem.style;
304
+
305
+ if ( elemStyle.display != "block" ) {
306
+ elemStyle.display = "block"
307
+ } else {
308
+ elemStyle.display = "none"
309
+ }
310
+
311
+ return true;
312
+ }
313
+
314
+ // ]]>
315
+ </script>
316
+
317
+ </head>
318
+ <body>
319
+ EOF
320
+
321
+ #####################################################################
322
+ ### C O N T E X T C O N T E N T T E M P L A T E
323
+ #####################################################################
324
+
325
+ CONTEXT_CONTENT = %{
326
+ }
327
+
328
+ #####################################################################
329
+ ### F O O T E R T E M P L A T E
330
+ #####################################################################
331
+
332
+ FOOTER = <<-EOF
333
+ <div id="validator-badges">
334
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
335
+ </div>
336
+
337
+ </body>
338
+ </html>
339
+ EOF
340
+
341
+
342
+ #####################################################################
343
+ ### F I L E P A G E H E A D E R T E M P L A T E
344
+ #####################################################################
345
+
346
+ FILE_PAGE = <<-EOF
347
+ <div id="fileHeader">
348
+ <h1><%= values["short_name"] %></h1>
349
+ <table class="header-table">
350
+ <tr class="top-aligned-row">
351
+ <td><strong>Path:</strong></td>
352
+ <td><%= values["full_path"] %>
353
+ <% if values["cvsurl"] then %>
354
+ &nbsp;(<a href="<%= values["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
355
+ <% end %>
356
+ </td>
357
+ </tr>
358
+ <tr class="top-aligned-row">
359
+ <td><strong>Last Update:</strong></td>
360
+ <td><%= values["dtm_modified"] %></td>
361
+ </tr>
362
+ </table>
363
+ </div>
364
+ EOF
365
+
366
+ #####################################################################
367
+ ### C L A S S P A G E H E A D E R T E M P L A T E
368
+ #####################################################################
369
+
370
+ CLASS_PAGE = <<-EOF
371
+ <div id="classHeader">
372
+ <table class="header-table">
373
+ <tr class="top-aligned-row">
374
+ <td><strong><%= values["classmod"] %></strong></td>
375
+ <td class="class-name-in-header"><%= values["full_name"] %></td>
376
+ </tr>
377
+ <tr class="top-aligned-row">
378
+ <td><strong>In:</strong></td>
379
+ <td>
380
+ <% values["infiles"].each do |infiles| %>
381
+ <% if infiles["full_path_url"] then %>
382
+ <a href="<%= infiles["full_path_url"] %>">
383
+ <% end %>
384
+ <%= infiles["full_path"] %>
385
+ <% if infiles["full_path_url"] then %>
386
+ </a>
387
+ <% end %>
388
+ <% if infiles["cvsurl"] then %>
389
+ &nbsp;(<a href="<%= infiles["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
390
+ <% end %>
391
+ <br />
392
+ <% end # values["infiles"] %>
393
+ </td>
394
+ </tr>
395
+
396
+ <% if values["parent"] then %>
397
+ <tr class="top-aligned-row">
398
+ <td><strong>Parent:</strong></td>
399
+ <td>
400
+ <% if values["par_url"] then %>
401
+ <a href="<%= values["par_url"] %>">
402
+ <% end %>
403
+ <%= values["parent"] %>
404
+ <% if values["par_url"] then %>
405
+ </a>
406
+ <% end %>
407
+ </td>
408
+ </tr>
409
+ <% end %>
410
+ </table>
411
+ </div>
412
+ EOF
413
+
414
+ #####################################################################
415
+ ### M E T H O D L I S T T E M P L A T E
416
+ #####################################################################
417
+
418
+ METHOD_LIST = <<-EOF
419
+
420
+ <div id="contextContent">
421
+ <% if values["diagram"] then %>
422
+ <div id="diagram">
423
+ <%= values["diagram"] %>
424
+ </div>
425
+ <% end %>
426
+
427
+ <% if values["description"] then %>
428
+ <div id="description">
429
+ <%= values["description"] %>
430
+ </div>
431
+ <% end %>
432
+
433
+ <% if values["requires"] then %>
434
+ <div id="requires-list">
435
+ <h3 class="section-bar">Required files</h3>
436
+
437
+ <div class="name-list">
438
+ <% values["requires"].each do |requires| %>
439
+ <%= href requires["aref"], requires["name"] %>&nbsp;&nbsp;
440
+ <% end # values["requires"] %>
441
+ </div>
442
+ </div>
443
+ <% end %>
444
+
445
+ <% if values["toc"] then %>
446
+ <div id="contents-list">
447
+ <h3 class="section-bar">Contents</h3>
448
+ <ul>
449
+ <% values["toc"].each do |toc| %>
450
+ <li><a href="#<%= values["href"] %>"><%= values["secname"] %></a></li>
451
+ <% end # values["toc"] %>
452
+ </ul>
453
+ <% end %>
454
+ </div>
455
+
456
+ <% if values["methods"] then %>
457
+ <div id="method-list">
458
+ <h3 class="section-bar">Methods</h3>
459
+
460
+ <div class="name-list">
461
+ <% values["methods"].each do |methods| %>
462
+ <%= href methods["aref"], methods["name"] %>&nbsp;&nbsp;
463
+ <% end # values["methods"] %>
464
+ </div>
465
+ </div>
466
+ <% end %>
467
+
468
+ </div>
469
+
470
+
471
+ <!-- if includes -->
472
+ <% if values["includes"] then %>
473
+ <div id="includes">
474
+ <h3 class="section-bar">Included Modules</h3>
475
+
476
+ <div id="includes-list">
477
+ <% values["includes"].each do |includes| %>
478
+ <span class="include-name"><%= href includes["aref"], includes["name"] %></span>
479
+ <% end # values["includes"] %>
480
+ </div>
481
+ </div>
482
+ <% end %>
483
+
484
+ <% values["sections"].each do |sections| %>
485
+ <div id="section">
486
+ <% if sections["sectitle"] then %>
487
+ <h2 class="section-title"><a name="<%= sections["secsequence"] %>"><%= sections["sectitle"] %></a></h2>
488
+ <% if sections["seccomment"] then %>
489
+ <div class="section-comment">
490
+ <%= sections["seccomment"] %>
491
+ </div>
492
+ <% end %>
493
+ <% end %>
494
+
495
+ <% if values["classlist"] then %>
496
+ <div id="class-list">
497
+ <h3 class="section-bar">Classes and Modules</h3>
498
+
499
+ <%= values["classlist"] %>
500
+ </div>
501
+ <% end %>
502
+
503
+ <% if values["constants"] then %>
504
+ <div id="constants-list">
505
+ <h3 class="section-bar">Constants</h3>
506
+
507
+ <div class="name-list">
508
+ <table summary="Constants">
509
+ <% values["constants"].each do |constants| %>
510
+ <tr class="top-aligned-row context-row">
511
+ <td class="context-item-name"><%= constants["name"] %></td>
512
+ <td>=</td>
513
+ <td class="context-item-value"><%= constants["value"] %></td>
514
+ <% if values["desc"] then %>
515
+ <td width="3em">&nbsp;</td>
516
+ <td class="context-item-desc"><%= constants["desc"] %></td>
517
+ <% end %>
518
+ </tr>
519
+ <% end # values["constants"] %>
520
+ </table>
521
+ </div>
522
+ </div>
523
+ <% end %>
524
+
525
+ <% if values["aliases"] then %>
526
+ <div id="aliases-list">
527
+ <h3 class="section-bar">External Aliases</h3>
528
+
529
+ <div class="name-list">
530
+ <table summary="aliases">
531
+ <% values["aliases"].each do |aliases| $stderr.puts({ :aliases => aliases }.inspect) %>
532
+ <tr class="top-aligned-row context-row">
533
+ <td class="context-item-name"><%= values["old_name"] %></td>
534
+ <td>-&gt;</td>
535
+ <td class="context-item-value"><%= values["new_name"] %></td>
536
+ </tr>
537
+ <% if values["desc"] then %>
538
+ <tr class="top-aligned-row context-row">
539
+ <td>&nbsp;</td>
540
+ <td colspan="2" class="context-item-desc"><%= values["desc"] %></td>
541
+ </tr>
542
+ <% end %>
543
+ <% end # values["aliases"] %>
544
+ </table>
545
+ </div>
546
+ </div>
547
+ <% end %>
548
+
549
+
550
+ <% if values["attributes"] then %>
551
+ <div id="attribute-list">
552
+ <h3 class="section-bar">Attributes</h3>
553
+
554
+ <div class="name-list">
555
+ <table>
556
+ <% values["attributes"].each do |attributes| $stderr.puts({ :attributes => attributes }.inspect) %>
557
+ <tr class="top-aligned-row context-row">
558
+ <td class="context-item-name"><%= values["name"] %></td>
559
+ <% if values["rw"] then %>
560
+ <td class="context-item-value">&nbsp;[<%= values["rw"] %>]&nbsp;</td>
561
+ <% end %>
562
+ <% unless values["rw"] then %>
563
+ <td class="context-item-value">&nbsp;&nbsp;</td>
564
+ <% end %>
565
+ <td class="context-item-desc"><%= values["a_desc"] %></td>
566
+ </tr>
567
+ <% end # values["attributes"] %>
568
+ </table>
569
+ </div>
570
+ </div>
571
+ <% end %>
572
+
573
+
574
+
575
+ <!-- if method_list -->
576
+ <% if sections["method_list"] then %>
577
+ <div id="methods">
578
+ <% sections["method_list"].each do |method_list| %>
579
+ <% if method_list["methods"] then %>
580
+ <h3 class="section-bar"><%= method_list["type"] %> <%= method_list["category"] %> methods</h3>
581
+
582
+ <% method_list["methods"].each do |methods| %>
583
+ <div id="method-<%= methods["aref"] %>" class="method-detail">
584
+ <a name="<%= methods["aref"] %>"></a>
585
+
586
+ <div class="method-heading">
587
+ <% if methods["codeurl"] then %>
588
+ <a href="<%= methods["codeurl"] %>" target="Code" class="method-signature"
589
+ onclick="popupCode('<%= methods["codeurl"] %>');return false;">
590
+ <% end %>
591
+ <% if methods["sourcecode"] then %>
592
+ <a href="#<%= methods["aref"] %>" class="method-signature">
593
+ <% end %>
594
+ <% if methods["callseq"] then %>
595
+ <span class="method-name"><%= methods["callseq"] %></span>
596
+ <% end %>
597
+ <% unless methods["callseq"] then %>
598
+ <span class="method-name"><%= methods["name"] %></span><span class="method-args"><%= methods["params"] %></span>
599
+ <% end %>
600
+ <% if methods["codeurl"] then %>
601
+ </a>
602
+ <% end %>
603
+ <% if methods["sourcecode"] then %>
604
+ </a>
605
+ <% end %>
606
+ </div>
607
+
608
+ <div class="method-description">
609
+ <% if methods["m_desc"] then %>
610
+ <%= methods["m_desc"] %>
611
+ <% end %>
612
+ <% if methods["sourcecode"] then %>
613
+ <p><a class="source-toggle" href="#"
614
+ onclick="toggleCode('<%= methods["aref"] %>-source');return false;">[Source]</a></p>
615
+ <div class="method-source-code" id="<%= methods["aref"] %>-source">
616
+ <pre>
617
+ <%= methods["sourcecode"] %>
618
+ </pre>
619
+ </div>
620
+ <% end %>
621
+ </div>
622
+ </div>
623
+
624
+ <% end # method_list["methods"] %>
625
+ <% end %>
626
+ <% end # sections["method_list"] %>
627
+
628
+ </div>
629
+ <% end %>
630
+ <% end # values["sections"] %>
631
+ EOF
632
+
633
+ #####################################################################
634
+ ### B O D Y T E M P L A T E
635
+ #####################################################################
636
+
637
+ BODY = HEADER + %{
638
+
639
+ <%= template_include %> <!-- banner header -->
640
+
641
+ <div id="bodyContent">
642
+
643
+ } + METHOD_LIST + %{
644
+
645
+ </div>
646
+
647
+ } + FOOTER
648
+
649
+ #####################################################################
650
+ ### S O U R C E C O D E T E M P L A T E
651
+ #####################################################################
652
+
653
+ SRC_PAGE = XHTML_PREAMBLE + <<-EOF
654
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
655
+ <head>
656
+ <title><%= values["title"] %></title>
657
+ <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>" />
658
+ <link rel="stylesheet" href="<%= values["style_url"] %>" type="text/css" media="screen" />
659
+ </head>
660
+ <body class="standalone-code">
661
+ <pre><%= values["code"] %></pre>
662
+ </body>
663
+ </html>
664
+ EOF
665
+
666
+
667
+ #####################################################################
668
+ ### I N D E X F I L E T E M P L A T E S
669
+ #####################################################################
670
+
671
+ FR_INDEX_BODY = %{
672
+ <%= template_include %>
673
+ }
674
+
675
+ FILE_INDEX = XHTML_PREAMBLE + <<-EOF
676
+ <!--
677
+
678
+ <%= values["list_title"] %>
679
+
680
+ -->
681
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
682
+ <head>
683
+ <title><%= values["list_title"] %></title>
684
+ <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>" />
685
+ <link rel="stylesheet" href="<%= values["style_url"] %>" type="text/css" />
686
+ <base target="docwin" />
687
+ </head>
688
+ <body>
689
+ <div id="index">
690
+ <h1 class="section-bar"><%= values["list_title"] %></h1>
691
+ <div id="index-entries">
692
+ <% values["entries"].each do |entries| %>
693
+ <a href="<%= entries["href"] %>"><%= entries["name"] %></a><br />
694
+ <% end # values["entries"] %>
695
+ </div>
696
+ </div>
697
+ </body>
698
+ </html>
699
+ EOF
700
+
701
+ CLASS_INDEX = FILE_INDEX
702
+ METHOD_INDEX = FILE_INDEX
703
+
704
+ INDEX = <<-EOF
705
+ <?xml version="1.0" encoding="<%= values["charset"] %>"?>
706
+ <!DOCTYPE html
707
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
708
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
709
+
710
+ <!--
711
+
712
+ <%= values["title"] %>
713
+
714
+ -->
715
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
716
+ <head>
717
+ <title><%= values["title"] %></title>
718
+ <meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>" />
719
+ </head>
720
+ <frameset rows="20%, 80%">
721
+ <frameset cols="25%,35%,45%">
722
+ <frame src="fr_file_index.html" title="Files" name="Files" />
723
+ <frame src="fr_class_index.html" name="Classes" />
724
+ <frame src="fr_method_index.html" name="Methods" />
725
+ </frameset>
726
+ <frame src="<%= values["initial_page"] %>" name="docwin" />
727
+ </frameset>
728
+ </html>
729
+ EOF
730
+
731
+ end
732
+