rdoc 6.7.0 → 6.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) 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} +68 -1
  11. data/lib/rdoc/{method_attr.rb → code_object/method_attr.rb} +17 -5
  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_classes.rhtml +1 -0
  19. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +20 -11
  20. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +3 -8
  21. data/lib/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +3 -0
  22. data/lib/rdoc/generator/template/darkfish/class.rhtml +69 -43
  23. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +380 -399
  24. data/lib/rdoc/generator/template/darkfish/index.rhtml +7 -6
  25. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +24 -1
  26. data/lib/rdoc/generator/template/darkfish/page.rhtml +5 -5
  27. data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +10 -8
  28. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +5 -2
  29. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +11 -0
  30. data/lib/rdoc/markdown.kpeg +1 -1
  31. data/lib/rdoc/markdown.rb +21 -11
  32. data/lib/rdoc/markup/attribute_manager.rb +2 -2
  33. data/lib/rdoc/markup/formatter.rb +19 -12
  34. data/lib/rdoc/markup/pre_process.rb +26 -6
  35. data/lib/rdoc/markup/to_bs.rb +1 -1
  36. data/lib/rdoc/markup/to_html.rb +1 -1
  37. data/lib/rdoc/markup/to_html_crossref.rb +63 -12
  38. data/lib/rdoc/markup/to_rdoc.rb +5 -5
  39. data/lib/rdoc/markup.rb +18 -13
  40. data/lib/rdoc/options.rb +78 -12
  41. data/lib/rdoc/parser/c.rb +25 -1
  42. data/lib/rdoc/parser/changelog.rb +2 -2
  43. data/lib/rdoc/parser/prism_ruby.rb +1028 -0
  44. data/lib/rdoc/parser/ripper_state_lex.rb +7 -305
  45. data/lib/rdoc/parser/ruby.rb +15 -6
  46. data/lib/rdoc/parser.rb +2 -1
  47. data/lib/rdoc/rd/block_parser.rb +3 -3
  48. data/lib/rdoc/rd/inline_parser.rb +3 -3
  49. data/lib/rdoc/rdoc.rb +6 -3
  50. data/lib/rdoc/ri/driver.rb +58 -14
  51. data/lib/rdoc/rubygems_hook.rb +90 -8
  52. data/lib/rdoc/store.rb +12 -0
  53. data/lib/rdoc/task.rb +2 -3
  54. data/lib/rdoc/tom_doc.rb +1 -7
  55. data/lib/rdoc/version.rb +1 -1
  56. data/lib/rdoc.rb +22 -24
  57. data/lib/rubygems_plugin.rb +23 -0
  58. metadata +27 -26
  59. data/RI.rdoc +0 -57
  60. data/lib/rdoc/generator/template/darkfish/.document +0 -0
  61. data/lib/rdoc/generator/template/json_index/.document +0 -1
  62. /data/lib/rdoc/{anon_class.rb → code_object/anon_class.rb} +0 -0
  63. /data/lib/rdoc/{any_method.rb → code_object/any_method.rb} +0 -0
  64. /data/lib/rdoc/{attr.rb → code_object/attr.rb} +0 -0
  65. /data/lib/rdoc/{constant.rb → code_object/constant.rb} +0 -0
  66. /data/lib/rdoc/{context → code_object/context}/section.rb +0 -0
  67. /data/lib/rdoc/{context.rb → code_object/context.rb} +0 -0
  68. /data/lib/rdoc/{extend.rb → code_object/extend.rb} +0 -0
  69. /data/lib/rdoc/{ghost_method.rb → code_object/ghost_method.rb} +0 -0
  70. /data/lib/rdoc/{include.rb → code_object/include.rb} +0 -0
  71. /data/lib/rdoc/{meta_method.rb → code_object/meta_method.rb} +0 -0
  72. /data/lib/rdoc/{mixin.rb → code_object/mixin.rb} +0 -0
  73. /data/lib/rdoc/{normal_class.rb → code_object/normal_class.rb} +0 -0
  74. /data/lib/rdoc/{normal_module.rb → code_object/normal_module.rb} +0 -0
  75. /data/lib/rdoc/{require.rb → code_object/require.rb} +0 -0
  76. /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,429 +136,408 @@ 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
+ }
295
+
296
+ .table-of-contents main {
297
+ margin-left: 20em;
298
+ }
299
+
300
+ #navigation-toggle {
301
+ display: none;
302
+ }
296
303
  }
297
304
 
298
- #search-section {
305
+ main h1[class] {
299
306
  margin-top: 0;
300
- border-top: 0;
307
+ margin-bottom: 1em;
308
+ font-size: 2.5em;
309
+ color: var(--highlight-color);
301
310
  }
302
311
 
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;
312
+ main h1,
313
+ main h2,
314
+ main h3,
315
+ main h4,
316
+ main h5,
317
+ main h6 {
318
+ font-family: var(--font-heading);
319
+ color: var(--highlight-color);
309
320
  }
310
321
 
311
- ul.link-list li {
312
- white-space: nowrap;
313
- line-height: 1.4em;
322
+ /* Search */
323
+ #search-section {
324
+ padding: 1em;
325
+ background-color: var(--background-color);
326
+ border-bottom: 1px solid var(--border-color);
314
327
  }
315
328
 
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;
329
+ #search-field-wrapper {
330
+ position: relative;
331
+ display: flex;
332
+ align-items: center;
323
333
  }
324
334
 
325
- dl.note-list dt {
326
- float: left;
327
- margin-right: 1em;
335
+ #search-field {
336
+ width: 100%;
337
+ padding: 0.5em 1em 0.5em 2.5em;
338
+ border: 1px solid var(--border-color);
339
+ border-radius: 20px;
340
+ font-size: 14px;
341
+ outline: none;
342
+ transition: border-color 0.3s ease;
343
+ color: var(--text-color);
328
344
  }
329
345
 
330
- .calls-super {
331
- background: url(../images/arrow_up.png) no-repeat right center;
346
+ #search-field:focus {
347
+ border-color: var(--highlight-color);
332
348
  }
333
349
 
334
- .nav-section details > summary {
335
- display: block;
350
+ #search-field::placeholder {
351
+ color: var(--text-color);
336
352
  }
337
353
 
338
- .nav-section details > summary::-webkit-details-marker {
339
- display: none;
354
+ #search-field-wrapper::before {
355
+ content: "\1F50D";
356
+ position: absolute;
357
+ left: 0.75em;
358
+ top: 50%;
359
+ transform: translateY(-50%);
360
+ font-size: 14px;
361
+ color: var(--text-color);
362
+ opacity: 0.6;
340
363
  }
341
364
 
342
- .nav-section details > summary::before {
343
- content: "";
365
+ /* Search Results */
366
+ #search-results {
367
+ font-family: var(--font-primary);
368
+ font-weight: 300;
344
369
  }
345
370
 
346
- .nav-section details > summary::after {
347
- content: "\25B6"; /* BLACK RIGHT-POINTING TRIANGLE */
348
- font-size: 0.8em;
349
- margin-left: 0.4em;
371
+ #search-results .search-match {
372
+ font-family: var(--font-heading);
373
+ font-weight: normal;
350
374
  }
351
375
 
352
- .nav-section details[open] > summary::after {
353
- content: "\25BD"; /* WHITE DOWN-POINTING TRIANGLE */
376
+ #search-results .search-selected {
377
+ background: var(--code-block-background-color);
378
+ border-bottom: 1px solid transparent;
354
379
  }
355
380
 
356
- /* @end */
357
-
358
- /* @group Documentation Section */
359
- main {
360
- color: #333;
381
+ #search-results li {
382
+ list-style: none;
383
+ border-bottom: 1px solid var(--border-color);
384
+ margin-bottom: 0.5em;
361
385
  }
362
386
 
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;
387
+ #search-results li:last-child {
388
+ border-bottom: none;
389
+ margin-bottom: 0;
370
390
  }
371
391
 
372
- main sup {
373
- vertical-align: super;
374
- font-size: 0.8em;
392
+ #search-results li p {
393
+ padding: 0;
394
+ margin: 0.5em;
375
395
  }
376
396
 
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;
397
+ #search-results .search-namespace {
398
+ font-weight: bold;
383
399
  }
384
400
 
385
- main h1 {
386
- margin: 2em 0 0.5em;
387
- font-size: 1.7em;
401
+ #search-results li em {
402
+ background-color: rgba(224, 108, 117, 0.1);
403
+ font-style: normal;
388
404
  }
389
405
 
390
- main h2 {
391
- margin: 2em 0 0.5em;
392
- font-size: 1.5em;
406
+ #search-results pre {
407
+ margin: 0.5em;
408
+ font-family: var(--font-code);
393
409
  }
394
410
 
395
- main h3 {
396
- margin: 2em 0 0.5em;
397
- font-size: 1.2em;
398
- }
411
+ /* Syntax Highlighting - Gruvbox Light Scheme */
399
412
 
400
- main h4 {
401
- margin: 2em 0 0.5em;
402
- font-size: 1.1em;
403
- }
413
+ .ruby-constant { color: #AF3A03; } /* Dark Orange */
414
+ .ruby-keyword { color: #9D0006; } /* Dark Red */
415
+ .ruby-ivar { color: #B57614; } /* Brown */
416
+ .ruby-operator { color: #427B58; } /* Dark Teal */
417
+ .ruby-identifier { color: #076678; } /* Deep Teal */
418
+ .ruby-node { color: #8F3F71; } /* Plum */
419
+ .ruby-comment { color: #928374; font-style: italic; } /* Gray */
420
+ .ruby-regexp { color: #8F3F71; } /* Plum */
421
+ .ruby-value { color: #AF3A03; } /* Dark Orange */
422
+ .ruby-string { color: #79740E; } /* Olive */
404
423
 
405
- main h5 {
406
- margin: 2em 0 0.5em;
407
- font-size: 1em;
424
+ /* Emphasis */
425
+ em {
426
+ text-decoration-color: rgba(52, 48, 64, 0.25);
427
+ text-decoration-line: underline;
428
+ text-decoration-style: dotted;
408
429
  }
409
430
 
410
- main h6 {
411
- margin: 2em 0 0.5em;
412
- font-size: 1em;
431
+ strong,
432
+ em {
433
+ color: var(--highlight-color);
434
+ background-color: rgba(255, 111, 97, 0.1); /* Light red background for emphasis */
413
435
  }
414
436
 
437
+ /* Paragraphs */
415
438
  main p {
416
- margin: 0 0 0.5em;
417
- line-height: 1.4em;
439
+ line-height: 1.5em;
440
+ font-weight: 400;
418
441
  }
419
442
 
443
+ /* Preformatted Text */
420
444
  main pre {
421
445
  margin: 1.2em 0.5em;
422
446
  padding: 1em;
423
447
  font-size: 0.8em;
424
448
  }
425
449
 
450
+ /* Horizontal Rules */
426
451
  main hr {
427
452
  margin: 1.5em 1em;
428
- border: 2px solid #ddd;
453
+ border: 2px solid var(--border-color);
429
454
  }
430
455
 
456
+ /* Blockquotes */
431
457
  main blockquote {
432
458
  margin: 0 2em 1.2em 1.2em;
433
459
  padding-left: 0.5em;
434
- border-left: 2px solid #ddd;
435
- }
436
-
437
- main ol,
438
- main ul {
439
- margin: 1em 2em;
460
+ border-left: 2px solid var(--border-color);
440
461
  }
441
462
 
463
+ /* Lists */
442
464
  main li > p {
443
- margin-bottom: 0.5em;
465
+ margin: 0.5em;
444
466
  }
445
467
 
468
+ /* Definition Lists */
446
469
  main dl {
447
470
  margin: 1em 0.5em;
448
471
  }
449
472
 
450
473
  main dt {
451
- margin-bottom: 0.5em;
474
+ line-height: 1.5; /* matches `main p` */
452
475
  font-weight: bold;
453
476
  }
454
477
 
478
+ main dl.note-list dt {
479
+ margin-right: 1em;
480
+ float: left;
481
+ }
482
+
483
+ main dl.note-list dt:has(+ dt) {
484
+ margin-right: 0.25em;
485
+ }
486
+
487
+ main dl.note-list dt:has(+ dt)::after {
488
+ content: ', ';
489
+ font-weight: normal;
490
+ }
491
+
455
492
  main dd {
456
- margin: 0 1em 1em 0.5em;
493
+ margin: 0 0 1em 1em;
457
494
  }
458
495
 
496
+ main dd p:first-child {
497
+ margin-top: 0;
498
+ }
499
+
500
+ /* Headers within Main */
459
501
  main header h2 {
460
502
  margin-top: 2em;
461
503
  border-width: 0;
462
- border-top: 4px solid #bbb;
504
+ border-top: 4px solid var(--border-color);
463
505
  font-size: 130%;
464
506
  }
465
507
 
466
508
  main header h3 {
467
509
  margin: 2em 0 1.5em;
468
510
  border-width: 0;
469
- border-top: 3px solid #bbb;
511
+ border-top: 3px solid var(--border-color);
470
512
  font-size: 120%;
471
513
  }
472
514
 
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
- }
494
-
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%;
500
- }
501
-
502
- .constants-list > dl dt a {
503
- color: inherit;
504
- }
515
+ /* Utility Classes */
516
+ .hide { display: none !important; }
517
+ .initially-hidden { display: none; }
505
518
 
506
- .constants-list > dl dd {
507
- margin: 0 0 2em 0;
508
- padding: 0;
509
- color: #666;
519
+ /* Table of Contents */
520
+ .table-of-contents ul {
521
+ margin: 1em;
522
+ list-style: none;
510
523
  }
511
524
 
512
- .documentation-section h2 {
513
- position: relative;
525
+ .table-of-contents ul ul {
526
+ margin-top: 0.25em;
514
527
  }
515
528
 
516
- .documentation-section h2 a {
517
- position: absolute;
518
- top: 8px;
519
- right: 10px;
520
- font-size: 12px;
521
- color: #9b9877;
522
- visibility: hidden;
529
+ .table-of-contents ul :link,
530
+ .table-of-contents ul :visited {
531
+ font-size: 16px;
523
532
  }
524
533
 
525
- .documentation-section h2:hover a {
526
- visibility: visible;
534
+ .table-of-contents li {
535
+ margin-bottom: 0.25em;
527
536
  }
528
537
 
529
- /* @group Method Details */
530
-
538
+ /* Method Details */
531
539
  main .method-source-code {
540
+ visibility: hidden;
532
541
  max-height: 0;
533
542
  overflow: auto;
534
543
  transition-duration: 200ms;
@@ -537,59 +546,63 @@ main .method-source-code {
537
546
  transition-timing-function: ease-in-out;
538
547
  }
539
548
 
549
+ main .method-source-code pre {
550
+ border-color: var(--source-code-toggle-color);
551
+ }
552
+
540
553
  main .method-source-code.active-menu {
554
+ visibility: visible;
541
555
  max-height: 100vh;
542
556
  }
543
557
 
544
558
  main .method-description .method-calls-super {
545
- color: #333;
559
+ color: var(--text-color);
546
560
  font-weight: bold;
547
561
  }
548
562
 
549
563
  main .method-detail {
550
564
  margin-bottom: 2.5em;
551
- cursor: pointer;
552
565
  }
553
566
 
554
567
  main .method-detail:target {
555
568
  margin-left: -10px;
556
- border-left: 10px solid #f1edba;
569
+ border-left: 10px solid var(--border-color);
570
+ }
571
+
572
+ main .method-header {
573
+ display: inline-block;
557
574
  }
558
575
 
559
576
  main .method-heading {
560
577
  position: relative;
561
- font-family: "Source Code Pro", Monaco, monospace;
578
+ font-family: var(--font-code);
562
579
  font-size: 110%;
563
580
  font-weight: bold;
564
- color: #333;
565
- }
566
- main .method-heading :link,
567
- main .method-heading :visited {
568
- color: inherit;
569
581
  }
570
- main .method-click-advice {
582
+
583
+ main .method-heading::after {
584
+ content: '¶';
571
585
  position: absolute;
572
- top: 2px;
573
- right: 5px;
574
- font-size: 12px;
575
- color: #9b9877;
576
586
  visibility: hidden;
577
- padding-right: 20px;
578
- line-height: 20px;
579
- background: url(../images/zoom.png) no-repeat right top;
587
+ color: var(--highlight-color);
588
+ font-size: 0.5em;
580
589
  }
581
- main .method-header:hover .method-click-advice {
590
+
591
+ main .method-heading:hover::after {
582
592
  visibility: visible;
583
593
  }
584
594
 
585
- main .method-alias .method-heading {
586
- color: #666;
595
+ main .method-controls {
596
+ line-height: 20px;
597
+ float: right;
598
+ color: var(--source-code-toggle-color);
599
+ cursor: pointer;
587
600
  }
588
601
 
589
602
  main .method-description,
590
603
  main .aliases {
591
604
  margin-top: 0.75em;
592
- color: #333;
605
+ color: var(--text-color);
593
606
  }
594
607
 
595
608
  main .aliases {
@@ -597,6 +610,17 @@ main .aliases {
597
610
  font-style: italic;
598
611
  cursor: default;
599
612
  }
613
+
614
+ main .aliases a {
615
+ color: var(--secondary-highlight-color);
616
+ }
617
+
618
+ main .mixin-from {
619
+ font-size: 80%;
620
+ font-style: italic;
621
+ margin-bottom: 0.75em;
622
+ }
623
+
600
624
  main .method-description ul {
601
625
  margin-left: 1.5em;
602
626
  }
@@ -605,83 +629,40 @@ main #attribute-method-details .method-detail:hover {
605
629
  background-color: transparent;
606
630
  cursor: default;
607
631
  }
632
+
608
633
  main .attribute-access-type {
609
634
  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
- }
645
-
646
- #search-results .search-match {
647
- font-family: Helvetica, sans-serif;
648
- font-weight: normal;
649
- }
650
-
651
- #search-results .search-selected {
652
- background: #e8e8e8;
653
- border-bottom: 1px solid transparent;
654
635
  }
655
636
 
656
- #search-results li {
657
- list-style: none;
658
- border-bottom: 1px solid #aaa;
659
- margin-bottom: 0.5em;
660
- }
637
+ /* Responsive Adjustments */
638
+ @media (max-width: 480px) {
639
+ nav {
640
+ width: 100%;
641
+ }
661
642
 
662
- #search-results li:last-child {
663
- border-bottom: none;
664
- margin-bottom: 0;
665
- }
643
+ main {
644
+ margin: 1em auto;
645
+ padding: 0 1em;
646
+ max-width: 100%;
647
+ }
666
648
 
667
- #search-results li p {
668
- padding: 0;
669
- margin: 0.5em;
670
- }
649
+ #navigation-toggle {
650
+ right: 10px;
651
+ left: auto;
652
+ }
671
653
 
672
- #search-results .search-namespace {
673
- font-weight: bold;
674
- }
654
+ #navigation-toggle[aria-expanded="true"] {
655
+ left: auto;
656
+ }
675
657
 
676
- #search-results li em {
677
- background: yellow;
678
- font-style: normal;
679
- }
658
+ table {
659
+ display: block;
660
+ overflow-x: auto;
661
+ white-space: nowrap;
662
+ }
680
663
 
681
- #search-results pre {
682
- margin: 0.5em;
683
- font-family: "Source Code Pro", Monaco, monospace;
664
+ main .method-controls {
665
+ margin-top: 10px;
666
+ float: none;
667
+ }
684
668
  }
685
-
686
- /* @end */
687
-