rorvswild_theme_rdoc 0.1 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +29 -0
  3. data/README.md +27 -0
  4. data/lib/rdoc/discover.rb +1 -0
  5. data/lib/rdoc/generator/template/rorvswild/_dialog_search.rhtml +16 -0
  6. data/lib/rdoc/generator/template/rorvswild/_footer.rhtml +4 -0
  7. data/lib/rdoc/generator/template/rorvswild/_head.rhtml +25 -0
  8. data/lib/rdoc/generator/template/rorvswild/_navigation.rhtml +5 -0
  9. data/lib/rdoc/generator/template/rorvswild/_sidebar_VCS_info.rhtml +19 -0
  10. data/lib/rdoc/generator/template/rorvswild/_sidebar_classes.rhtml +48 -0
  11. data/lib/rdoc/generator/template/rorvswild/_sidebar_constants.rhtml +10 -0
  12. data/lib/rdoc/generator/template/rorvswild/_sidebar_extends.rhtml +15 -0
  13. data/lib/rdoc/generator/template/rorvswild/_sidebar_in_files.rhtml +8 -0
  14. data/lib/rdoc/generator/template/rorvswild/_sidebar_includes.rhtml +15 -0
  15. data/lib/rdoc/generator/template/rorvswild/_sidebar_installed.rhtml +15 -0
  16. data/lib/rdoc/generator/template/rorvswild/_sidebar_methods.rhtml +21 -0
  17. data/lib/rdoc/generator/template/rorvswild/_sidebar_pages.rhtml +34 -0
  18. data/lib/rdoc/generator/template/rorvswild/_sidebar_parent.rhtml +41 -0
  19. data/lib/rdoc/generator/template/rorvswild/_sidebar_sections.rhtml +11 -0
  20. data/lib/rdoc/generator/template/rorvswild/_sidebar_table_of_contents.rhtml +40 -0
  21. data/lib/rdoc/generator/template/rorvswild/_sidebar_toggle.rhtml +3 -0
  22. data/lib/rdoc/generator/template/rorvswild/_topbar.rhtml +12 -0
  23. data/lib/rdoc/generator/template/rorvswild/class.rhtml +164 -0
  24. data/lib/rdoc/generator/template/rorvswild/css/fonts.css +34 -0
  25. data/lib/rdoc/generator/template/rorvswild/css/rdoc.css +855 -0
  26. data/lib/rdoc/generator/template/rorvswild/fonts/Inter-Bold.woff2 +0 -0
  27. data/lib/rdoc/generator/template/rorvswild/fonts/Inter-Italic.woff2 +0 -0
  28. data/lib/rdoc/generator/template/rorvswild/fonts/Inter-Regular.woff2 +0 -0
  29. data/lib/rdoc/generator/template/rorvswild/fonts/MonaspaceNeon-Bold.woff2 +0 -0
  30. data/lib/rdoc/generator/template/rorvswild/fonts/MonaspaceNeon-Regular.woff2 +0 -0
  31. data/lib/rdoc/generator/template/rorvswild/index.rhtml +22 -0
  32. data/lib/rdoc/generator/template/rorvswild/js/darkfish.js +167 -0
  33. data/lib/rdoc/generator/template/rorvswild/js/search.js +110 -0
  34. data/lib/rdoc/generator/template/rorvswild/page.rhtml +15 -0
  35. data/lib/rdoc/generator/template/rorvswild/servlet_not_found.rhtml +15 -0
  36. data/lib/rdoc/generator/template/rorvswild/servlet_root.rhtml +63 -0
  37. data/lib/rdoc/generator/template/rorvswild/table_of_contents.rhtml +63 -0
  38. data/lib/rorvswild_theme_rdoc/patches/rdoc.rb +14 -0
  39. data/lib/rorvswild_theme_rdoc.rb +4 -0
  40. metadata +42 -4
@@ -0,0 +1,855 @@
1
+ /*
2
+ * RoRvsWild Theme – Rdoc CSS
3
+ *
4
+ * Authors: Antoine Marguerie & Alexis Bernard (rorvswild.com)
5
+ *
6
+ */
7
+
8
+ :root {
9
+ --page-max-width: 1600px;
10
+ --sidebar-width: 240px;
11
+
12
+ --color-primary: oklch(0.5 0.18 29);
13
+ --color-primary-hover: oklch(0.4 0.18 29);
14
+ --color-strong-background: oklch(0.97 0.03 89);
15
+ --color-topbar: var(--color-primary);
16
+ --color-topbar-text: var(--color-background);
17
+ --color-text: oklch(0.35 0.03 269);
18
+ --color-text-light: oklch(0.45 0.03 269);
19
+ --color-title: oklch(0.2 0.03 269);
20
+ --color-background: oklch(0.99 0.001 269);
21
+ --color-code-background: oklch(0.97 0.002 269);
22
+ --color-th-background: oklch(0.95 0.002 269);
23
+ --color-border: oklch(0.91 0.002 269);
24
+
25
+ --font-sans: "Inter", system-ui, sans-serif;
26
+ --font-mono: "Monaspace", ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
27
+ }
28
+
29
+ html {
30
+ line-height: 1.5;
31
+ color: var(--color-text);
32
+ font-weight: normal;
33
+ font-size: 14px;
34
+ font-optical-sizing: auto;
35
+ scroll-padding-top: calc(40px + 1em);
36
+ scroll-behavior: smooth;
37
+ font-feature-settings: 'liga' 1, 'calt' 1;
38
+ }
39
+
40
+ body {
41
+ background: var(--color-background);
42
+ font-family: var(--font-sans);
43
+ display: flex;
44
+ flex-direction: column;
45
+ min-height: 100vh;
46
+ margin: 0;
47
+ padding-top: 35px;
48
+ }
49
+
50
+ body > footer {
51
+ display: none; /* quickfix waiting for Ruby to upgrade RDoc and use the latest darkfish.rb */
52
+ }
53
+
54
+ h1 span,
55
+ h2 span,
56
+ h3 span,
57
+ h4 span,
58
+ h5 span,
59
+ h6 span {
60
+ position: relative;
61
+ display: none;
62
+ padding-left: 1em;
63
+ line-height: 0;
64
+ vertical-align: baseline;
65
+ font-size: 1rem;
66
+ }
67
+
68
+ h1 span { top: -0.28em; }
69
+ h2 span { top: -0.28em; }
70
+ h3 span { top: -0.1em; }
71
+ h4 span { top: -0.1em; }
72
+ h5 span { top: 0; }
73
+ h6 span { top: 0; }
74
+
75
+ h1:hover span,
76
+ h2:hover span,
77
+ h3:hover span,
78
+ h4:hover span,
79
+ h5:hover span,
80
+ h6:hover span {
81
+ display: inline;
82
+ }
83
+
84
+ :any-link {
85
+ color: var(--color-primary);
86
+ text-decoration: underline;
87
+ text-decoration-thickness: 0.02em;
88
+ transition: color 0.3s ease;
89
+ }
90
+
91
+ :any-link:hover { color: var(--color-primary-hover); }
92
+
93
+ code,
94
+ pre {
95
+ font-family: var(--font-mono);
96
+ background-color: var(--color-code-background);
97
+ box-shadow: 0 0 0 1px var(--color-border) inset;
98
+ border-radius: 6px;
99
+ padding: 16px;
100
+ overflow-x: auto;
101
+ font-size: 1rem;
102
+ line-height: 1.5;
103
+ margin: 1em 0;
104
+ }
105
+
106
+ table {
107
+ margin: 0;
108
+ border-spacing: 0;
109
+ border-collapse: collapse;
110
+ }
111
+
112
+ table tr th, table tr td {
113
+ padding: 0.2em 0.4em;
114
+ border: 1px solid var(--color-border);
115
+ }
116
+
117
+ table tr th { background-color: var(--color-th-background); }
118
+
119
+ table tr:nth-child(even) td { background-color: var(--color-code-background); }
120
+
121
+ ul {
122
+ padding: 0;
123
+ list-style: none;
124
+ }
125
+
126
+ main article > ul {
127
+ padding: 0 0 0 16px;
128
+ list-style-type: square;
129
+ }
130
+
131
+ li { padding: 0.25em 0; }
132
+
133
+ main li > p { margin: 0; }
134
+
135
+ li li { padding-bottom: 0; }
136
+
137
+ ul ul {
138
+ margin: 0 0 0 10px;
139
+ padding-left: 0;
140
+ }
141
+
142
+ ul ul li {
143
+ padding-left: 15px;
144
+ position: relative;
145
+ border-left: 1px solid var(--color-border);
146
+ }
147
+
148
+ ul ul li:before {
149
+ position: absolute;
150
+ left: 0;
151
+ top: 18px;
152
+ content: '';
153
+ display: inline-block;
154
+ height: 1px;
155
+ width: 11px;
156
+ background: var(--color-border);
157
+ }
158
+
159
+ ul ul li:last-of-type { border-left: 0; }
160
+
161
+ ul ul li:last-of-type:after {
162
+ position: absolute;
163
+ left: 0;
164
+ top: 0;
165
+ content: '';
166
+ display: inline-block;
167
+ height:18px;
168
+ width: 1px;
169
+ background: var(--color-border);
170
+ }
171
+
172
+ ol {
173
+ margin: 1em 0 0;
174
+ padding: 0 1em;
175
+ }
176
+
177
+ ol ol { margin: 0; }
178
+
179
+ details > summary {
180
+ list-style: none;
181
+ position: relative;
182
+ display: flex;
183
+ width: calc(100% - 0.25rem);
184
+ gap: 4px;
185
+ padding: 0 0 0 0.25rem;
186
+ }
187
+
188
+ details > summary:has(> a) {
189
+ padding: 0;
190
+ width: 100%;
191
+ }
192
+
193
+ summary::-webkit-details-marker { display: none; }
194
+
195
+ details > summary::after {
196
+ content: '+';
197
+ font-size: 0.823em;
198
+ font-weight: bold;
199
+ width: 2em;
200
+ height: 2em;
201
+ line-height: 2em;
202
+ border-radius: 50%;
203
+ text-align: center;
204
+ box-shadow: 0 0 0 1px var(--color-border) inset;
205
+ transition: transform 0.2s ease;
206
+ display: inline-block;
207
+ flex-shrink: 0;
208
+ cursor: pointer;
209
+ position: relative;
210
+ top: 2px;
211
+ margin-left: auto;
212
+ }
213
+
214
+ details[open] > summary::after { content: '-'; }
215
+
216
+ main {
217
+ padding: 1em;
218
+ width: calc(100% - 2em);
219
+ margin: 0 auto;
220
+ }
221
+
222
+ main sup {
223
+ vertical-align: super;
224
+ font-size: 0.823em;
225
+ }
226
+
227
+ main h1 {
228
+ font-size: 2.178rem;
229
+ line-height: 3rem;
230
+ margin: 1rem 0 0;
231
+ color: var(--color-title);
232
+ word-break: break-word;
233
+ }
234
+
235
+ main h1 + p {
236
+ font-size: 1.383em;
237
+ margin-top: 0.5rem;
238
+ color: var(--color-text-light);
239
+ }
240
+
241
+ main h2 {
242
+ margin: 1.5em 0 0.5em;
243
+ font-size: 1.476rem;
244
+ line-height: 3rem;
245
+ color: var(--color-title);
246
+ box-shadow: 0 1px 0 0 var(--color-text-light);
247
+ }
248
+
249
+ main h3 {
250
+ margin: 1.5em 0 0.5em;
251
+ font-size: 1.215em;
252
+ color: var(--color-title);
253
+ }
254
+
255
+ main h4 {
256
+ margin: 1.5em 0 0;
257
+ font-size: 1em;
258
+ text-transform: uppercase;
259
+ color: var(--color-title);
260
+ letter-spacing: 0.05em;
261
+ }
262
+
263
+ main h5 {
264
+ margin: 1em 0 0;
265
+ font-size: 1em;
266
+ color: var(--color-title);
267
+ }
268
+
269
+ main h6 {
270
+ margin: 1em 0 0;
271
+ font-size: 0.823rem;
272
+ text-transform: uppercase;
273
+ letter-spacing: 0.1em;
274
+ color: var(--color-title);
275
+ }
276
+
277
+ main h4 + p,
278
+ main h5 + p,
279
+ main h6 + p {
280
+ margin-top: 0;
281
+ }
282
+
283
+ main p {
284
+ line-height: 1.5em;
285
+ font-weight: 400;
286
+ }
287
+
288
+ main pre {
289
+ margin: 1em 0;
290
+ padding: 1em 1.5em;
291
+ font-size: 0.823rem;
292
+ }
293
+
294
+ main hr {
295
+ margin: 1.5em 0;
296
+ border: 2px solid var(--color-border);
297
+ }
298
+
299
+ main blockquote {
300
+ margin: 0 2em 1.2em 1.2em;
301
+ padding-left: 0.5em;
302
+ border-left: 2px solid var(--color-border);
303
+ }
304
+
305
+ main dl { margin: 1em 0; }
306
+
307
+ main dt {
308
+ margin: 1em 0 0;
309
+ font-weight: bold;
310
+ color: var(--color-title);
311
+ }
312
+
313
+ main dd,
314
+ main dd p {
315
+ margin: 0;
316
+ color: var(--color-text-light);
317
+ }
318
+
319
+ main header h2 { margin-top: 2em; }
320
+
321
+ main header h3 {
322
+ margin: 2em 0 1.5em;
323
+ padding-top: 1em;
324
+ border-width: 0;
325
+ border-top: 1px solid var(--color-border);
326
+ font-size: 120%;
327
+ }
328
+
329
+ .topbar {
330
+ width: 100%;
331
+ padding: 0.5em 1rem;
332
+ z-index: 100;
333
+ position: fixed;
334
+ top: 0;
335
+ background-color: var(--color-topbar);
336
+ }
337
+
338
+ .topbar .width-limiter {
339
+ max-width: var(--page-max-width);
340
+ margin: 0 auto;
341
+ display: flex;
342
+ gap: 8px;
343
+ }
344
+
345
+ .topbar .width-limiter > a:any-link {
346
+ text-decoration: none;
347
+ font-weight: 700;
348
+ color: var(--color-topbar-text);
349
+ }
350
+
351
+ .topbar .width-limiter > a:any-link:hover { color: var(--color-topbar-text); }
352
+
353
+ #navigation-toggle {
354
+ display: inline-block;
355
+ color: var(--color-topbar-text);
356
+ }
357
+
358
+ nav {
359
+ border-right: 1px solid var(--color-border);
360
+ position: fixed;
361
+ top: 35px;
362
+ bottom: 0;
363
+ width: 100%;
364
+ max-width: var(--sidebar-width);
365
+ background: var(--color-background);
366
+ overflow-y: auto;
367
+ z-index: 10;
368
+ display: flex;
369
+ flex-direction: column;
370
+ font-size: 0.823rem;
371
+ line-height: 1.5rem;
372
+ }
373
+
374
+ nav a:any-link {
375
+ color: var(--color-text);
376
+ text-decoration-color: inherit;
377
+ }
378
+
379
+ nav[hidden] { display: none; }
380
+
381
+ nav footer {
382
+ padding: 1em 1rem;
383
+ border-top: 1px solid var(--color-border);
384
+ font-size: 0.678rem;
385
+ }
386
+
387
+ nav footer a:any-link {
388
+ font-weight: 700;
389
+ }
390
+
391
+ .nav-section { margin-top: 1rem; }
392
+
393
+ .nav-section h3 { padding: 0 1rem; }
394
+
395
+ .nav-section ul {
396
+ margin-top: 0;
397
+ overflow: hidden;
398
+ }
399
+
400
+ .nav-section > ul > li {
401
+ padding: 0.25em 0.75rem;
402
+ }
403
+
404
+ .nav-section li.active > a,
405
+ .nav-section li.active > details > summary > a,
406
+ .nav-section li:has(li.active) > details > summary > a {
407
+ text-decoration: none;
408
+ background-color: var(--color-strong-background);
409
+ border-radius: 3px;
410
+ font-weight: 700;
411
+ cursor: initial;
412
+ }
413
+
414
+ .nav-section li a,
415
+ .nav-section li > span {
416
+ padding: 0 0.25rem;
417
+ display: inline-block;
418
+ word-break: break-word;
419
+ }
420
+
421
+ nav h2 {
422
+ margin: 0 0 0.5em;
423
+ padding: 0.5em 0;
424
+ font-size: 1.215em;
425
+ color: var(--color-text);
426
+ border-bottom: 1px solid var(--color-border);
427
+ }
428
+
429
+ nav h3,
430
+ #table-of-contents-navigation {
431
+ margin: 0;
432
+ padding: 0.5em 0;
433
+ font-size: 0.678rem;
434
+ text-transform: uppercase;
435
+ letter-spacing: 0.05em;
436
+ }
437
+
438
+ nav dl,
439
+ nav p {
440
+ padding: 0;
441
+ list-style: none;
442
+ margin: 0.5em 0 0;
443
+ }
444
+
445
+ nav.contextual { display: none }
446
+
447
+ #validator-badges {
448
+ margin: 1em 1em 2em;
449
+ font-size: smaller;
450
+ }
451
+
452
+ .search-button {
453
+ background-color: var(--color-background);
454
+ border: none;
455
+ border-radius: 4px;
456
+ color:var(--color-text-light);
457
+ box-shadow: 0 0 0 1px var(--color-border);
458
+ display: flex;
459
+ gap: 4px;
460
+ align-items: center;
461
+ cursor: text;
462
+ }
463
+
464
+ .search-button svg {
465
+ width: 12px;
466
+ height: 12px;
467
+ opacity: 0.8;
468
+ }
469
+
470
+ .search-button:hover,
471
+ .search-button:focus {
472
+ color:var(--color-text);
473
+ }
474
+
475
+ .search-dialog {
476
+ background-color: var(--color-background);
477
+ width: calc(100% - 4em);
478
+ max-width: 1000px;
479
+ max-height: calc(100svh - 80px);
480
+ margin: 0 auto;
481
+ padding: 0;
482
+ top: 40px;
483
+ border: 0;
484
+ border-radius: 8px;
485
+ box-shadow:
486
+ 0 0 0 1px var(--color-border),
487
+ 0 0 24px 8px oklch(0.02 0.05 269 /1);
488
+ overflow: hidden;
489
+ }
490
+
491
+ .search-dialog::backdrop {
492
+ background-color: oklch(0.1 0.02 269 /0.9);
493
+ backdrop-filter: blur(4px);
494
+ }
495
+
496
+ .search-dialog[open] { display: flex; }
497
+
498
+ .search-dialog form {
499
+ overflow: hidden;
500
+ display: flex;
501
+ flex-direction: column;
502
+ flex: 1;
503
+ }
504
+
505
+ #search-section {
506
+ padding: 1em 1em 0;
507
+ background-color: var(--color-background);
508
+ border-bottom: 1px solid var(--color-border);
509
+ }
510
+
511
+ #search-field-wrapper {
512
+ position: relative;
513
+ display: flex;
514
+ align-items: center;
515
+ padding: 1rem;
516
+ }
517
+
518
+ .search-dialog form:has(li) #search-field-wrapper { box-shadow: 0 1px 0 0 var(--color-border); }
519
+
520
+ #search-field {
521
+ width: 100%;
522
+ padding: 0.5em 1em 0.5em 2em;
523
+ border: 1px solid var(--color-border);
524
+ color: var(--color-text);
525
+ border-radius: 4px;
526
+ font-size: 0.823em;
527
+ outline: none;
528
+ transition: border-color 0.3s ease;
529
+ background-color: var(--color-background);
530
+ }
531
+
532
+ #search-field:focus { border-color: var(--color-primary); }
533
+
534
+ #search-field::placeholder {
535
+ color: var(--color-text);
536
+ opacity: 0.6;
537
+ }
538
+
539
+ #search-field-wrapper svg {
540
+ position: absolute;
541
+ stroke: var(--color-text-light);
542
+ width: 16px;
543
+ height: 16px;
544
+ left: 24px;
545
+ opacity: 0.6;
546
+ }
547
+
548
+ #search-results {
549
+ color: var(--color-text);
550
+ overflow-y: auto;
551
+ display: flex;
552
+ flex-direction: column;
553
+ flex: 1;
554
+ margin: 0;
555
+ }
556
+
557
+ #search-results .search-match { font-weight: normal; }
558
+
559
+ #search-results .search-selected {
560
+ background: var(--color-code-background);
561
+ border-bottom: 1px solid transparent;
562
+ box-shadow: 0 0 0 1px var(--color-border) inset;
563
+ }
564
+
565
+ #search-results li {
566
+ list-style: none;
567
+ border-bottom: 1px solid var(--color-border);
568
+ padding: 0.5em 1rem;
569
+ }
570
+
571
+ #search-results li:last-child {
572
+ border-bottom: none;
573
+ margin-bottom: 0;
574
+ }
575
+
576
+ #search-results li p {
577
+ padding: 0;
578
+ margin: 0;
579
+ }
580
+
581
+ #search-results .search-namespace { font-weight: bold; }
582
+
583
+ #search-results li em {
584
+ background: var(--color-strong-background);
585
+ font-style: normal;
586
+ }
587
+
588
+ #search-results pre {
589
+ font-size: 0.823em;
590
+ margin: 0.5rem 0;
591
+ }
592
+
593
+ .hide { display: none !important; }
594
+ .initially-hidden { display: none; }
595
+
596
+ pre,
597
+ code {
598
+ --color-constant: oklch(0.5 0.18 269);
599
+ --color-keyword: var(--color-primary);
600
+ --color-ivar: oklch(0.5 0.18 59);
601
+ --color-operator: oklch(0.5 0.18 269);
602
+ --color-identifier: var(--color-title);
603
+ --color-node: oklch(0.5 0.18 149);
604
+ --color-comment: oklch(0.6 0.03 269);
605
+ --color-regexp: oklch(0.5 0.18 299);
606
+ --color-value: var(--color-operator);
607
+ --color-string: oklch(0.5 0.18 149);
608
+ }
609
+
610
+ code {
611
+ background-color: var(--color-code-background);
612
+ padding: 0em 0.4em;
613
+ border-radius: 3px;
614
+ font-size: 0.937em;
615
+ line-height: 1em;
616
+ text-transform: initial;
617
+ }
618
+
619
+ .ruby-constant { color: var(--color-constant); }
620
+ .ruby-keyword { color: var(--color-keyword); }
621
+ .ruby-ivar { color: var(--color-ivar); }
622
+ .ruby-operator { color: var(--color-operator); }
623
+ .ruby-identifier { color: var(--color-identifier); }
624
+ .ruby-node { color: var(--color-node); }
625
+ .ruby-comment { color: var(--color-comment); }
626
+ .ruby-regexp { color: var(--color-regexp); }
627
+ .ruby-value { color: var(--color-value); }
628
+ .ruby-string { color: var(--color-string); }
629
+
630
+ em {
631
+ text-decoration-color: var(--color-border);
632
+ text-decoration-line: underline;
633
+ text-decoration-style: dotted;
634
+ }
635
+
636
+ strong,
637
+ em {
638
+ background-color: var(--color-strong-background);
639
+ }
640
+
641
+ .note-list {
642
+ padding: 1em 1em 2em;
643
+ box-shadow: 0 0 0 1px var(--color-border) inset;
644
+ }
645
+
646
+ .constants-list > dl {
647
+ margin: 1em 0 2em;
648
+ border: 0;
649
+ }
650
+
651
+ .constants-list > dl dt {
652
+ margin-bottom: 0.75em;
653
+ padding-left: 0;
654
+ font-family: var(--font-mono);
655
+ }
656
+
657
+ .c > dl dt a { color: inherit; }
658
+
659
+ .constants-list > dl dd {
660
+ margin: 0 0 2em 0;
661
+ padding: 0;
662
+ }
663
+
664
+ .method-source-code {
665
+ max-height: 0;
666
+ overflow: auto;
667
+ transition-duration: 200ms;
668
+ transition-delay: 0ms;
669
+ transition-property: all;
670
+ transition-timing-function: ease-in-out;
671
+ }
672
+
673
+ .method-source-code.active-menu { max-height: none; }
674
+
675
+ .method-description .method-calls-super {
676
+ color: var(--color-text);
677
+ font-weight: bold;
678
+ }
679
+
680
+ .method-detail { margin: 1.5rem 0 0; }
681
+
682
+ .method-detail + .method-detail {
683
+ margin: 1.5rem 0 0;
684
+ border-top: 1px solid var(--color-border);
685
+ padding-top: 1.5em;
686
+ }
687
+
688
+ .method-heading {
689
+ position: relative;
690
+ font-family: var(--font-mono);
691
+ font-size: 1.138rem;
692
+ font-weight: bold;
693
+ color: var(--color-text);
694
+ }
695
+
696
+ .method-heading span { background-color: var(--color-code-background); }
697
+
698
+ .method-heading :any-link {
699
+ text-decoration: none;
700
+ color: inherit;
701
+ }
702
+
703
+ .toggle-source {
704
+ margin-top: 1rem;
705
+ font-size: 0.823rem;
706
+ font-weight: 400;
707
+ line-height: 1rem;
708
+ background: var(--color-code-background);
709
+ box-shadow: 0 0 0 1px var(--color-border);
710
+ color: var(--color-text);
711
+ border-radius: 2px;
712
+ border: none;
713
+ cursor: pointer;
714
+ }
715
+
716
+ .toggle-source:hover {
717
+ box-shadow: 0 0 0 1px var(--color-text-light);
718
+ color: var(--color-title);
719
+ }
720
+
721
+ pre + .toggle-source { margin-top: 0.5rem; }
722
+
723
+ .method-description,
724
+ .aliases {
725
+ color: var(--color-text-light);
726
+ margin-top: 1em;
727
+ }
728
+
729
+ .aliases {
730
+ cursor: default;
731
+ font-size: 0.823em;
732
+ font-style: italic;
733
+ padding-top: 4px;
734
+ }
735
+
736
+ .method-description p { margin: 0; }
737
+
738
+ .method-description ul { margin-left: 1.5em; }
739
+
740
+ #attribute-method-details .method-detail:hover {
741
+ background-color: transparent;
742
+ cursor: default;
743
+ }
744
+
745
+ .attribute-access-type {
746
+ text-transform: uppercase;
747
+ padding: 0 1em;
748
+ }
749
+
750
+ @media (max-width: 480px) {
751
+ main {
752
+ margin: 1em auto;
753
+ padding: 0 1em;
754
+ max-width: 100%;
755
+ }
756
+
757
+ table {
758
+ display: block;
759
+ overflow-x: auto;
760
+ white-space: nowrap;
761
+ }
762
+ }
763
+
764
+ @media (min-width: 800px) {
765
+ main {
766
+ margin: 0 auto;
767
+ width: 100%;
768
+ padding: 0;
769
+ position: relative;
770
+ grid-column: 2/ span 1;
771
+ display: grid;
772
+ grid-template-columns: 1fr var(--sidebar-width);
773
+ gap: 32px;
774
+ }
775
+
776
+ main > article {
777
+ position: relative;
778
+ overflow: hidden;
779
+ padding: 0 1rem 3rem;
780
+ width: 100%;
781
+ grid-column: 1 / span 1;
782
+ }
783
+
784
+ nav.contextual {
785
+ width: var(--sidebar-width);
786
+ grid-column: 2 / span 1;
787
+ position: sticky;
788
+ max-height: calc(100svh - 40px);
789
+ left: auto;
790
+ right: 0;
791
+ border: 0;
792
+ overflow-y: auto;
793
+ background: transparent;
794
+ display: flex;
795
+ align-self: start;
796
+ }
797
+ }
798
+
799
+ @media (min-width: 1024px) {
800
+ html { font-size: 16px; }
801
+
802
+ body > .wrapper {
803
+ display: grid;
804
+ grid-template-columns: var(--sidebar-width) auto;
805
+ gap: 1rem;
806
+ width: 100%;
807
+ max-width: var(--page-max-width);
808
+ margin: 0 auto;
809
+ position: relative;
810
+ }
811
+
812
+ #navigation-toggle { display: none }
813
+
814
+ nav { top: 40px; }
815
+
816
+ nav[hidden] { display: block; }
817
+ }
818
+
819
+ @media (min-width: 1200px) {
820
+ :root { --sidebar-width: 300px; }
821
+ }
822
+
823
+ @media (prefers-color-scheme: dark) {
824
+ :root {
825
+ --color-primary: oklch(0.85 0.09 29);
826
+ --color-primary-hover: oklch(87.78296875% 0.07 29);
827
+
828
+ --color-strong-background: oklch(0.27 0.04 89);
829
+
830
+ --color-topbar: oklch(0.5 0.18 29);
831
+ --color-topbar-text: oklch(0.99 0.001 269);
832
+
833
+ --color-text: oklch(0.84 0.02 269);
834
+ --color-text-light: oklch(0.74 0.02 269);
835
+ --color-title: oklch(0.91 0.02 269);
836
+ --color-background: oklch(0.19 0.01 269);
837
+ --color-code-background: oklch(0.25 0.01 269);
838
+ --color-th-background: oklch(0.41 0.01 269);
839
+ --color-border: oklch(0.27 0.01 269);
840
+ }
841
+
842
+ pre,
843
+ code {
844
+ --color-constant: oklch(0.85 0.09 260);
845
+ --color-keyword: var(--color-primary);
846
+ --color-ivar: oklch(0.85 0.09 59);
847
+ --color-operator: oklch(0.85 0.04 269);
848
+ --color-identifier: var(--color-title);
849
+ --color-node: oklch(0.85 0.09 149);
850
+ --color-comment: oklch(0.65 0.02 269);
851
+ --color-regexp: oklch(0.85 0.09 299);
852
+ --color-value: var(--color-operator);
853
+ --color-string: oklch(0.85 0.09 149);
854
+ }
855
+ }