rdoc 6.7.0 → 6.13.1

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