rio 0.3.8 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. data/README +18 -12
  2. data/Rakefile +57 -87
  3. data/build_doc.rb +19 -17
  4. data/doc/ANNOUNCE +3 -32
  5. data/doc/RELEASE_NOTES +4 -5
  6. data/doc/RIOIS +215 -0
  7. data/doc/generators/template/html/rio.css +428 -0
  8. data/doc/generators/template/html/rio.rb +18 -389
  9. data/doc/generators/template/html/ugly.rb +130 -0
  10. data/doc/pkg_def.rb +66 -0
  11. data/ex/catcsv.rb +64 -0
  12. data/ex/colx.rb +8 -0
  13. data/ex/findinruby +15 -0
  14. data/ex/findruby +14 -0
  15. data/ex/passwd_report.rb +8 -0
  16. data/ex/prompt.rb +25 -0
  17. data/ex/rgb.txt.gz +0 -0
  18. data/ex/riocat +42 -0
  19. data/ex/riogunzip +31 -0
  20. data/ex/riogzip +24 -0
  21. data/ex/rioprompt.rb +10 -0
  22. data/ex/targz2zip +17 -0
  23. data/ex/tonl +10 -0
  24. data/lib/rio.rb +16 -10
  25. data/lib/rio/abstract_method.rb +3 -4
  26. data/lib/rio/argv.rb +3 -4
  27. data/lib/rio/arycopy.rb +3 -4
  28. data/lib/rio/assert.rb +3 -4
  29. data/lib/rio/base.rb +3 -4
  30. data/lib/rio/callstr.rb +3 -4
  31. data/lib/rio/const.rb +3 -4
  32. data/lib/rio/construct.rb +3 -4
  33. data/lib/rio/constructor.rb +12 -8
  34. data/lib/rio/context.rb +15 -30
  35. data/lib/rio/context/autoclose.rb +3 -4
  36. data/lib/rio/context/copying.rb +3 -4
  37. data/lib/rio/context/cxx.rb +3 -4
  38. data/lib/rio/context/dir.rb +3 -4
  39. data/lib/rio/context/gzip.rb +3 -4
  40. data/lib/rio/context/methods.rb +16 -5
  41. data/lib/rio/context/skip.rb +3 -4
  42. data/lib/rio/context/stream.rb +42 -5
  43. data/lib/rio/cp.rb +7 -7
  44. data/lib/rio/def.rb +3 -4
  45. data/lib/rio/dir.rb +3 -4
  46. data/lib/rio/doc.rb +4 -5
  47. data/lib/rio/doc/EXAMPLES.rb +299 -0
  48. data/lib/rio/doc/HOWTO.rb +3 -4
  49. data/lib/rio/doc/INTRO.rb +86 -105
  50. data/lib/rio/doc/OPTIONAL.rb +4 -5
  51. data/lib/rio/doc/SYNOPSIS.rb +7 -6
  52. data/lib/rio/entrysel.rb +21 -23
  53. data/lib/rio/exception.rb +3 -4
  54. data/lib/rio/exception/copy.rb +3 -4
  55. data/lib/rio/exception/notimplemented.rb +57 -0
  56. data/lib/rio/exception/notsupported.rb +3 -4
  57. data/lib/rio/exception/open.rb +3 -4
  58. data/lib/rio/exception/state.rb +3 -4
  59. data/lib/rio/ext.rb +47 -13
  60. data/lib/rio/ext/csv.rb +4 -5
  61. data/lib/rio/ext/if.rb +45 -0
  62. data/lib/rio/ext/mp3info.rb +80 -0
  63. data/lib/rio/ext/splitlines.rb +253 -0
  64. data/lib/rio/ext/yaml.rb +9 -5
  65. data/lib/rio/ext/yaml/doc.rb +133 -0
  66. data/lib/rio/ext/yaml/tie.rb +149 -0
  67. data/lib/rio/ext/zipfile.rb +23 -4
  68. data/lib/rio/ext/zipfile/fs.rb +116 -0
  69. data/lib/rio/ext/zipfile/rl.rb +251 -0
  70. data/lib/rio/ext/zipfile/rootdir.rb +117 -0
  71. data/lib/rio/ext/zipfile/state.rb +161 -0
  72. data/lib/rio/ext/zipfile/wrap.rb +204 -0
  73. data/lib/rio/factory.rb +235 -27
  74. data/lib/rio/file.rb +4 -4
  75. data/lib/rio/filter.rb +3 -4
  76. data/lib/rio/filter/closeoneof.rb +3 -4
  77. data/lib/rio/filter/gzip.rb +9 -4
  78. data/lib/rio/fs/base.rb +3 -4
  79. data/lib/rio/fs/impl.rb +4 -5
  80. data/lib/rio/fs/native.rb +3 -4
  81. data/lib/rio/fs/stream.rb +3 -4
  82. data/lib/rio/fs/url.rb +3 -4
  83. data/lib/rio/ftp/conncache.rb +19 -5
  84. data/lib/rio/ftp/dir.rb +3 -4
  85. data/lib/rio/ftp/fs.rb +30 -24
  86. data/lib/rio/grande.rb +27 -7
  87. data/lib/rio/handle.rb +3 -4
  88. data/lib/rio/if.rb +19 -15
  89. data/lib/rio/if/basic.rb +7 -7
  90. data/lib/rio/if/csv.rb +5 -6
  91. data/lib/rio/if/dir.rb +120 -114
  92. data/lib/rio/if/file.rb +52 -44
  93. data/lib/rio/if/fileordir.rb +217 -211
  94. data/lib/rio/if/grande.rb +674 -644
  95. data/lib/rio/if/grande_entry.rb +321 -313
  96. data/lib/rio/if/grande_stream.rb +653 -553
  97. data/lib/rio/if/internal.rb +3 -4
  98. data/lib/rio/if/path.rb +425 -426
  99. data/lib/rio/if/rubyio.rb +681 -0
  100. data/lib/rio/if/string.rb +42 -5
  101. data/lib/rio/if/temp.rb +3 -4
  102. data/lib/rio/if/test.rb +245 -238
  103. data/lib/rio/if/yaml.rb +15 -41
  104. data/lib/rio/ioh.rb +7 -5
  105. data/lib/rio/iomode.rb +19 -7
  106. data/lib/rio/ios/fail.rb +4 -5
  107. data/lib/rio/ios/generic.rb +4 -5
  108. data/lib/rio/ios/mode.rb +4 -5
  109. data/lib/rio/ios/null.rb +6 -7
  110. data/lib/rio/iowrap.rb +3 -4
  111. data/lib/rio/kernel.rb +3 -5
  112. data/lib/rio/local.rb +3 -4
  113. data/lib/rio/match.rb +3 -4
  114. data/lib/rio/matchrecord.rb +3 -4
  115. data/lib/rio/no_warn.rb +3 -4
  116. data/lib/rio/nullio.rb +3 -4
  117. data/lib/rio/open3.rb +4 -5
  118. data/lib/rio/ops/construct.rb +3 -4
  119. data/lib/rio/ops/create.rb +11 -6
  120. data/lib/rio/ops/dir.rb +19 -8
  121. data/lib/rio/ops/either.rb +6 -5
  122. data/lib/rio/ops/file.rb +3 -4
  123. data/lib/rio/ops/path.rb +14 -35
  124. data/lib/rio/ops/stream.rb +3 -4
  125. data/lib/rio/ops/stream/input.rb +4 -7
  126. data/lib/rio/ops/stream/output.rb +3 -4
  127. data/lib/rio/ops/stream/read.rb +6 -5
  128. data/lib/rio/ops/stream/write.rb +3 -4
  129. data/lib/rio/ops/symlink.rb +3 -4
  130. data/lib/rio/path.rb +22 -18
  131. data/lib/rio/path/reset.rb +4 -5
  132. data/lib/rio/piper.rb +3 -4
  133. data/lib/rio/piper/cp.rb +3 -4
  134. data/lib/rio/prompt.rb +10 -5
  135. data/lib/rio/rectype.rb +5 -5
  136. data/lib/rio/rl/base.rb +17 -71
  137. data/lib/rio/rl/builder.rb +14 -38
  138. data/lib/rio/rl/chmap.rb +66 -0
  139. data/lib/rio/rl/fs2url.rb +82 -0
  140. data/lib/rio/rl/ioi.rb +4 -4
  141. data/lib/rio/rl/path.rb +44 -122
  142. data/lib/rio/rl/pathmethods.rb +19 -8
  143. data/lib/rio/rl/uri.rb +137 -60
  144. data/lib/rio/rl/withpath.rb +295 -0
  145. data/lib/rio/scheme/aryio.rb +3 -4
  146. data/lib/rio/scheme/cmdio.rb +3 -4
  147. data/lib/rio/scheme/cmdpipe.rb +4 -4
  148. data/lib/rio/scheme/fd.rb +3 -4
  149. data/lib/rio/scheme/ftp.rb +7 -7
  150. data/lib/rio/scheme/http.rb +4 -5
  151. data/lib/rio/scheme/null.rb +3 -4
  152. data/lib/rio/scheme/path.rb +3 -4
  153. data/lib/rio/scheme/stderr.rb +3 -4
  154. data/lib/rio/scheme/stdio.rb +3 -4
  155. data/lib/rio/scheme/strio.rb +3 -4
  156. data/lib/rio/scheme/sysio.rb +3 -4
  157. data/lib/rio/scheme/tcp.rb +3 -4
  158. data/lib/rio/scheme/temp.rb +6 -6
  159. data/lib/rio/state.rb +18 -46
  160. data/lib/rio/state/error.rb +3 -4
  161. data/lib/rio/stream.rb +4 -4
  162. data/lib/rio/stream/base.rb +3 -4
  163. data/lib/rio/stream/duplex.rb +3 -4
  164. data/lib/rio/stream/open.rb +3 -8
  165. data/lib/rio/symantics.rb +3 -4
  166. data/lib/rio/tempdir.rb +2 -2
  167. data/lib/rio/to_rio.rb +3 -4
  168. data/lib/rio/to_rio/all.rb +3 -4
  169. data/lib/rio/to_rio/array.rb +4 -5
  170. data/lib/rio/to_rio/io.rb +4 -5
  171. data/lib/rio/to_rio/object.rb +4 -5
  172. data/lib/rio/to_rio/string.rb +4 -5
  173. data/lib/rio/uri/file.rb +41 -5
  174. data/lib/rio/util.rb +3 -4
  175. data/lib/rio/version.rb +4 -5
  176. data/setup.rb +368 -339
  177. data/test/bin/list_dir.rb +1 -1
  178. data/test/ftp/anon_misc.rb +13 -1
  179. data/test/ftp/anon_special.rb +6 -6
  180. data/test/ftp/anon_write.rb +10 -3
  181. data/test/ftp/ftp2ftp.rb +2 -2
  182. data/test/ftp/testdef.rb +9 -6
  183. data/test/http/all.rb +3 -0
  184. data/test/http/copy-from-http.rb +140 -0
  185. data/test/lib/temp_server.rb +44 -0
  186. data/test/runalltests.rb +3 -1
  187. data/test/runhttp.rb +12 -0
  188. data/test/runhttptests.rb +1 -1
  189. data/test/runtests.rb +41 -3
  190. data/test/tc/abs.rb +9 -5
  191. data/test/tc/all.rb +9 -4
  192. data/test/tc/base.rb +1 -1
  193. data/test/tc/base2.rb +87 -0
  194. data/test/tc/{methods.rb → clone.rb} +72 -50
  195. data/test/tc/closeoncopy.rb +13 -2
  196. data/test/tc/copy-dir-samevar.rb +91 -0
  197. data/test/tc/dir_iter.rb +0 -1
  198. data/test/tc/empty.rb +6 -2
  199. data/test/tc/expand_path.rb +36 -54
  200. data/test/tc/ext.rb +42 -18
  201. data/test/tc/gzip.rb +30 -3
  202. data/test/tc/likeio.rb +5 -1
  203. data/test/tc/line_record_row.rb +51 -0
  204. data/test/tc/noqae.rb +71 -70
  205. data/test/tc/path_parts.rb +175 -0
  206. data/test/tc/programs_util.rb +3 -3
  207. data/test/tc/rename.rb +4 -5
  208. data/test/tc/riorl.rb +9 -7
  209. data/test/tc/skip.rb +35 -6
  210. data/test/tc/skiplines.rb +34 -5
  211. data/test/tc/split.rb +8 -50
  212. data/test/tc/splitlines.rb +65 -0
  213. data/test/tc/splitpath.rb +83 -0
  214. data/test/tc/testcase.rb +1 -1
  215. data/test/tc/truncate.rb +39 -0
  216. data/test/tc/yaml.rb +9 -8
  217. metadata +261 -207
  218. data/ChangeLog +0 -1418
  219. data/VERSION +0 -1
  220. data/lib/rio/doc/MISC.rb +0 -259
  221. data/lib/rio/if/stream.rb +0 -680
  222. data/lib/rio/impl/path.rb +0 -87
  223. data/test/tc/copy-from-http.rb +0 -89
@@ -0,0 +1,428 @@
1
+ /*
2
+ *
3
+ * = CSS2 RDoc HTML template
4
+ *
5
+ * This is a template for RDoc that uses XHTML 1.0 Transitional and dictates a
6
+ * bit more of the appearance of the output to cascading stylesheets than the
7
+ * default. It was designed for clean inline code display, and uses DHTMl to
8
+ * toggle the visbility of each method's source with each click on the '[source]'
9
+ * link.
10
+ *
11
+ * == Authors
12
+ *
13
+ * * Michael Granger <ged@FaerieMUD.org>
14
+ *
15
+ * Copyright (c) 2002, 2003 The FaerieMUD Consortium. Some rights reserved.
16
+ *
17
+ * This work is licensed under the Creative Commons Attribution License. To view
18
+ * a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or
19
+ * send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California
20
+ * 94305, USA.
21
+ *
22
+ *
23
+ * Modified by Christopher Kleckner
24
+ * Copyright (c) 2005,2006,2007. Some rights reserved.
25
+ * Licensed under the same terms as the original.
26
+ */
27
+
28
+ body {
29
+ font-family: Verdana,Arial,Helvetica,sans-serif;
30
+ font-size: 90%;
31
+ margin: 0;
32
+ margin-left: 0px;
33
+ padding: 0;
34
+ background: white;
35
+ }
36
+
37
+ h1,h2,h3,h4 { margin: 0; color: #8b4726; background: transparent; }
38
+ h1 { font-size: 150%; }
39
+ h2 { font-size: 140%; }
40
+ h3 { font-size: 130%; }
41
+ h4 { font-size: 120%; }
42
+ h2,h3,h4 { margin-top: 1em; }
43
+
44
+ a {
45
+ background: transparent;
46
+ color: #8b4500;
47
+ text-decoration: none;
48
+ }
49
+ a:hover {
50
+ color: #ffa500;
51
+ background: #8b4500;
52
+ }
53
+
54
+ /* Override the base stylesheet's Anchor inside a table cell */
55
+ td > a {
56
+ background: transparent;
57
+ color: #099;
58
+ text-decoration: none;
59
+ }
60
+
61
+ small {
62
+ font-size: 0.7em;
63
+ }
64
+ /* and inside a section title */
65
+ .section-title > a {
66
+ background: transparent;
67
+ color: #8b4500;
68
+ text-decoration: none;
69
+ }
70
+
71
+ /* === Structural elements =================================== */
72
+
73
+ div#index {
74
+ margin: 0;
75
+ margin-left: 0px;
76
+ padding: 0;
77
+ font-size: 90%;
78
+ background: #ffdead;
79
+ }
80
+
81
+
82
+ div#index a {
83
+ margin-left: 0.7em;
84
+ }
85
+ div#index-entries a {
86
+ background: transparent;
87
+ margin-left: 0.7em;
88
+ color: #8b4500;
89
+ }
90
+ div#index-entries a:hover {
91
+ background: transparent;
92
+ margin-left: 0.7em;
93
+ /* color: #ffdead; */
94
+ color: #ffdead;
95
+ background: #8b4500;
96
+ /*background: #ffdead;*/
97
+ }
98
+ .name-list a {
99
+ margin-left: 0.7em;
100
+ background: #ffdead;
101
+ color: #8b4500;
102
+ }
103
+ .name-list a:hover {
104
+ margin-left: 0.7em;
105
+ color: #ffdead;
106
+ background: #8b4500;
107
+ }
108
+ .section-bar {
109
+ color: #555;
110
+ /* background: #8b4500; */
111
+
112
+ border-bottom: 1px solid #999;
113
+ margin-left: 0px;
114
+ }
115
+
116
+ div#index .section-bar {
117
+ margin-left: 0px;
118
+ padding-left: 0.7em;
119
+ background: #8b4500;
120
+ color: #ffdead;
121
+ font-size: small;
122
+ }
123
+
124
+
125
+ .section-title {
126
+ /*background: #8b4500; */
127
+ background: #ffdead;
128
+ color: #eee;
129
+ padding: 3px;
130
+ margin-top: 2em;
131
+ margin-left: 0px;
132
+ border: 1px solid #999;
133
+ }
134
+
135
+ div#classHeader, div#fileHeader {
136
+ width: auto;
137
+ color: white;
138
+ padding: 0.5em 1.5em 0.5em 1.5em;
139
+ margin: 0;
140
+ margin-left: 0px;
141
+ border-bottom: 3px solid #006;
142
+ }
143
+
144
+ div#classHeader a, div#fileHeader a {
145
+ background: inherit;
146
+ color: white;
147
+ }
148
+
149
+ div#classHeader td, div#fileHeader td {
150
+ background: inherit;
151
+ color: white;
152
+ }
153
+
154
+
155
+ div#fileHeader {
156
+ background: #8b4500;
157
+
158
+ }
159
+ #fileHeader h1,#fileHeader h2,#fileHeader h3,#fileHeader h4 {
160
+ margin: 0;
161
+ color: #ffdead;
162
+ }
163
+
164
+ div#classHeader {
165
+ background: #8b4500;
166
+ }
167
+ td.class-header-space-col {
168
+ width: 2em;
169
+ }
170
+
171
+
172
+ .class-mod {
173
+ font-size: 110%;
174
+ font-weight: bold;
175
+ font-family: monospace;
176
+ text-transform: lowercase;
177
+ text-align: bottom;
178
+
179
+ }
180
+ .class-name-in-header {
181
+ font-size: 150%;
182
+ font-weight: bold;
183
+ font-family: monospace;
184
+ }
185
+ .in-url {
186
+ font-size: 80%
187
+ }
188
+
189
+ div#bodyContent {
190
+ padding: 0 1.5em 0 1.5em;
191
+ }
192
+
193
+
194
+ div#description {
195
+ padding: 0.5em 1.5em;
196
+ /* background: #efefef; */
197
+ background: #ffdead;
198
+ border: 1px dotted #999;
199
+ }
200
+
201
+ div#description h1,h2,h3,h4,h5,h6 {
202
+ color: #8b4500;
203
+ background: transparent;
204
+ }
205
+
206
+ div#validator-badges {
207
+ text-align: center;
208
+ }
209
+ div#validator-badges img { border: 0; }
210
+
211
+ div#copyright {
212
+ color: #333;
213
+ background: #efefef;
214
+ font: 0.75em sans-serif;
215
+ margin-top: 5em;
216
+ margin-bottom: 0;
217
+ padding: 0.5em 2em;
218
+ }
219
+
220
+
221
+ /* === Classes =================================== */
222
+
223
+ table.header-table {
224
+ color: white;
225
+ font-size: small;
226
+ }
227
+
228
+ .type-note {
229
+ font-size: small;
230
+ color: #DEDEDE;
231
+ }
232
+
233
+ .xxsection-bar {
234
+ background: #eee;
235
+ color: #333;
236
+ padding: 3px;
237
+ }
238
+
239
+
240
+
241
+ .section-title {
242
+ background: #79a;
243
+ color: #eee;
244
+ padding: 3px;
245
+ margin-top: 2em;
246
+ margin-left: 0px;
247
+ border: 1px solid #999;
248
+ }
249
+
250
+ .top-aligned-row { vertical-align: top }
251
+ .bottom-aligned-row { vertical-align: bottom }
252
+
253
+ span.include-name {
254
+ font-size: small;
255
+ }
256
+ .include-name a {
257
+ font-weight: bold;
258
+ }
259
+ ul.includes-ul {
260
+ list-style-type: none;
261
+ padding-left: 1em;
262
+ }
263
+
264
+
265
+ /* --- Context section classes ----------------------- */
266
+
267
+ .context-row { }
268
+ .context-item-name { font-family: monospace; font-weight: bold; color: black; }
269
+ .context-item-value { font-size: small; color: #448; }
270
+ .context-item-desc { color: #333; padding-left: 2em; }
271
+
272
+ /* --- Method classes -------------------------- */
273
+ .method-detail {
274
+ background: #ffdead;
275
+ padding: 0;
276
+ margin-top: 0.5em;
277
+ margin-bottom: 1em;
278
+ border: 1px dotted #ccc;
279
+ }
280
+ .method-heading {
281
+ font-family: monospace;
282
+ font-weight: bold;
283
+ font-size: 130%;
284
+ color: #191970;
285
+ /* background: #b0c4de; */
286
+ background: #ffa07a;
287
+ border-bottom: 1px solid #666;
288
+ padding: 0.2em 0.5em 0 0.5em;
289
+ }
290
+ .method-heading a {
291
+ text-decoration: none;
292
+ }
293
+ .method-heading a:hover {
294
+ text-decoration: underline;
295
+ background: inherit;
296
+ color: inherit;
297
+ }
298
+ .method-signature { color: black; background: inherit; }
299
+ .method-name { font-weight: bold; }
300
+ .method-args { font-style: italic; }
301
+
302
+ .method-description { padding: 0 0.5em 0 0.5em; }
303
+ pre.method-description
304
+ {
305
+ padding: 0 0.5em 0 0.5em;
306
+ color: #ee2222;
307
+ }
308
+
309
+ #description pre
310
+ {
311
+ padding: 0.2em 0 0.2em 0;
312
+ margin: 0.3em 0 0.3em 0;
313
+ background: #fff8dc;
314
+ /* background: #ffffff; */
315
+ border-left: 3px solid #8b6508;
316
+ border-bottom: 1px solid #8b6508;
317
+ border-top: 1px solid #8b6508;
318
+ }
319
+
320
+ .method-description pre
321
+ {
322
+ padding: 0.2em 0 0.2em 0;
323
+ margin: 0.3em 0 0.3em 0;
324
+ background: #fff8dc;
325
+ /* background: #ffffff; */
326
+ border-left: 3px solid #8b6508;
327
+ border-bottom: 1px solid #8b6508;
328
+ border-top: 1px solid #8b6508;
329
+ }
330
+
331
+
332
+ #description h1 {
333
+ color: #8b4500;
334
+ margin: 0.5em 0 0.2em 0;
335
+ /*border: 1px solid red;*/
336
+ }
337
+ #description h2 {
338
+ color: #8b4500;
339
+ margin: 0.5em 0 0.2em 0;
340
+ /*border: 1px solid red;*/
341
+ }
342
+ #description h3 {
343
+ color: #8b4500;
344
+ margin: 0.5em 0 0.2em 0;
345
+ /*border: 1px solid red;*/
346
+ }
347
+ #description h4 {
348
+ color: #8b4500;
349
+ margin: 0.5em 0 0.2em 0;
350
+ /*border: 1px solid red;*/
351
+ }
352
+ #description p {
353
+ margin: 0.5em 0 0.2em 0;
354
+ /*border: 1px solid red;*/
355
+ }
356
+ #description ul {
357
+ margin: 0.2em 0 0.5em 0;
358
+ /* border: 1px solid red; */
359
+ }
360
+ #description a {
361
+ background: #ffdead;
362
+ /* background: #eef; */
363
+ color: #8b4500;
364
+ text-decoration: none;
365
+ }
366
+ #description a:hover { text-decoration: underline; }
367
+ .method-description a {
368
+ background: #ffdead;
369
+ /* background: #eef; */
370
+ color: #8b4500;
371
+ text-decoration: none;
372
+ }
373
+ .method-description a:hover { text-decoration: underline; }
374
+
375
+ .method-description table
376
+ {
377
+ border-top: 1px solid brown;
378
+ border-bottom: 1px solid brown;
379
+ margin: 0.4em 2em 0.4em 2em;
380
+ }
381
+ .method-description li
382
+ {
383
+ padding: 0 0 0 0;
384
+ margin: 0 0 0 0;
385
+
386
+ }
387
+ .method-description p {
388
+ margin: 0.5em 0 0.2em 0;
389
+ /* border: 1px solid red; */
390
+ }
391
+ .method-description tt {
392
+ margin: 0.5em 0 0.2em 0;
393
+ font-weight: bold;
394
+ color: #000044;
395
+ }
396
+ .method-description ul {
397
+ margin: 0.2em 0 0.5em 0;
398
+ /* border: 1px solid red; */
399
+ }
400
+
401
+
402
+ /* --- Source code sections -------------------- */
403
+
404
+ a.source-toggle { font-size: 90%; }
405
+ div.method-source-code {
406
+ background: #262626;
407
+ color: #ffdead;
408
+ margin: 1em;
409
+ padding: 0.5em;
410
+ border: 1px dashed #999;
411
+ overflow: hidden;
412
+ }
413
+
414
+ div.method-source-code pre { color: #ffdead; overflow: hidden; }
415
+
416
+ /* --- Ruby keyword styles --------------------- */
417
+
418
+ .standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
419
+
420
+ .ruby-constant { color: #7fffd4; background: transparent; }
421
+ .ruby-keyword { color: #00ffff; background: transparent; }
422
+ .ruby-ivar { color: #eedd82; background: transparent; }
423
+ .ruby-operator { color: #00ffee; background: transparent; }
424
+ .ruby-identifier { color: #ffdead; background: transparent; }
425
+ .ruby-node { color: #ffa07a; background: transparent; }
426
+ .ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
427
+ .ruby-regexp { color: #ffa07a; background: transparent; }
428
+ .ruby-value { color: #7fffd4; background: transparent; }
@@ -20,400 +20,17 @@
20
20
  #
21
21
 
22
22
  # Modified by Christopher Kleckner
23
- # Copyright (c) 2005,2006. Some rights reserved.
23
+ # Copyright (c) 2005,2006,2007. Some rights reserved.
24
24
  # Licensed under the same terms as the original.
25
25
 
26
+ require 'doc/generators/template/html/ugly.rb'
26
27
 
27
28
  module RDoc
28
29
  module Page
29
30
 
30
31
  FONTS = "Verdana,Arial,Helvetica,sans-serif"
31
32
 
32
- STYLE = %{
33
- body {
34
- font-family: Verdana,Arial,Helvetica,sans-serif;
35
- font-size: 90%;
36
- margin: 0;
37
- margin-left: 40px;
38
- padding: 0;
39
- background: white;
40
- }
41
-
42
- h1,h2,h3,h4 { margin: 0; color: #8b4726; background: transparent; }
43
- h1 { font-size: 150%; }
44
- h2 { font-size: 140%; }
45
- h3 { font-size: 130%; }
46
- h4 { font-size: 120%; }
47
- h2,h3,h4 { margin-top: 1em; }
48
-
49
- a {
50
- background: transparent;
51
- color: #8b4500;
52
- text-decoration: none;
53
- }
54
- a:hover {
55
- color: #ffa500;
56
- background: #8b4500;
57
- }
58
-
59
- /* Override the base stylesheet's Anchor inside a table cell */
60
- td > a {
61
- background: transparent;
62
- color: #099;
63
- text-decoration: none;
64
- }
65
-
66
- small {
67
- font-size: 0.7em;
68
- }
69
- /* and inside a section title */
70
- .section-title > a {
71
- background: transparent;
72
- color: #8b4500;
73
- text-decoration: none;
74
- }
75
-
76
- /* === Structural elements =================================== */
77
-
78
- div#index {
79
- margin: 0;
80
- margin-left: -40px;
81
- padding: 0;
82
- font-size: 90%;
83
- background: #ffdead;
84
- }
85
-
86
-
87
- div#index a {
88
- margin-left: 0.7em;
89
- }
90
- div#index-entries a {
91
- background: transparent;
92
- margin-left: 0.7em;
93
- color: #8b4500;
94
- }
95
- div#index-entries a:hover {
96
- background: transparent;
97
- margin-left: 0.7em;
98
- /* color: #ffdead; */
99
- color: #ffdead;
100
- background: #8b4500;
101
- /*background: #ffdead;*/
102
- }
103
- .name-list a {
104
- margin-left: 0.7em;
105
- background: #ffdead;
106
- color: #8b4500;
107
- }
108
- .name-list a:hover {
109
- margin-left: 0.7em;
110
- color: #ffdead;
111
- background: #8b4500;
112
- }
113
- .section-bar {
114
- color: #555;
115
- /* background: #8b4500; */
116
-
117
- border-bottom: 1px solid #999;
118
- margin-left: -20px;
119
- }
120
-
121
- div#index .section-bar {
122
- margin-left: 0px;
123
- padding-left: 0.7em;
124
- background: #8b4500;
125
- color: #ffdead;
126
- font-size: small;
127
- }
128
-
129
-
130
- .section-title {
131
- /*background: #8b4500; */
132
- background: #ffdead;
133
- color: #eee;
134
- padding: 3px;
135
- margin-top: 2em;
136
- margin-left: -30px;
137
- border: 1px solid #999;
138
- }
139
-
140
- div#classHeader, div#fileHeader {
141
- width: auto;
142
- color: white;
143
- padding: 0.5em 1.5em 0.5em 1.5em;
144
- margin: 0;
145
- margin-left: -40px;
146
- border-bottom: 3px solid #006;
147
- }
148
-
149
- div#classHeader a, div#fileHeader a {
150
- background: inherit;
151
- color: white;
152
- }
153
-
154
- div#classHeader td, div#fileHeader td {
155
- background: inherit;
156
- color: white;
157
- }
158
-
159
-
160
- div#fileHeader {
161
- background: #8b4500;
162
-
163
- }
164
- #fileHeader h1,#fileHeader h2,#fileHeader h3,#fileHeader h4 {
165
- margin: 0;
166
- color: #ffdead;
167
- }
168
-
169
- div#classHeader {
170
- background: #8b4500;
171
- }
172
- td.class-header-space-col {
173
- width: 2em;
174
- }
175
-
176
-
177
- .class-mod {
178
- font-size: 110%;
179
- font-weight: bold;
180
- font-family: monospace;
181
- text-transform: lowercase;
182
- text-align: bottom;
183
-
184
- }
185
- .class-name-in-header {
186
- font-size: 150%;
187
- font-weight: bold;
188
- font-family: monospace;
189
- }
190
- .in-url {
191
- font-size: 80%
192
- }
193
-
194
- div#bodyContent {
195
- padding: 0 1.5em 0 1.5em;
196
- }
197
-
198
-
199
- div#description {
200
- padding: 0.5em 1.5em;
201
- /* background: #efefef; */
202
- background: #ffdead;
203
- border: 1px dotted #999;
204
- }
205
-
206
- div#description h1,h2,h3,h4,h5,h6 {
207
- color: #8b4500;
208
- background: transparent;
209
- }
210
-
211
- div#validator-badges {
212
- text-align: center;
213
- }
214
- div#validator-badges img { border: 0; }
215
-
216
- div#copyright {
217
- color: #333;
218
- background: #efefef;
219
- font: 0.75em sans-serif;
220
- margin-top: 5em;
221
- margin-bottom: 0;
222
- padding: 0.5em 2em;
223
- }
224
-
225
-
226
- /* === Classes =================================== */
227
-
228
- table.header-table {
229
- color: white;
230
- font-size: small;
231
- }
232
-
233
- .type-note {
234
- font-size: small;
235
- color: #DEDEDE;
236
- }
237
-
238
- .xxsection-bar {
239
- background: #eee;
240
- color: #333;
241
- padding: 3px;
242
- }
243
-
244
-
245
-
246
- .section-title {
247
- background: #79a;
248
- color: #eee;
249
- padding: 3px;
250
- margin-top: 2em;
251
- margin-left: -30px;
252
- border: 1px solid #999;
253
- }
254
-
255
- .top-aligned-row { vertical-align: top }
256
- .bottom-aligned-row { vertical-align: bottom }
257
-
258
- /* --- Context section classes ----------------------- */
259
-
260
- .context-row { }
261
- .context-item-name { font-family: monospace; font-weight: bold; color: black; }
262
- .context-item-value { font-size: small; color: #448; }
263
- .context-item-desc { color: #333; padding-left: 2em; }
264
-
265
- /* --- Method classes -------------------------- */
266
- .method-detail {
267
- background: #ffdead;
268
- padding: 0;
269
- margin-top: 0.5em;
270
- margin-bottom: 1em;
271
- border: 1px dotted #ccc;
272
- }
273
- .method-heading {
274
- font-family: monospace;
275
- font-weight: bold;
276
- font-size: 130%;
277
- color: #191970;
278
- /* background: #b0c4de; */
279
- background: #ffa07a;
280
- border-bottom: 1px solid #666;
281
- padding: 0.2em 0.5em 0 0.5em;
282
- }
283
- .method-heading a {
284
- text-decoration: none;
285
- }
286
- .method-heading a:hover {
287
- text-decoration: underline;
288
- background: inherit;
289
- color: inherit;
290
- }
291
- .method-signature { color: black; background: inherit; }
292
- .method-name { font-weight: bold; }
293
- .method-args { font-style: italic; }
294
-
295
- .method-description { padding: 0 0.5em 0 0.5em; }
296
- pre.method-description
297
- {
298
- padding: 0 0.5em 0 0.5em;
299
- color: #ee2222;
300
-
301
- }
302
- #description pre
303
- {
304
- padding: 0.2em 0 0.2em 0;
305
- margin: 0.3em 0 0.3em 0;
306
- background: #fff8dc;
307
- border-left: 2px solid #8b6508;
308
- /* border-bottom: 1px solid #8b6508; */
309
- /* border-top: 1px solid #8b6508; */
310
- }
311
- #description h1 {
312
- color: #8b4500;
313
- margin: 0.5em 0 0.2em 0;
314
- /*border: 1px solid red;*/
315
- }
316
- #description h2 {
317
- color: #8b4500;
318
- margin: 0.5em 0 0.2em 0;
319
- /*border: 1px solid red;*/
320
- }
321
- #description h3 {
322
- color: #8b4500;
323
- margin: 0.5em 0 0.2em 0;
324
- /*border: 1px solid red;*/
325
- }
326
- #description h4 {
327
- color: #8b4500;
328
- margin: 0.5em 0 0.2em 0;
329
- /*border: 1px solid red;*/
330
- }
331
- #description p {
332
- margin: 0.5em 0 0.2em 0;
333
- /*border: 1px solid red;*/
334
- }
335
- #description ul {
336
- margin: 0.2em 0 0.5em 0;
337
- /* border: 1px solid red; */
338
- }
339
- #description a {
340
- background: #ffdead;
341
- /* background: #eef; */
342
- color: #8b4500;
343
- text-decoration: none;
344
- }
345
- #description a:hover { text-decoration: underline; }
346
- .method-description a {
347
- background: #ffdead;
348
- /* background: #eef; */
349
- color: #8b4500;
350
- text-decoration: none;
351
- }
352
- .method-description a:hover { text-decoration: underline; }
353
-
354
- .method-description pre
355
- {
356
- padding: 0.2em 0 0.2em 0;
357
- margin: 0.3em 0 0.3em 0;
358
- background: #fff8dc;
359
- border-left: 2px solid #8b6508;
360
- }
361
-
362
- .method-description table
363
- {
364
- border-top: 1px solid brown;
365
- border-bottom: 1px solid brown;
366
- margin: 0.4em 2em 0.4em 2em;
367
- }
368
- .method-description li
369
- {
370
- padding: 0 0 0 0;
371
- margin: 0 0 0 0;
372
-
373
- }
374
- .method-description p {
375
- margin: 0.5em 0 0.2em 0;
376
- /* border: 1px solid red; */
377
- }
378
- .method-description tt {
379
- margin: 0.5em 0 0.2em 0;
380
- font-weight: bold;
381
- color: navy;
382
- }
383
- .method-description ul {
384
- margin: 0.2em 0 0.5em 0;
385
- /* border: 1px solid red; */
386
- }
387
-
388
-
389
- /* --- Source code sections -------------------- */
390
-
391
- a.source-toggle { font-size: 90%; }
392
- div.method-source-code {
393
- background: #262626;
394
- color: #ffdead;
395
- margin: 1em;
396
- padding: 0.5em;
397
- border: 1px dashed #999;
398
- overflow: hidden;
399
- }
400
-
401
- div.method-source-code pre { color: #ffdead; overflow: hidden; }
402
-
403
- /* --- Ruby keyword styles --------------------- */
404
-
405
- .standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
406
-
407
- .ruby-constant { color: #7fffd4; background: transparent; }
408
- .ruby-keyword { color: #00ffff; background: transparent; }
409
- .ruby-ivar { color: #eedd82; background: transparent; }
410
- .ruby-operator { color: #00ffee; background: transparent; }
411
- .ruby-identifier { color: #ffdead; background: transparent; }
412
- .ruby-node { color: #ffa07a; background: transparent; }
413
- .ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
414
- .ruby-regexp { color: #ffa07a; background: transparent; }
415
- .ruby-value { color: #7fffd4; background: transparent; }
416
- }
33
+ STYLE = IO.read('doc/generators/template/html/rio.css')
417
34
 
418
35
 
419
36
  #####################################################################
@@ -483,7 +100,7 @@ CONTEXT_CONTENT = %{
483
100
  #####################################################################
484
101
  FOOTER = %{
485
102
  <div id="validator-badges">
486
- <p><small>Copyright &copy; 2005, 2006 Christopher Kleckner. <a href="http://www.gnu.org/licenses/gpl.html">All rights reserved</a>.</small></p>
103
+ <p><small>Copyright &copy; 2005,2006,2007 Christopher Kleckner. <a href="http://www.gnu.org/licenses/gpl.html">All rights reserved</a>.</small></p>
487
104
  </div>
488
105
 
489
106
  </body>
@@ -617,7 +234,6 @@ END:methods
617
234
  </div>
618
235
  ENDIF:methods
619
236
 
620
- </div>
621
237
 
622
238
 
623
239
  <!-- if includes -->
@@ -626,9 +242,13 @@ IF:includes
626
242
  <h3 class="section-bar">Included Modules</h3>
627
243
 
628
244
  <div id="includes-list">
245
+ <ul class="includes-ul">
629
246
  START:includes
630
- <span class="include-name">HREF:aref:name:</span>
247
+ <li class="include-li">
248
+ <span class="include-name">HREF:aref:name:</span>
249
+ </li>
631
250
  END:includes
251
+ </ul>
632
252
  </div>
633
253
  </div>
634
254
  ENDIF:includes
@@ -780,6 +400,7 @@ END:method_list
780
400
  </div>
781
401
  ENDIF:method_list
782
402
  END:sections
403
+ </div>
783
404
  }
784
405
  #def mlist(*args)
785
406
  #p(args)
@@ -875,6 +496,14 @@ INDEX = %{<?xml version="1.0" encoding="%charset%"?>
875
496
  <head>
876
497
  <title>%title%</title>
877
498
  <meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
499
+ <meta name="Description" content="Rio is a Ruby I/O convenience class wrapping
500
+ much of the functionality
501
+ of IO, File and Dir. Rio also uses FileUtils, Tempfile, StringIO,
502
+ OpenURI, Net::FTP, Zlib, and CSV to provide similar functionality
503
+ using a simple consistent interface. In addition to forwarding the
504
+ interfaces provided by IO, File, and Dir to an appropriate object, Rio
505
+ provides a 'grande' interface that allows many common application
506
+ level I/O and file-system tasks to be expressed succinctly."/>
878
507
  </head>
879
508
  <frameset rows="20%, 80%">
880
509
  <frameset cols="25%,35%,45%">