rdoc 6.7.0 → 6.8.0

Sign up to get free protection for your applications and to get access to all the features.
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
-