rdoc 6.7.0 → 6.8.0

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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/ExampleMarkdown.md +2 -0
  3. data/ExampleRDoc.rdoc +2 -0
  4. data/History.rdoc +64 -62
  5. data/LICENSE.rdoc +2 -0
  6. data/README.rdoc +13 -0
  7. data/RI.md +842 -0
  8. data/TODO.rdoc +8 -7
  9. data/lib/rdoc/{alias.rb → code_object/alias.rb} +1 -1
  10. data/lib/rdoc/{class_module.rb → code_object/class_module.rb} +54 -0
  11. data/lib/rdoc/{method_attr.rb → code_object/method_attr.rb} +3 -3
  12. data/lib/rdoc/{top_level.rb → code_object/top_level.rb} +4 -4
  13. data/lib/rdoc/code_object.rb +6 -0
  14. data/lib/rdoc/generator/darkfish.rb +45 -3
  15. data/lib/rdoc/generator/pot/message_extractor.rb +1 -1
  16. data/lib/rdoc/generator/pot/po_entry.rb +1 -1
  17. data/lib/rdoc/generator/template/darkfish/_head.rhtml +23 -0
  18. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +20 -11
  19. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +3 -8
  20. data/lib/rdoc/generator/template/darkfish/class.rhtml +69 -43
  21. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +367 -392
  22. data/lib/rdoc/generator/template/darkfish/index.rhtml +7 -6
  23. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +18 -1
  24. data/lib/rdoc/generator/template/darkfish/page.rhtml +5 -5
  25. data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +10 -8
  26. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +5 -2
  27. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +11 -0
  28. data/lib/rdoc/markdown.kpeg +1 -1
  29. data/lib/rdoc/markdown.rb +21 -11
  30. data/lib/rdoc/markup/attribute_manager.rb +2 -2
  31. data/lib/rdoc/markup/pre_process.rb +9 -6
  32. data/lib/rdoc/markup/to_bs.rb +1 -1
  33. data/lib/rdoc/markup/to_rdoc.rb +4 -4
  34. data/lib/rdoc/markup.rb +18 -13
  35. data/lib/rdoc/options.rb +22 -5
  36. data/lib/rdoc/parser/c.rb +1 -1
  37. data/lib/rdoc/parser/changelog.rb +2 -2
  38. data/lib/rdoc/parser/ripper_state_lex.rb +7 -305
  39. data/lib/rdoc/parser/ruby.rb +15 -6
  40. data/lib/rdoc/parser.rb +2 -1
  41. data/lib/rdoc/rd/block_parser.rb +3 -3
  42. data/lib/rdoc/rd/inline_parser.rb +3 -3
  43. data/lib/rdoc/rdoc.rb +3 -2
  44. data/lib/rdoc/ri/driver.rb +10 -6
  45. data/lib/rdoc/task.rb +2 -3
  46. data/lib/rdoc/tom_doc.rb +1 -7
  47. data/lib/rdoc/version.rb +1 -1
  48. data/lib/rdoc.rb +22 -22
  49. metadata +27 -24
  50. data/RI.rdoc +0 -57
  51. /data/lib/rdoc/{anon_class.rb → code_object/anon_class.rb} +0 -0
  52. /data/lib/rdoc/{any_method.rb → code_object/any_method.rb} +0 -0
  53. /data/lib/rdoc/{attr.rb → code_object/attr.rb} +0 -0
  54. /data/lib/rdoc/{constant.rb → code_object/constant.rb} +0 -0
  55. /data/lib/rdoc/{context → code_object/context}/section.rb +0 -0
  56. /data/lib/rdoc/{context.rb → code_object/context.rb} +0 -0
  57. /data/lib/rdoc/{extend.rb → code_object/extend.rb} +0 -0
  58. /data/lib/rdoc/{ghost_method.rb → code_object/ghost_method.rb} +0 -0
  59. /data/lib/rdoc/{include.rb → code_object/include.rb} +0 -0
  60. /data/lib/rdoc/{meta_method.rb → code_object/meta_method.rb} +0 -0
  61. /data/lib/rdoc/{mixin.rb → code_object/mixin.rb} +0 -0
  62. /data/lib/rdoc/{normal_class.rb → code_object/normal_class.rb} +0 -0
  63. /data/lib/rdoc/{normal_module.rb → code_object/normal_module.rb} +0 -0
  64. /data/lib/rdoc/{require.rb → code_object/require.rb} +0 -0
  65. /data/lib/rdoc/{single_class.rb → code_object/single_class.rb} +0 -0
@@ -1,5 +1,5 @@
1
1
  /*
2
- * "Darkfish" Rdoc CSS
2
+ * "Darkfish" RDoc CSS
3
3
  * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $
4
4
  *
5
5
  * Author: Michael Granger <ged@FaerieMUD.org>
@@ -7,26 +7,45 @@
7
7
  */
8
8
 
9
9
  /* vim: ft=css et sw=2 ts=2 sts=2 */
10
- /* Base Green is: #6C8C22 */
11
-
12
- .hide { display: none !important; }
13
-
14
- * { padding: 0; margin: 0; }
15
10
 
11
+ /* 1. Variables and Root Styles */
12
+ :root {
13
+ --sidebar-width: 300px;
14
+ --highlight-color: #cc342d; /* Reddish color for accents and headings */
15
+ --secondary-highlight-color: #c83045; /* Darker reddish color for secondary highlights */
16
+ --text-color: #505050; /* Dark bluish-grey for text */
17
+ --background-color: #fefefe; /* Near white background */
18
+ --code-block-background-color: #f6f6f3; /* Slightly darker grey for code blocks */
19
+ --link-color: #42405F; /* Dark bluish-grey for links */
20
+ --link-hover-color: var(--highlight-color); /* Reddish color on hover */
21
+ --border-color: #e0e0e0;; /* General border color */
22
+ --source-code-toggle-color: var(--secondary-highlight-color);
23
+ --scrollbar-thumb-hover-background: #505050; /* Hover color for scrollbar thumb */
24
+ --table-header-background-color: #eceaed;
25
+ --table-td-background-color: #f5f4f6;
26
+
27
+ /* Font family variables */
28
+ --font-primary: 'Segoe UI', 'Verdana', 'Arial', sans-serif;
29
+ --font-heading: 'Helvetica', 'Arial', sans-serif;
30
+ --font-code: monospace;
31
+ }
32
+
33
+ /* 2. Global Styles */
16
34
  body {
17
- background: #fafafa;
18
- font-family: Lato, sans-serif;
19
- font-weight: 300;
35
+ background: var(--background-color);
36
+ font-family: var(--font-primary);
37
+ font-weight: 400;
38
+ color: var(--text-color);
39
+ line-height: 1.6;
20
40
 
21
41
  /* Layout */
22
- display: grid;
23
- grid-template-columns: auto 1fr;
24
- }
25
-
26
- body > :last-child {
27
- grid-column: 1 / 3;
42
+ display: flex;
43
+ flex-direction: column;
44
+ min-height: 100vh;
45
+ margin: 0;
28
46
  }
29
47
 
48
+ /* 3. Typography */
30
49
  h1 span,
31
50
  h2 span,
32
51
  h3 span,
@@ -65,39 +84,50 @@ h4:target,
65
84
  h5:target,
66
85
  h6:target {
67
86
  margin-left: -10px;
68
- border-left: 10px solid #f1edba;
87
+ border-left: 10px solid var(--border-color);
88
+ scroll-margin-top: 1rem;
69
89
  }
70
90
 
71
- :link,
72
- :visited {
73
- color: #6C8C22;
74
- text-decoration: none;
91
+ main .anchor-link:target {
92
+ scroll-margin-top: 1rem;
75
93
  }
76
94
 
77
- :link:hover,
78
- :visited:hover {
79
- border-bottom: 1px dotted #6C8C22;
95
+ /* 4. Links */
96
+ a {
97
+ color: var(--link-color);
98
+ transition: color 0.3s ease;
80
99
  }
81
100
 
82
- code,
83
- pre {
84
- font-family: "Source Code Pro", Monaco, monospace;
85
- background-color: rgba(27,31,35,0.05);
86
- padding: 0em 0.2em;
87
- border-radius: 0.2em;
101
+ a:hover {
102
+ color: var(--link-hover-color);
88
103
  }
89
104
 
90
- em {
91
- text-decoration-color: rgba(52, 48, 64, 0.25);
92
- text-decoration-line: underline;
93
- text-decoration-style: dotted;
105
+ a code:hover {
106
+ color: var(--link-hover-color);
94
107
  }
95
108
 
96
- strong,
97
- em {
98
- background-color: rgba(158, 178, 255, 0.1);
109
+ /* 5. Code and Pre */
110
+ code,
111
+ pre {
112
+ font-family: var(--font-code);
113
+ background-color: var(--code-block-background-color);
114
+ border: 1px solid var(--border-color);
115
+ border-radius: 6px;
116
+ padding: 16px;
117
+ overflow-x: auto;
118
+ font-size: 15px;
119
+ line-height: 1.5;
120
+ margin: 1em 0;
99
121
  }
100
122
 
123
+ code {
124
+ background-color: var(--code-block-background-color);
125
+ padding: 0.1em 0.3em;
126
+ border-radius: 3px;
127
+ font-size: 85%;
128
+ }
129
+
130
+ /* Tables */
101
131
  table {
102
132
  margin: 0;
103
133
  border-spacing: 0;
@@ -106,349 +136,342 @@ table {
106
136
 
107
137
  table tr th, table tr td {
108
138
  padding: 0.2em 0.4em;
109
- border: 1px solid #ccc;
139
+ border: 1px solid var(--border-color);
110
140
  }
111
141
 
112
142
  table tr th {
113
- background-color: #eceaed;
143
+ background-color: var(--table-header-background-color);
114
144
  }
115
145
 
116
146
  table tr:nth-child(even) td {
117
- background-color: #f5f4f6;
147
+ background-color: var(--table-td-background-color);
118
148
  }
119
149
 
120
- /* @group Generic Classes */
121
-
122
- .initially-hidden {
150
+ /* 7. Navigation and Sidebar */
151
+ nav {
152
+ font-family: var(--font-heading);
153
+ font-size: 16px;
154
+ border-right: 1px solid var(--border-color);
155
+ position: fixed;
156
+ top: 0;
157
+ bottom: 0;
158
+ left: 0;
159
+ width: var(--sidebar-width);
160
+ background: var(--background-color); /* It needs an explicit background for toggling narrow screens */
161
+ overflow-y: auto;
162
+ z-index: 10;
163
+ display: flex;
164
+ flex-direction: column;
165
+ color: var(--text-color);
166
+ }
167
+
168
+ nav[hidden] {
123
169
  display: none;
124
170
  }
125
171
 
126
- #search-field {
127
- width: 98%;
128
- background: white;
129
- border: none;
130
- height: 1.5em;
131
- -webkit-border-radius: 4px;
132
- -moz-border-radius: 4px;
133
- border-radius: 4px;
134
- text-align: left;
135
- }
136
- #search-field:focus {
137
- background: #f1edba;
138
- }
139
- #search-field:-moz-placeholder,
140
- #search-field::-webkit-input-placeholder {
141
- font-weight: bold;
142
- color: #666;
172
+ nav footer {
173
+ padding: 1em;
174
+ border-top: 1px solid var(--border-color);
143
175
  }
144
176
 
145
- .missing-docs {
146
- font-size: 120%;
147
- background: white url(../images/wrench_orange.png) no-repeat 4px center;
148
- color: #ccc;
149
- line-height: 2em;
150
- border: 1px solid #d00;
151
- opacity: 1;
152
- padding-left: 20px;
153
- text-indent: 24px;
154
- letter-spacing: 3px;
155
- font-weight: bold;
156
- -webkit-border-radius: 5px;
157
- -moz-border-radius: 5px;
177
+ nav footer a {
178
+ color: var(--secondary-highlight-color);
158
179
  }
159
180
 
160
- .target-section {
161
- border: 2px solid #dcce90;
162
- border-left-width: 8px;
181
+ nav .nav-section {
182
+ margin-top: 1em;
163
183
  padding: 0 1em;
164
- background: #fff3c2;
165
184
  }
166
185
 
167
- /* @end */
168
-
169
- /* @group Index Page, Standalone file pages */
170
- .table-of-contents ul {
171
- margin: 1em;
172
- list-style: none;
186
+ nav h2, nav h3 {
187
+ margin: 0 0 0.5em;
188
+ padding: 0.5em 0;
189
+ color: var(--highlight-color);
190
+ border-bottom: 1px solid var(--border-color);
173
191
  }
174
192
 
175
- .table-of-contents ul ul {
176
- margin-top: 0.25em;
193
+ nav h2 {
194
+ font-size: 1.2em;
177
195
  }
178
196
 
179
- .table-of-contents ul :link,
180
- .table-of-contents ul :visited {
181
- font-size: 16px;
197
+ nav h3,
198
+ #table-of-contents-navigation {
199
+ font-size: 1em;
182
200
  }
183
201
 
184
- .table-of-contents li {
185
- margin-bottom: 0.25em;
202
+ nav ul,
203
+ nav dl,
204
+ nav p {
205
+ padding: 0;
206
+ list-style: none;
207
+ margin: 0.5em 0;
186
208
  }
187
209
 
188
- .table-of-contents li .toc-toggle {
189
- width: 16px;
190
- height: 16px;
191
- background: url(../images/add.png) no-repeat;
210
+ nav ul li {
211
+ margin-bottom: 0.3em;
192
212
  }
193
213
 
194
- .table-of-contents li .toc-toggle.open {
195
- background: url(../images/delete.png) no-repeat;
214
+ nav ul ul {
215
+ padding-left: 1em;
196
216
  }
197
217
 
198
- /* @end */
199
-
200
- /* @group Top-Level Structure */
201
-
202
- nav {
203
- font-family: Helvetica, sans-serif;
204
- font-size: 14px;
205
- border-right: 1px solid #ccc;
206
- position: sticky;
207
- top: 0;
208
- overflow: auto;
209
-
210
- /* Layout */
211
- width: 260px; /* fallback */
212
- width: max(50px, 20vw);
213
- min-width: 50px;
214
- max-width: 80vw;
215
- height: calc(100vh - 100px); /* reduce the footer height */
216
- resize: horizontal;
218
+ nav ul ul ul {
219
+ padding-left: 1em;
217
220
  }
218
221
 
219
- main {
220
- display: block;
221
- margin: 1em;
222
- min-width: 340px;
223
- font-size: 16px;
222
+ nav ul ul ul ul {
223
+ padding-left: 1em;
224
224
  }
225
225
 
226
- main h1,
227
- main h2,
228
- main h3,
229
- main h4,
230
- main h5,
231
- main h6 {
232
- font-family: Helvetica, sans-serif;
226
+ nav a {
227
+ color: var(--link-color);
228
+ text-decoration: none;
233
229
  }
234
230
 
235
- .table-of-contents main {
236
- margin-left: 2em;
231
+ nav a:hover {
232
+ color: var(--link-hover-color);
233
+ text-decoration: underline;
237
234
  }
238
235
 
239
- #validator-badges {
240
- margin: 1em 1em 2em;
241
- font-size: smaller;
236
+ #navigation-toggle {
237
+ z-index: 1000;
238
+ font-size: 2em;
239
+ display: block;
240
+ position: fixed;
241
+ top: 10px;
242
+ left: 20px;
243
+ cursor: pointer;
242
244
  }
243
245
 
244
- /* @end */
245
-
246
- /* @group navigation */
247
- nav {
248
- margin-bottom: 1em;
246
+ #navigation-toggle[aria-expanded="true"] {
247
+ top: 10px;
248
+ left: 250px;
249
249
  }
250
250
 
251
- nav .nav-section {
252
- margin-top: 2em;
253
- border-top: 2px solid #aaa;
254
- font-size: 90%;
255
- overflow: hidden;
251
+ nav ul li details {
252
+ position: relative;
253
+ padding-right: 1.5em; /* Add space for the marker on the right */
256
254
  }
257
255
 
258
- nav h2 {
259
- margin: 0;
260
- padding: 2px 8px 2px 8px;
261
- background-color: #e8e8e8;
262
- color: #555;
263
- font-size: 125%;
264
- text-align: center;
256
+ nav ul li details > summary {
257
+ list-style: none; /* Remove the default marker */
258
+ position: relative; /* So that the open/close triangle can position itself absolutely inside */
265
259
  }
266
260
 
267
- nav h3,
268
- #table-of-contents-navigation {
269
- margin: 0;
270
- padding: 2px 8px 2px 8px;
271
- text-align: right;
272
- background-color: #e8e8e8;
273
- color: #555;
261
+ nav ul li details > summary::-webkit-details-marker {
262
+ display: none; /* Removes the default marker, in Safari 18. */
274
263
  }
275
264
 
276
- nav ul,
277
- nav dl,
278
- nav p {
279
- padding: 4px 8px 0;
280
- list-style: none;
265
+ nav ul li details > summary::after {
266
+ content: '▶'; /* Unicode right-pointing triangle */
267
+ position: absolute;
268
+ font-size: 0.8em;
269
+ bottom: 0.1em;
270
+ margin-left: 0.3em;
271
+ transition: transform 0.2s ease;
281
272
  }
282
273
 
283
- #project-navigation .nav-section {
284
- margin: 0;
285
- border-top: 0;
274
+ nav ul li details[open] > summary::after {
275
+ transform: rotate(90deg); /* Rotate the triangle when open */
286
276
  }
287
277
 
288
- #home-section h2 {
289
- text-align: center;
278
+ /* 8. Main Content */
279
+ main {
280
+ flex: 1;
281
+ display: block;
282
+ margin: 3em auto;
283
+ padding: 0 2em;
284
+ max-width: 800px;
285
+ font-size: 16px;
286
+ line-height: 1.6;
287
+ color: var(--text-color);
288
+ box-sizing: border-box;
290
289
  }
291
290
 
292
- #table-of-contents-navigation {
293
- font-size: 1.2em;
294
- font-weight: bold;
295
- text-align: center;
291
+ @media (min-width: 1024px) {
292
+ main {
293
+ margin-left: var(--sidebar-width);
294
+ }
296
295
  }
297
296
 
298
- #search-section {
297
+ main h1[class] {
299
298
  margin-top: 0;
300
- border-top: 0;
299
+ margin-bottom: 1em;
300
+ font-size: 2.5em;
301
+ color: var(--highlight-color);
301
302
  }
302
303
 
303
- #search-field-wrapper {
304
- border-top: 1px solid #aaa;
305
- border-bottom: 1px solid #aaa;
306
- padding: 3px 8px;
307
- background-color: #e8e8e8;
308
- color: #555;
304
+ main h1,
305
+ main h2,
306
+ main h3,
307
+ main h4,
308
+ main h5,
309
+ main h6 {
310
+ font-family: var(--font-heading);
311
+ color: var(--highlight-color);
309
312
  }
310
313
 
311
- ul.link-list li {
312
- white-space: nowrap;
313
- line-height: 1.4em;
314
+ @media (min-width: 1024px) {
315
+ .table-of-contents main {
316
+ margin-left: 20em;
317
+ }
314
318
  }
315
319
 
316
- ul.link-list .type {
317
- font-size: 8px;
318
- text-transform: uppercase;
319
- color: white;
320
- background: #969696;
321
- padding: 2px 4px;
322
- -webkit-border-radius: 5px;
320
+ /* Search */
321
+ #search-section {
322
+ padding: 1em;
323
+ background-color: var(--background-color);
324
+ border-bottom: 1px solid var(--border-color);
323
325
  }
324
326
 
325
- dl.note-list dt {
326
- float: left;
327
- margin-right: 1em;
327
+ #search-field-wrapper {
328
+ position: relative;
329
+ display: flex;
330
+ align-items: center;
328
331
  }
329
332
 
330
- .calls-super {
331
- background: url(../images/arrow_up.png) no-repeat right center;
333
+ #search-field {
334
+ width: 100%;
335
+ padding: 0.5em 1em 0.5em 2.5em;
336
+ border: 1px solid var(--border-color);
337
+ border-radius: 20px;
338
+ font-size: 14px;
339
+ outline: none;
340
+ transition: border-color 0.3s ease;
341
+ color: var(--text-color);
332
342
  }
333
343
 
334
- .nav-section details > summary {
335
- display: block;
344
+ #search-field:focus {
345
+ border-color: var(--highlight-color);
336
346
  }
337
347
 
338
- .nav-section details > summary::-webkit-details-marker {
339
- display: none;
348
+ #search-field::placeholder {
349
+ color: var(--text-color);
340
350
  }
341
351
 
342
- .nav-section details > summary::before {
343
- content: "";
352
+ #search-field-wrapper::before {
353
+ content: "\1F50D";
354
+ position: absolute;
355
+ left: 0.75em;
356
+ top: 50%;
357
+ transform: translateY(-50%);
358
+ font-size: 14px;
359
+ color: var(--text-color);
360
+ opacity: 0.6;
344
361
  }
345
362
 
346
- .nav-section details > summary::after {
347
- content: "\25B6"; /* BLACK RIGHT-POINTING TRIANGLE */
348
- font-size: 0.8em;
349
- margin-left: 0.4em;
363
+ /* Search Results */
364
+ #search-results {
365
+ font-family: var(--font-primary);
366
+ font-weight: 300;
350
367
  }
351
368
 
352
- .nav-section details[open] > summary::after {
353
- content: "\25BD"; /* WHITE DOWN-POINTING TRIANGLE */
369
+ #search-results .search-match {
370
+ font-family: var(--font-heading);
371
+ font-weight: normal;
354
372
  }
355
373
 
356
- /* @end */
357
-
358
- /* @group Documentation Section */
359
- main {
360
- color: #333;
374
+ #search-results .search-selected {
375
+ background: var(--code-block-background-color);
376
+ border-bottom: 1px solid transparent;
361
377
  }
362
378
 
363
- main > h1:first-child,
364
- main > h2:first-child,
365
- main > h3:first-child,
366
- main > h4:first-child,
367
- main > h5:first-child,
368
- main > h6:first-child {
369
- margin-top: 0px;
379
+ #search-results li {
380
+ list-style: none;
381
+ border-bottom: 1px solid var(--border-color);
382
+ margin-bottom: 0.5em;
370
383
  }
371
384
 
372
- main sup {
373
- vertical-align: super;
374
- font-size: 0.8em;
385
+ #search-results li:last-child {
386
+ border-bottom: none;
387
+ margin-bottom: 0;
375
388
  }
376
389
 
377
- /* The heading with the class name */
378
- main h1[class] {
379
- margin-top: 0;
380
- margin-bottom: 1em;
381
- font-size: 2em;
382
- color: #6C8C22;
390
+ #search-results li p {
391
+ padding: 0;
392
+ margin: 0.5em;
383
393
  }
384
394
 
385
- main h1 {
386
- margin: 2em 0 0.5em;
387
- font-size: 1.7em;
395
+ #search-results .search-namespace {
396
+ font-weight: bold;
388
397
  }
389
398
 
390
- main h2 {
391
- margin: 2em 0 0.5em;
392
- font-size: 1.5em;
399
+ #search-results li em {
400
+ background-color: rgba(224, 108, 117, 0.1);
401
+ font-style: normal;
393
402
  }
394
403
 
395
- main h3 {
396
- margin: 2em 0 0.5em;
397
- font-size: 1.2em;
404
+ #search-results pre {
405
+ margin: 0.5em;
406
+ font-family: var(--font-code);
398
407
  }
399
408
 
400
- main h4 {
401
- margin: 2em 0 0.5em;
402
- font-size: 1.1em;
403
- }
409
+ /* Syntax Highlighting - Gruvbox Light Scheme */
404
410
 
405
- main h5 {
406
- margin: 2em 0 0.5em;
407
- font-size: 1em;
411
+ .ruby-constant { color: #AF3A03; } /* Dark Orange */
412
+ .ruby-keyword { color: #9D0006; } /* Dark Red */
413
+ .ruby-ivar { color: #B57614; } /* Brown */
414
+ .ruby-operator { color: #427B58; } /* Dark Teal */
415
+ .ruby-identifier { color: #076678; } /* Deep Teal */
416
+ .ruby-node { color: #8F3F71; } /* Plum */
417
+ .ruby-comment { color: #928374; font-style: italic; } /* Gray */
418
+ .ruby-regexp { color: #8F3F71; } /* Plum */
419
+ .ruby-value { color: #AF3A03; } /* Dark Orange */
420
+ .ruby-string { color: #79740E; } /* Olive */
421
+
422
+ /* Emphasis */
423
+ em {
424
+ text-decoration-color: rgba(52, 48, 64, 0.25);
425
+ text-decoration-line: underline;
426
+ text-decoration-style: dotted;
408
427
  }
409
428
 
410
- main h6 {
411
- margin: 2em 0 0.5em;
412
- font-size: 1em;
429
+ strong,
430
+ em {
431
+ color: var(--highlight-color);
432
+ background-color: rgba(255, 111, 97, 0.1); /* Light red background for emphasis */
413
433
  }
414
434
 
435
+ /* Paragraphs */
415
436
  main p {
416
- margin: 0 0 0.5em;
417
- line-height: 1.4em;
437
+ line-height: 1.5em;
438
+ font-weight: 400;
418
439
  }
419
440
 
441
+ /* Preformatted Text */
420
442
  main pre {
421
443
  margin: 1.2em 0.5em;
422
444
  padding: 1em;
423
445
  font-size: 0.8em;
424
446
  }
425
447
 
448
+ /* Horizontal Rules */
426
449
  main hr {
427
450
  margin: 1.5em 1em;
428
- border: 2px solid #ddd;
451
+ border: 2px solid var(--border-color);
429
452
  }
430
453
 
454
+ /* Blockquotes */
431
455
  main blockquote {
432
456
  margin: 0 2em 1.2em 1.2em;
433
457
  padding-left: 0.5em;
434
- border-left: 2px solid #ddd;
435
- }
436
-
437
- main ol,
438
- main ul {
439
- margin: 1em 2em;
458
+ border-left: 2px solid var(--border-color);
440
459
  }
441
460
 
461
+ /* Lists */
442
462
  main li > p {
443
- margin-bottom: 0.5em;
463
+ margin: 0.5em;
444
464
  }
445
465
 
466
+ /* Definition Lists */
446
467
  main dl {
447
468
  margin: 1em 0.5em;
448
469
  }
449
470
 
450
471
  main dt {
451
472
  margin-bottom: 0.5em;
473
+ margin-right: 1em;
474
+ float: left;
452
475
  font-weight: bold;
453
476
  }
454
477
 
@@ -456,79 +479,59 @@ main dd {
456
479
  margin: 0 1em 1em 0.5em;
457
480
  }
458
481
 
482
+ /* Headers within Main */
459
483
  main header h2 {
460
484
  margin-top: 2em;
461
485
  border-width: 0;
462
- border-top: 4px solid #bbb;
486
+ border-top: 4px solid var(--border-color);
463
487
  font-size: 130%;
464
488
  }
465
489
 
466
490
  main header h3 {
467
491
  margin: 2em 0 1.5em;
468
492
  border-width: 0;
469
- border-top: 3px solid #bbb;
493
+ border-top: 3px solid var(--border-color);
470
494
  font-size: 120%;
471
495
  }
472
496
 
473
- .documentation-section-title {
474
- position: relative;
475
- }
476
- .documentation-section-title .section-click-top {
477
- position: absolute;
478
- top: 6px;
479
- left: 12px;
480
- font-size: 10px;
481
- color: #9b9877;
482
- visibility: hidden;
483
- padding-left: 0.5px;
484
- }
485
-
486
- .documentation-section-title:hover .section-click-top {
487
- visibility: visible;
488
- }
489
-
490
- .constants-list > dl {
491
- margin: 1em 0 2em;
492
- border: 0;
493
- }
497
+ /* Utility Classes */
498
+ .hide { display: none !important; }
499
+ .initially-hidden { display: none; }
494
500
 
495
- .constants-list > dl dt {
496
- margin-bottom: 0.75em;
497
- padding-left: 0;
498
- font-family: "Source Code Pro", Monaco, monospace;
499
- font-size: 110%;
501
+ /* Media Queries */
502
+ @media (min-width: 1024px) {
503
+ /* Styles for larger screens */
504
+ .table-of-contents main {
505
+ margin-left: 20em;
506
+ }
500
507
  }
501
508
 
502
- .constants-list > dl dt a {
503
- color: inherit;
509
+ @media print {
510
+ /* Print-specific styles */
504
511
  }
505
512
 
506
- .constants-list > dl dd {
507
- margin: 0 0 2em 0;
508
- padding: 0;
509
- color: #666;
513
+ /* Table of Contents */
514
+ .table-of-contents ul {
515
+ margin: 1em;
516
+ list-style: none;
510
517
  }
511
518
 
512
- .documentation-section h2 {
513
- position: relative;
519
+ .table-of-contents ul ul {
520
+ margin-top: 0.25em;
514
521
  }
515
522
 
516
- .documentation-section h2 a {
517
- position: absolute;
518
- top: 8px;
519
- right: 10px;
520
- font-size: 12px;
521
- color: #9b9877;
522
- visibility: hidden;
523
+ .table-of-contents ul :link,
524
+ .table-of-contents ul :visited {
525
+ font-size: 16px;
523
526
  }
524
527
 
525
- .documentation-section h2:hover a {
526
- visibility: visible;
528
+ .table-of-contents li {
529
+ margin-bottom: 0.25em;
527
530
  }
528
531
 
529
- /* @group Method Details */
530
-
532
+ /* Method Details */
531
533
  main .method-source-code {
534
+ visibility: hidden;
532
535
  max-height: 0;
533
536
  overflow: auto;
534
537
  transition-duration: 200ms;
@@ -537,59 +540,63 @@ main .method-source-code {
537
540
  transition-timing-function: ease-in-out;
538
541
  }
539
542
 
543
+ main .method-source-code pre {
544
+ border-color: var(--source-code-toggle-color);
545
+ }
546
+
540
547
  main .method-source-code.active-menu {
548
+ visibility: visible;
541
549
  max-height: 100vh;
542
550
  }
543
551
 
544
552
  main .method-description .method-calls-super {
545
- color: #333;
553
+ color: var(--text-color);
546
554
  font-weight: bold;
547
555
  }
548
556
 
549
557
  main .method-detail {
550
558
  margin-bottom: 2.5em;
551
- cursor: pointer;
552
559
  }
553
560
 
554
561
  main .method-detail:target {
555
562
  margin-left: -10px;
556
- border-left: 10px solid #f1edba;
563
+ border-left: 10px solid var(--border-color);
564
+ }
565
+
566
+ main .method-header {
567
+ display: inline-block;
557
568
  }
558
569
 
559
570
  main .method-heading {
560
571
  position: relative;
561
- font-family: "Source Code Pro", Monaco, monospace;
572
+ font-family: var(--font-code);
562
573
  font-size: 110%;
563
574
  font-weight: bold;
564
- color: #333;
565
575
  }
566
- main .method-heading :link,
567
- main .method-heading :visited {
568
- color: inherit;
569
- }
570
- main .method-click-advice {
576
+
577
+ main .method-heading::after {
578
+ content: '¶';
571
579
  position: absolute;
572
- top: 2px;
573
- right: 5px;
574
- font-size: 12px;
575
- color: #9b9877;
576
580
  visibility: hidden;
577
- padding-right: 20px;
578
- line-height: 20px;
579
- background: url(../images/zoom.png) no-repeat right top;
581
+ color: var(--highlight-color);
582
+ font-size: 0.5em;
580
583
  }
581
- main .method-header:hover .method-click-advice {
584
+
585
+ main .method-heading:hover::after {
582
586
  visibility: visible;
583
587
  }
584
588
 
585
- main .method-alias .method-heading {
586
- color: #666;
589
+ main .method-controls {
590
+ line-height: 20px;
591
+ float: right;
592
+ color: var(--source-code-toggle-color);
593
+ cursor: pointer;
587
594
  }
588
595
 
589
596
  main .method-description,
590
597
  main .aliases {
591
598
  margin-top: 0.75em;
592
- color: #333;
599
+ color: var(--text-color);
593
600
  }
594
601
 
595
602
  main .aliases {
@@ -597,6 +604,17 @@ main .aliases {
597
604
  font-style: italic;
598
605
  cursor: default;
599
606
  }
607
+
608
+ main .aliases a {
609
+ color: var(--secondary-highlight-color);
610
+ }
611
+
612
+ main .mixin-from {
613
+ font-size: 80%;
614
+ font-style: italic;
615
+ margin-bottom: 0.75em;
616
+ }
617
+
600
618
  main .method-description ul {
601
619
  margin-left: 1.5em;
602
620
  }
@@ -605,83 +623,40 @@ main #attribute-method-details .method-detail:hover {
605
623
  background-color: transparent;
606
624
  cursor: default;
607
625
  }
626
+
608
627
  main .attribute-access-type {
609
628
  text-transform: uppercase;
610
- padding: 0 1em;
611
- }
612
- /* @end */
613
-
614
- /* @end */
615
-
616
- /* @group Source Code */
617
-
618
- pre {
619
- margin: 0.5em 0;
620
- border: 1px dashed #999;
621
- padding: 0.5em;
622
- background: #262626;
623
- color: white;
624
- overflow: auto;
625
- }
626
-
627
- .ruby-constant { color: #7fffd4; background: transparent; }
628
- .ruby-keyword { color: #00ffff; background: transparent; }
629
- .ruby-ivar { color: #eedd82; background: transparent; }
630
- .ruby-operator { color: #00ffee; background: transparent; }
631
- .ruby-identifier { color: #ffdead; background: transparent; }
632
- .ruby-node { color: #ffa07a; background: transparent; }
633
- .ruby-comment { color: #dc0000; background: transparent; }
634
- .ruby-regexp { color: #ffa07a; background: transparent; }
635
- .ruby-value { color: #7fffd4; background: transparent; }
636
-
637
- /* @end */
638
-
639
-
640
- /* @group search results */
641
- #search-results {
642
- font-family: Lato, sans-serif;
643
- font-weight: 300;
644
629
  }
645
630
 
646
- #search-results .search-match {
647
- font-family: Helvetica, sans-serif;
648
- font-weight: normal;
649
- }
631
+ /* Responsive Adjustments */
632
+ @media (max-width: 480px) {
633
+ nav {
634
+ width: 100%;
635
+ }
650
636
 
651
- #search-results .search-selected {
652
- background: #e8e8e8;
653
- border-bottom: 1px solid transparent;
654
- }
655
-
656
- #search-results li {
657
- list-style: none;
658
- border-bottom: 1px solid #aaa;
659
- margin-bottom: 0.5em;
660
- }
661
-
662
- #search-results li:last-child {
663
- border-bottom: none;
664
- margin-bottom: 0;
665
- }
637
+ main {
638
+ margin: 1em auto;
639
+ padding: 0 1em;
640
+ max-width: 100%;
641
+ }
666
642
 
667
- #search-results li p {
668
- padding: 0;
669
- margin: 0.5em;
670
- }
643
+ #navigation-toggle {
644
+ right: 10px;
645
+ left: auto;
646
+ }
671
647
 
672
- #search-results .search-namespace {
673
- font-weight: bold;
674
- }
648
+ #navigation-toggle[aria-expanded="true"] {
649
+ left: auto;
650
+ }
675
651
 
676
- #search-results li em {
677
- background: yellow;
678
- font-style: normal;
679
- }
652
+ table {
653
+ display: block;
654
+ overflow-x: auto;
655
+ white-space: nowrap;
656
+ }
680
657
 
681
- #search-results pre {
682
- margin: 0.5em;
683
- font-family: "Source Code Pro", Monaco, monospace;
658
+ main .method-controls {
659
+ margin-top: 10px;
660
+ float: none;
661
+ }
684
662
  }
685
-
686
- /* @end */
687
-