voloko-sdoc 0.0.5 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. data/README +1 -1
  2. data/bin/sdoc +0 -1
  3. data/bin/sdoc-merge +12 -0
  4. data/lib/sdoc.rb +15 -7
  5. data/lib/sdoc/generator/shtml.rb +671 -0
  6. data/lib/sdoc/generator/template/shtml/_context.rhtml +163 -0
  7. data/lib/sdoc/generator/template/shtml/class.rhtml +46 -0
  8. data/lib/sdoc/generator/template/shtml/file.rhtml +37 -0
  9. data/lib/sdoc/generator/template/shtml/index.rhtml +14 -0
  10. data/lib/sdoc/generator/template/shtml/resources/css/main.css +191 -0
  11. data/lib/sdoc/{generators/template/shtml/resources/css/master-frameset.css → generator/template/shtml/resources/css/panel.css} +83 -2
  12. data/lib/sdoc/{generators → generator}/template/shtml/resources/css/reset.css +0 -0
  13. data/lib/sdoc/{generators → generator}/template/shtml/resources/i/arrows.png +0 -0
  14. data/lib/sdoc/{generators → generator}/template/shtml/resources/i/results_bg.png +0 -0
  15. data/lib/sdoc/{generators → generator}/template/shtml/resources/i/tree_bg.png +0 -0
  16. data/lib/sdoc/{generators → generator}/template/shtml/resources/js/jquery-1.3.2.min.js +0 -0
  17. data/lib/sdoc/generator/template/shtml/resources/js/main.js +34 -0
  18. data/lib/sdoc/generator/template/shtml/resources/js/searchdoc.js +600 -0
  19. data/lib/sdoc/{generators/template/shtml/resources/panel.html → generator/template/shtml/resources/panel/index.html} +6 -6
  20. data/lib/sdoc/github.rb +64 -0
  21. data/lib/sdoc/merge.rb +166 -0
  22. metadata +117 -19
  23. data/lib/sdoc/code_objects.rb +0 -17
  24. data/lib/sdoc/generators/shtml_generator.rb +0 -354
  25. data/lib/sdoc/generators/template/shtml/resources/js/searchdoc.js +0 -595
  26. data/lib/sdoc/generators/template/shtml/shtml.rb +0 -615
  27. data/lib/sdoc/options.rb +0 -61
  28. data/test/options_test.rb +0 -33
  29. data/test/sdoc_test.rb +0 -7
@@ -1,615 +0,0 @@
1
- # SDoc RDoc template
2
- # Author: Vladimir Kolesnikov voloko@gmail.com
3
- #
4
- # Based on the Horo template:
5
- # Author: Hongli Lai - http://izumi.plan99.net/blog/
6
-
7
- if defined?(RDoc::Diagram)
8
- RDoc::Diagram.class_eval do
9
- remove_const(:FONT)
10
- const_set(:FONT, "\"Bitstream Vera Sans\"")
11
- end
12
- end
13
-
14
- module RDoc
15
- module Page
16
-
17
- FONTS = "\"Bitstream Vera Sans\", Verdana, Arial, Helvetica, sans-serif"
18
-
19
- STYLE = <<CSS
20
- a {
21
- color: #00F;
22
- text-decoration: none;
23
- }
24
-
25
- a:hover {
26
- color: #77F;
27
- text-decoration: underline;
28
- }
29
-
30
- body, td, p {
31
- font-family: %fonts%;
32
- background: #FFF;
33
- color: #000;
34
- margin: 0px;
35
- font-size: small;
36
- }
37
-
38
- p {
39
- margin-top: 0.5em;
40
- margin-bottom: 0.5em;
41
- }
42
-
43
- #content {
44
- margin: 2em;
45
- margin-left: 3.5em;
46
- margin-right: 3.5em;
47
- }
48
-
49
- #description p {
50
- margin-bottom: 0.5em;
51
- }
52
-
53
- .sectiontitle {
54
- margin-top: 1em;
55
- margin-bottom: 1em;
56
- padding: 0.5em;
57
- padding-left: 2em;
58
- background: #005;
59
- color: #FFF;
60
- font-weight: bold;
61
- }
62
-
63
- .attr-rw {
64
- padding-left: 1em;
65
- padding-right: 1em;
66
- text-align: center;
67
- color: #055;
68
- }
69
-
70
- .attr-name {
71
- font-weight: bold;
72
- }
73
-
74
- .attr-desc {
75
- }
76
-
77
- .attr-value {
78
- font-family: monospace;
79
- }
80
-
81
- .file-title-prefix {
82
- font-size: large;
83
- }
84
-
85
- .file-title {
86
- font-size: large;
87
- font-weight: bold;
88
- background: #005;
89
- color: #FFF;
90
- }
91
-
92
- .banner {
93
- background: #005;
94
- color: #FFF;
95
- border: 1px solid black;
96
- padding: 1em;
97
- }
98
-
99
- .banner td {
100
- background: transparent;
101
- color: #FFF;
102
- }
103
-
104
- h1 a, h2 a, .sectiontitle a, .banner a {
105
- color: #FF0;
106
- }
107
-
108
- h1 a:hover, h2 a:hover, .sectiontitle a:hover, .banner a:hover {
109
- color: #FF7;
110
- }
111
-
112
- .dyn-source {
113
- display: none;
114
- background: #fffde8;
115
- color: #000;
116
- border: #ffe0bb dotted 1px;
117
- margin: 0.5em 2em 0.5em 2em;
118
- padding: 0.5em;
119
- }
120
-
121
- .dyn-source .cmt {
122
- color: #00F;
123
- font-style: italic;
124
- }
125
-
126
- .dyn-source .kw {
127
- color: #070;
128
- font-weight: bold;
129
- }
130
-
131
- .method {
132
- margin-left: 1em;
133
- margin-right: 1em;
134
- margin-bottom: 1em;
135
- }
136
-
137
- .description pre {
138
- padding: 0.5em;
139
- border: #ffe0bb dotted 1px;
140
- background: #fffde8;
141
- }
142
-
143
- .method .title {
144
- font-family: monospace;
145
- font-size: large;
146
- border-bottom: 1px dashed black;
147
- margin-bottom: 0.3em;
148
- padding-bottom: 0.1em;
149
- }
150
-
151
- .method .description, .method .sourcecode {
152
- margin-left: 1em;
153
- }
154
-
155
- .description p, .sourcecode p {
156
- margin-bottom: 0.5em;
157
- }
158
-
159
- .method .sourcecode p.source-link {
160
- text-indent: 0em;
161
- margin-top: 0.5em;
162
- }
163
-
164
- .method .aka {
165
- margin-top: 0.3em;
166
- margin-left: 1em;
167
- font-style: italic;
168
- text-indent: 2em;
169
- }
170
-
171
- h1 {
172
- padding: 1em;
173
- margin-left: -1.5em;
174
- font-size: x-large;
175
- font-weight: bold;
176
- color: #FFF;
177
- background: #007;
178
- }
179
-
180
- h2 {
181
- padding: 0.5em 1em 0.5em 1em;
182
- margin-left: -1.5em;
183
- font-size: large;
184
- font-weight: bold;
185
- color: #FFF;
186
- background: #009;
187
- }
188
-
189
- h3, h4, h5, h6 {
190
- color: #220088;
191
- border-bottom: #5522bb solid 1px;
192
- }
193
-
194
- .sourcecode > pre {
195
- padding: 0.5em;
196
- border: 1px dotted black;
197
- background: #FFE;
198
- }
199
-
200
- dt {
201
- font-weight: bold
202
- }
203
-
204
- dd {
205
- margin-bottom: 0.7em;
206
- }
207
- CSS
208
-
209
- XHTML_PREAMBLE = %{<?xml version="1.0" encoding="%charset%"?>
210
- <!DOCTYPE html
211
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
212
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
213
- }
214
-
215
- XHTML_FRAMESET_PREAMBLE = %{
216
- <!DOCTYPE html
217
- PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
218
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
219
- }
220
-
221
- HEADER = XHTML_PREAMBLE + <<ENDHEADER
222
- <html>
223
- <head>
224
- <title>%title%</title>
225
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
226
- <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" />
227
-
228
- <script language="JavaScript" type="text/javascript">
229
- // <![CDATA[
230
-
231
- function toggleSource( id )
232
- {
233
- var elem
234
- var link
235
-
236
- if( document.getElementById )
237
- {
238
- elem = document.getElementById( id )
239
- link = document.getElementById( "l_" + id )
240
- }
241
- else if ( document.all )
242
- {
243
- elem = eval( "document.all." + id )
244
- link = eval( "document.all.l_" + id )
245
- }
246
- else
247
- return false;
248
-
249
- if( elem.style.display == "block" )
250
- {
251
- elem.style.display = "none"
252
- link.innerHTML = "show"
253
- }
254
- else
255
- {
256
- elem.style.display = "block"
257
- link.innerHTML = "hide"
258
- }
259
- }
260
-
261
- function openCode( url )
262
- {
263
- window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
264
- }
265
- // ]]>
266
- </script>
267
- </head>
268
-
269
- <body>
270
- ENDHEADER
271
-
272
- FILE_PAGE = <<HTML
273
- <table border='0' cellpadding='0' cellspacing='0' width="100%" class='banner'>
274
- <tr><td>
275
- <table width="100%" border='0' cellpadding='0' cellspacing='0'><tr>
276
- <td class="file-title" colspan="2"><span class="file-title-prefix">File</span><br />%short_name%</td>
277
- <td align="right">
278
- <table border='0' cellspacing="0" cellpadding="2">
279
- <tr>
280
- <td>Path:</td>
281
- <td>%full_path%
282
- IF:cvsurl
283
- &nbsp;(<a href="%cvsurl%">CVS</a>)
284
- ENDIF:cvsurl
285
- IF:github_url
286
- &nbsp;(<a href="%github_url%" target="_blank">Code on GitHub</a>)
287
- ENDIF:github_url
288
- </td>
289
- </tr>
290
- <tr>
291
- <td>Modified:</td>
292
- <td>%dtm_modified%</td>
293
- </tr>
294
- </table>
295
- </td></tr>
296
- </table>
297
- </td></tr>
298
- </table><br />
299
- HTML
300
-
301
- ###################################################################
302
-
303
- CLASS_PAGE = <<HTML
304
- <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
305
- <td class="file-title"><span class="file-title-prefix">%classmod%</span><br />%full_name%</td>
306
- <td align="right">
307
- <table cellspacing="0" cellpadding="2">
308
- <tr valign="top">
309
- <td>In:</td>
310
- <td>
311
- START:infiles
312
- HREF:full_path_url:full_path:
313
- IF:cvsurl
314
- &nbsp;(<a href="%cvsurl%">CVS</a>)
315
- ENDIF:cvsurl
316
- END:infiles
317
- </td>
318
- </tr>
319
- IF:parent
320
- <tr>
321
- <td>Parent:</td>
322
- <td>
323
- IF:par_url
324
- <a href="%par_url%">
325
- ENDIF:par_url
326
- %parent%
327
- IF:par_url
328
- </a>
329
- ENDIF:par_url
330
- </td>
331
- </tr>
332
- ENDIF:parent
333
- </table>
334
- </td>
335
- </tr>
336
- </table>
337
- HTML
338
-
339
- ###################################################################
340
-
341
- METHOD_LIST = <<HTML
342
- <div id="content">
343
- IF:diagram
344
- <table cellpadding='0' cellspacing='0' border='0' width="100%"><tr><td align="center">
345
- %diagram%
346
- </td></tr></table>
347
- ENDIF:diagram
348
-
349
- IF:description
350
- <div class="description">%description%</div>
351
- ENDIF:description
352
-
353
- IF:requires
354
- <div class="sectiontitle">Required Files</div>
355
- <ul>
356
- START:requires
357
- <li>HREF:aref:name:</li>
358
- END:requires
359
- </ul>
360
- ENDIF:requires
361
-
362
- IF:toc
363
- <div class="sectiontitle">Contents</div>
364
- <ul>
365
- START:toc
366
- <li><a href="#%href%">%secname%</a></li>
367
- END:toc
368
- </ul>
369
- ENDIF:toc
370
-
371
- IF:methods
372
- <div class="sectiontitle">Methods</div>
373
- <ul>
374
- START:methods
375
- <li>HREF:aref:name:</li>
376
- END:methods
377
- </ul>
378
- ENDIF:methods
379
-
380
- IF:includes
381
- <div class="sectiontitle">Included Modules</div>
382
- <ul>
383
- START:includes
384
- <li>HREF:aref:name:</li>
385
- END:includes
386
- </ul>
387
- ENDIF:includes
388
-
389
- START:sections
390
- IF:sectitle
391
- <div class="sectiontitle"><a name="%secsequence%">%sectitle%</a></div>
392
- IF:seccomment
393
- <div class="description">
394
- %seccomment%
395
- </div>
396
- ENDIF:seccomment
397
- ENDIF:sectitle
398
-
399
- IF:classlist
400
- <div class="sectiontitle">Classes and Modules</div>
401
- %classlist%
402
- ENDIF:classlist
403
-
404
- IF:constants
405
- <div class="sectiontitle">Constants</div>
406
- <table border='0' cellpadding='5'>
407
- START:constants
408
- <tr valign='top'>
409
- <td class="attr-name">%name%</td>
410
- <td>=</td>
411
- <td class="attr-value">%value%</td>
412
- </tr>
413
- IF:desc
414
- <tr valign='top'>
415
- <td>&nbsp;</td>
416
- <td colspan="2" class="attr-desc">%desc%</td>
417
- </tr>
418
- ENDIF:desc
419
- END:constants
420
- </table>
421
- ENDIF:constants
422
-
423
- IF:attributes
424
- <div class="sectiontitle">Attributes</div>
425
- <table border='0' cellpadding='5'>
426
- START:attributes
427
- <tr valign='top'>
428
- <td class='attr-rw'>
429
- IF:rw
430
- [%rw%]
431
- ENDIF:rw
432
- </td>
433
- <td class='attr-name'>%name%</td>
434
- <td class='attr-desc'>%a_desc%</td>
435
- </tr>
436
- END:attributes
437
- </table>
438
- ENDIF:attributes
439
-
440
- IF:method_list
441
- START:method_list
442
- IF:methods
443
- <div class="sectiontitle">%type% %category% methods</div>
444
- START:methods
445
- <div class="method">
446
- <div class="title">
447
- IF:callseq
448
- <a name="%aref%"></a><b>%callseq%</b>
449
- ENDIF:callseq
450
- IFNOT:callseq
451
- <a name="%aref%"></a><b>%name%</b>%params%
452
- ENDIF:callseq
453
- IF:codeurl
454
- <a href="%codeurl%" target="SOURCE_CODE" onclick="javascript:openCode('%codeurl%'); return false;">source</a>
455
- IF:github_url
456
- | <a href="%github_url%" target="_blank" class="github_url">on GitHub</a>
457
- ENDIF:github_url
458
- ENDIF:codeurl
459
- </div>
460
- IF:m_desc
461
- <div class="description">
462
- %m_desc%
463
- </div>
464
- ENDIF:m_desc
465
- IF:aka
466
- <div class="aka">
467
- This method is also aliased as
468
- START:aka
469
- <a href="%aref%">%name%</a>
470
- END:aka
471
- </div>
472
- ENDIF:aka
473
- IF:sourcecode
474
- <div class="sourcecode">
475
- <p class="source-link">
476
- Source: <a href="javascript:toggleSource('%aref%_source')" id="l_%aref%_source">show</a>
477
- IF:github_url
478
- | <a href="%github_url%" target="_blank" class="github_url">on GitHub</a>
479
- ENDIF:github_url
480
- </p>
481
- <div id="%aref%_source" class="dyn-source">
482
- <pre>
483
- %sourcecode%
484
- </pre>
485
- </div>
486
- </div>
487
- ENDIF:sourcecode
488
- </div>
489
- END:methods
490
- ENDIF:methods
491
- END:method_list
492
- ENDIF:method_list
493
- END:sections
494
- </div>
495
- HTML
496
-
497
- FOOTER = <<ENDFOOTER
498
- </body>
499
- </html>
500
- ENDFOOTER
501
-
502
- BODY = HEADER + <<ENDBODY
503
- !INCLUDE! <!-- banner header -->
504
-
505
- <div id="bodyContent">
506
- #{METHOD_LIST}
507
- </div>
508
-
509
- #{FOOTER}
510
- ENDBODY
511
-
512
- ########################## Source code ##########################
513
-
514
- SRC_PAGE = XHTML_PREAMBLE + <<HTML
515
- <html>
516
- <head><title>%title%</title>
517
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
518
- <style type="text/css">
519
- .ruby-comment { color: green; font-style: italic }
520
- .ruby-constant { color: #4433aa; font-weight: bold; }
521
- .ruby-identifier { color: #222222; }
522
- .ruby-ivar { color: #2233dd; }
523
- .ruby-keyword { color: #3333FF; font-weight: bold }
524
- .ruby-node { color: #777777; }
525
- .ruby-operator { color: #111111; }
526
- .ruby-regexp { color: #662222; }
527
- .ruby-value { color: #662222; font-style: italic }
528
- .kw { color: #3333FF; font-weight: bold }
529
- .cmt { color: green; font-style: italic }
530
- .str { color: #662222; font-style: italic }
531
- .re { color: #662222; }
532
- </style>
533
- </head>
534
- <body bgcolor="white">
535
- <pre>%code%</pre>
536
- </body>
537
- </html>
538
- HTML
539
-
540
- ########################## Index ################################
541
-
542
- FR_INDEX_BODY = <<HTML
543
- !INCLUDE!
544
- HTML
545
-
546
- FILE_INDEX = XHTML_PREAMBLE + <<HTML
547
- <html>
548
- <head>
549
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
550
- <title>Index</title>
551
- <style type="text/css">
552
- <!--
553
- body {
554
- background-color: #EEE;
555
- font-family: #{FONTS};
556
- color: #000;
557
- margin: 0px;
558
- }
559
- .banner {
560
- background: #005;
561
- color: #FFF;
562
- padding: 0.2em;
563
- font-size: small;
564
- font-weight: bold;
565
- text-align: center;
566
- }
567
- .entries {
568
- margin: 0.25em 1em 0 1em;
569
- font-size: x-small;
570
- }
571
- a {
572
- color: #00F;
573
- text-decoration: none;
574
- white-space: nowrap;
575
- }
576
- a:hover {
577
- color: #77F;
578
- text-decoration: underline;
579
- }
580
- -->
581
- </style>
582
- <base target="docwin" />
583
- </head>
584
- <body>
585
- <div class="banner">%list_title%</div>
586
- <div class="entries">
587
- START:entries
588
- <a href="%href%">%name%</a><br />
589
- END:entries
590
- </div>
591
- </body></html>
592
- HTML
593
-
594
- CLASS_INDEX = FILE_INDEX
595
- METHOD_INDEX = FILE_INDEX
596
-
597
- INDEX = XHTML_FRAMESET_PREAMBLE + <<HTML
598
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
599
- <head>
600
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%"/>
601
-
602
- <title>%title%</title>
603
- </head>
604
- <frameset cols="300,*" frameborder="1" border="1" bordercolor="#666666" framespacing="1">
605
- <frame src="panel.html" title="Search" name="panel" />
606
- <frame src="%initial_page%" name="docwin" />
607
- </frameset>
608
- </html>
609
- HTML
610
-
611
- RESOURCES_PATH = File.join(File.expand_path(File.dirname(__FILE__)), 'resources/.')
612
-
613
- end
614
- end
615
-