rdoc 7.1.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +3 -4
- data/LICENSE.rdoc +4 -0
- data/README.md +43 -2
- data/doc/markup_reference/markdown.md +104 -3
- data/lib/rdoc/code_object/alias.rb +2 -8
- data/lib/rdoc/code_object/any_method.rb +11 -6
- data/lib/rdoc/code_object/attr.rb +12 -6
- data/lib/rdoc/code_object/class_module.rb +62 -32
- data/lib/rdoc/code_object/constant.rb +29 -3
- data/lib/rdoc/code_object/context/section.rb +30 -43
- data/lib/rdoc/code_object/context.rb +53 -37
- data/lib/rdoc/code_object/method_attr.rb +9 -15
- data/lib/rdoc/code_object/mixin.rb +3 -0
- data/lib/rdoc/code_object/top_level.rb +11 -3
- data/lib/rdoc/code_object.rb +2 -4
- data/lib/rdoc/comment.rb +1 -66
- data/lib/rdoc/cross_reference.rb +8 -30
- data/lib/rdoc/encoding.rb +3 -3
- data/lib/rdoc/generator/aliki.rb +17 -0
- data/lib/rdoc/generator/darkfish.rb +12 -6
- data/lib/rdoc/generator/json_index.rb +2 -2
- data/lib/rdoc/generator/markup.rb +56 -31
- data/lib/rdoc/generator/template/aliki/DESIGN.md +536 -0
- data/lib/rdoc/generator/template/aliki/_aside_toc.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/_head.rhtml +6 -1
- data/lib/rdoc/generator/template/aliki/_sidebar_extends.rhtml +8 -6
- data/lib/rdoc/generator/template/aliki/_sidebar_includes.rhtml +8 -6
- data/lib/rdoc/generator/template/aliki/_sidebar_installed.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/_sidebar_pages.rhtml +2 -2
- data/lib/rdoc/generator/template/aliki/_sidebar_sections.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/_sidebar_toggle.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/class.rhtml +61 -51
- data/lib/rdoc/generator/template/aliki/css/rdoc.css +365 -147
- data/lib/rdoc/generator/template/aliki/index.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/js/aliki.js +28 -20
- data/lib/rdoc/generator/template/aliki/js/bash_highlighter.js +167 -0
- data/lib/rdoc/generator/template/aliki/js/search_controller.js +1 -1
- data/lib/rdoc/generator/template/aliki/page.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/servlet_not_found.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/servlet_root.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +8 -6
- data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +8 -6
- data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/class.rhtml +18 -21
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +0 -1
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +3 -3
- data/lib/rdoc/i18n/text.rb +3 -3
- data/lib/rdoc/markdown.kpeg +36 -17
- data/lib/rdoc/markdown.rb +324 -125
- data/lib/rdoc/markup/document.rb +2 -2
- data/lib/rdoc/markup/formatter.rb +128 -115
- data/lib/rdoc/markup/heading.rb +3 -6
- data/lib/rdoc/markup/indented_paragraph.rb +1 -1
- data/lib/rdoc/markup/inline_parser.rb +312 -0
- data/lib/rdoc/markup/list.rb +2 -2
- data/lib/rdoc/markup/list_item.rb +2 -2
- data/lib/rdoc/markup/parser.rb +1 -1
- data/lib/rdoc/markup/pre_process.rb +0 -25
- data/lib/rdoc/markup/to_ansi.rb +52 -5
- data/lib/rdoc/markup/to_bs.rb +23 -43
- data/lib/rdoc/markup/to_html.rb +279 -226
- data/lib/rdoc/markup/to_html_crossref.rb +122 -136
- data/lib/rdoc/markup/to_html_snippet.rb +65 -65
- data/lib/rdoc/markup/to_joined_paragraph.rb +0 -5
- data/lib/rdoc/markup/to_label.rb +22 -23
- data/lib/rdoc/markup/to_markdown.rb +62 -38
- data/lib/rdoc/markup/to_rdoc.rb +88 -28
- data/lib/rdoc/markup/to_table_of_contents.rb +1 -1
- data/lib/rdoc/markup/to_test.rb +9 -1
- data/lib/rdoc/markup/to_tt_only.rb +10 -23
- data/lib/rdoc/markup/verbatim.rb +1 -1
- data/lib/rdoc/markup.rb +8 -30
- data/lib/rdoc/options.rb +36 -51
- data/lib/rdoc/parser/c.rb +7 -6
- data/lib/rdoc/parser/changelog.rb +21 -0
- data/lib/rdoc/parser/rbs.rb +275 -0
- data/lib/rdoc/parser/ruby.rb +955 -2067
- data/lib/rdoc/parser/ruby_colorizer.rb +253 -0
- data/lib/rdoc/parser.rb +3 -2
- data/lib/rdoc/rbs_helper.rb +186 -0
- data/lib/rdoc/rdoc.rb +196 -24
- data/lib/rdoc/ri/driver.rb +8 -2
- data/lib/rdoc/ri/paths.rb +1 -1
- data/lib/rdoc/{servlet.rb → ri/servlet.rb} +5 -5
- data/lib/rdoc/ri.rb +4 -3
- data/lib/rdoc/rubygems_hook.rb +11 -11
- data/lib/rdoc/server.rb +460 -0
- data/lib/rdoc/stats.rb +147 -124
- data/lib/rdoc/store.rb +212 -4
- data/lib/rdoc/task.rb +16 -15
- data/lib/rdoc/text.rb +24 -117
- data/lib/rdoc/token_stream.rb +11 -33
- data/lib/rdoc/version.rb +1 -1
- data/lib/rdoc.rb +35 -7
- data/lib/rubygems_plugin.rb +2 -11
- data/rdoc-logo.svg +43 -0
- data/rdoc.gemspec +6 -4
- metadata +37 -23
- data/lib/rdoc/code_object/anon_class.rb +0 -10
- data/lib/rdoc/code_object/ghost_method.rb +0 -6
- data/lib/rdoc/code_object/meta_method.rb +0 -6
- data/lib/rdoc/markup/attr_changer.rb +0 -22
- data/lib/rdoc/markup/attr_span.rb +0 -35
- data/lib/rdoc/markup/attribute_manager.rb +0 -432
- data/lib/rdoc/markup/attributes.rb +0 -70
- data/lib/rdoc/markup/regexp_handling.rb +0 -40
- data/lib/rdoc/parser/prism_ruby.rb +0 -1100
- data/lib/rdoc/parser/ripper_state_lex.rb +0 -302
- data/lib/rdoc/parser/ruby_tools.rb +0 -163
|
@@ -39,24 +39,14 @@
|
|
|
39
39
|
--color-neutral-800: #292524;
|
|
40
40
|
--color-neutral-900: #1c1917;
|
|
41
41
|
|
|
42
|
-
/* Code highlighting colors */
|
|
42
|
+
/* Code highlighting colors - neutral palette for all syntax highlighters */
|
|
43
43
|
--code-blue: #1d4ed8;
|
|
44
44
|
--code-green: #047857;
|
|
45
45
|
--code-orange: #d97706;
|
|
46
46
|
--code-purple: #7e22ce;
|
|
47
47
|
--code-red: #dc2626;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
--c-keyword: #b91c1c;
|
|
51
|
-
--c-type: #0891b2;
|
|
52
|
-
--c-macro: #ea580c;
|
|
53
|
-
--c-function: #7c3aed;
|
|
54
|
-
--c-identifier: #475569;
|
|
55
|
-
--c-operator: #059669;
|
|
56
|
-
--c-preprocessor: #a21caf;
|
|
57
|
-
--c-value: #92400e;
|
|
58
|
-
--c-string: #15803d;
|
|
59
|
-
--c-comment: #78716c;
|
|
48
|
+
--code-cyan: #0891b2;
|
|
49
|
+
--code-gray: #78716c;
|
|
60
50
|
|
|
61
51
|
/* Color Palette - Green (for success states) */
|
|
62
52
|
--color-green-400: #4ade80;
|
|
@@ -78,8 +68,11 @@
|
|
|
78
68
|
--color-accent-primary: var(--color-primary-600);
|
|
79
69
|
--color-accent-hover: var(--color-primary-700);
|
|
80
70
|
--color-accent-subtle: var(--color-primary-50);
|
|
71
|
+
--color-title-kind-border: var(--color-primary-200);
|
|
81
72
|
--color-code-bg: #f6f8fa;
|
|
82
73
|
--color-code-border: var(--color-neutral-300);
|
|
74
|
+
--color-sig-bg: var(--color-neutral-100);
|
|
75
|
+
--color-sig-border: var(--color-border-default);
|
|
83
76
|
--color-nav-bg: #fff;
|
|
84
77
|
--color-nav-text: var(--color-neutral-700);
|
|
85
78
|
--color-th-background: var(--color-neutral-100);
|
|
@@ -186,24 +179,14 @@
|
|
|
186
179
|
|
|
187
180
|
/* Dark Theme */
|
|
188
181
|
[data-theme="dark"] {
|
|
189
|
-
/* Code highlighting colors */
|
|
182
|
+
/* Code highlighting colors - neutral palette for all syntax highlighters */
|
|
190
183
|
--code-blue: #93c5fd;
|
|
191
184
|
--code-green: #34d399;
|
|
192
185
|
--code-orange: #fbbf24;
|
|
193
186
|
--code-purple: #c084fc;
|
|
194
187
|
--code-red: #f87171;
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
--c-keyword: #f87171;
|
|
198
|
-
--c-type: #22d3ee;
|
|
199
|
-
--c-macro: #fb923c;
|
|
200
|
-
--c-function: #a78bfa;
|
|
201
|
-
--c-identifier: #94a3b8;
|
|
202
|
-
--c-operator: #6ee7b7;
|
|
203
|
-
--c-preprocessor: #e879f9;
|
|
204
|
-
--c-value: #fcd34d;
|
|
205
|
-
--c-string: #4ade80;
|
|
206
|
-
--c-comment: #a8a29e;
|
|
188
|
+
--code-cyan: #22d3ee;
|
|
189
|
+
--code-gray: #a8a29e;
|
|
207
190
|
|
|
208
191
|
/* Semantic Colors - Dark Theme */
|
|
209
192
|
--color-text-primary: var(--color-neutral-50);
|
|
@@ -221,8 +204,11 @@
|
|
|
221
204
|
--color-accent-hover: var(--color-primary-400);
|
|
222
205
|
--color-accent-subtle: rgb(235 84 79 / 10%);
|
|
223
206
|
--color-accent-subtle-hover: rgb(235 84 79 / 20%);
|
|
207
|
+
--color-title-kind-border: rgb(235 84 79 / 35%);
|
|
224
208
|
--color-code-bg: var(--color-neutral-800);
|
|
225
209
|
--color-code-border: var(--color-neutral-700);
|
|
210
|
+
--color-sig-bg: #211f1e; /* between neutral-900 and neutral-800 */
|
|
211
|
+
--color-sig-border: var(--color-border-subtle);
|
|
226
212
|
--color-nav-bg: var(--color-neutral-900);
|
|
227
213
|
--color-nav-text: var(--color-neutral-50);
|
|
228
214
|
--color-th-background: var(--color-background-tertiary);
|
|
@@ -449,16 +435,35 @@ header.top-navbar {
|
|
|
449
435
|
z-index: var(--z-fixed);
|
|
450
436
|
background: var(--color-background-primary);
|
|
451
437
|
border-bottom: 1px solid var(--color-border-default);
|
|
452
|
-
display:
|
|
438
|
+
display: grid;
|
|
439
|
+
grid-template-columns:
|
|
440
|
+
var(--layout-sidebar-width)
|
|
441
|
+
minmax(0, 1fr);
|
|
453
442
|
align-items: center;
|
|
454
|
-
|
|
455
|
-
padding: 0 var(--space-6);
|
|
456
|
-
gap: var(--space-8);
|
|
443
|
+
padding: 0;
|
|
457
444
|
height: var(--layout-header-height);
|
|
458
445
|
box-shadow: var(--shadow-sm);
|
|
459
446
|
}
|
|
460
447
|
|
|
448
|
+
body.has-toc header.top-navbar {
|
|
449
|
+
grid-template-columns:
|
|
450
|
+
var(--layout-sidebar-width)
|
|
451
|
+
minmax(0, 1fr)
|
|
452
|
+
minmax(var(--layout-toc-width-min), var(--layout-toc-width-max));
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
@media (width <= 1279px) {
|
|
456
|
+
body.has-toc header.top-navbar {
|
|
457
|
+
grid-template-columns:
|
|
458
|
+
var(--layout-sidebar-width)
|
|
459
|
+
minmax(0, 1fr);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
461
463
|
header.top-navbar .navbar-brand {
|
|
464
|
+
grid-column: 1;
|
|
465
|
+
justify-self: start;
|
|
466
|
+
margin-left: var(--space-6);
|
|
462
467
|
font-size: var(--font-size-xl);
|
|
463
468
|
font-weight: var(--font-weight-semibold);
|
|
464
469
|
color: var(--color-text-primary);
|
|
@@ -471,12 +476,16 @@ header.top-navbar .navbar-brand:hover {
|
|
|
471
476
|
}
|
|
472
477
|
|
|
473
478
|
header.top-navbar .navbar-search {
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
479
|
+
grid-column: 2;
|
|
480
|
+
justify-self: center;
|
|
481
|
+
box-sizing: border-box;
|
|
482
|
+
width: min(100%, var(--layout-content-max-width));
|
|
483
|
+
padding: 0 var(--space-8);
|
|
477
484
|
}
|
|
478
485
|
|
|
479
486
|
header.top-navbar .navbar-search form {
|
|
487
|
+
position: relative;
|
|
488
|
+
width: min(100%, var(--layout-search-width));
|
|
480
489
|
margin: 0;
|
|
481
490
|
padding: 0;
|
|
482
491
|
}
|
|
@@ -490,11 +499,13 @@ header.top-navbar .navbar-search form {
|
|
|
490
499
|
|
|
491
500
|
/* Theme toggle button */
|
|
492
501
|
.theme-toggle {
|
|
502
|
+
position: absolute;
|
|
503
|
+
top: 50%;
|
|
504
|
+
right: var(--space-6);
|
|
493
505
|
display: flex;
|
|
494
506
|
align-items: center;
|
|
495
507
|
justify-content: center;
|
|
496
508
|
padding: var(--space-2);
|
|
497
|
-
margin-left: auto;
|
|
498
509
|
background: transparent;
|
|
499
510
|
border: 1px solid var(--color-border-default);
|
|
500
511
|
border-radius: var(--radius-md);
|
|
@@ -509,13 +520,14 @@ header.top-navbar .navbar-search form {
|
|
|
509
520
|
line-height: 1;
|
|
510
521
|
width: 2.5rem;
|
|
511
522
|
height: 2.5rem;
|
|
523
|
+
transform: translateY(-50%);
|
|
512
524
|
}
|
|
513
525
|
|
|
514
526
|
.theme-toggle:hover {
|
|
515
527
|
background: var(--color-background-secondary);
|
|
516
528
|
border-color: var(--color-accent-primary);
|
|
517
529
|
color: var(--color-accent-primary);
|
|
518
|
-
transform: scale(1.05);
|
|
530
|
+
transform: translateY(-50%) scale(1.05);
|
|
519
531
|
}
|
|
520
532
|
|
|
521
533
|
.theme-toggle:focus {
|
|
@@ -525,7 +537,7 @@ header.top-navbar .navbar-search form {
|
|
|
525
537
|
}
|
|
526
538
|
|
|
527
539
|
.theme-toggle:active {
|
|
528
|
-
transform: scale(0.95);
|
|
540
|
+
transform: translateY(-50%) scale(0.95);
|
|
529
541
|
}
|
|
530
542
|
|
|
531
543
|
.theme-toggle-icon {
|
|
@@ -578,10 +590,24 @@ header.top-navbar .navbar-search form {
|
|
|
578
590
|
text-overflow: ellipsis;
|
|
579
591
|
white-space: nowrap;
|
|
580
592
|
}
|
|
593
|
+
|
|
594
|
+
.theme-toggle {
|
|
595
|
+
position: static;
|
|
596
|
+
transform: none;
|
|
597
|
+
margin-right: 0;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
.theme-toggle:hover {
|
|
601
|
+
transform: scale(1.05);
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
.theme-toggle:active {
|
|
605
|
+
transform: scale(0.95);
|
|
606
|
+
}
|
|
581
607
|
}
|
|
582
608
|
|
|
583
609
|
/* 7. Navigation (Left Sidebar) */
|
|
584
|
-
|
|
610
|
+
#sidebar-navigation {
|
|
585
611
|
grid-area: nav;
|
|
586
612
|
font-family: var(--font-heading);
|
|
587
613
|
font-size: var(--font-size-base);
|
|
@@ -600,27 +626,27 @@ nav {
|
|
|
600
626
|
}
|
|
601
627
|
|
|
602
628
|
/* Custom scrollbar for WebKit browsers */
|
|
603
|
-
|
|
629
|
+
#sidebar-navigation::-webkit-scrollbar {
|
|
604
630
|
width: 6px;
|
|
605
631
|
}
|
|
606
632
|
|
|
607
|
-
|
|
633
|
+
#sidebar-navigation::-webkit-scrollbar-track {
|
|
608
634
|
background: transparent;
|
|
609
635
|
}
|
|
610
636
|
|
|
611
|
-
|
|
637
|
+
#sidebar-navigation::-webkit-scrollbar-thumb {
|
|
612
638
|
background: var(--color-border-default);
|
|
613
639
|
border-radius: var(--radius-sm);
|
|
614
640
|
transition: background var(--transition-fast);
|
|
615
641
|
}
|
|
616
642
|
|
|
617
|
-
|
|
643
|
+
#sidebar-navigation::-webkit-scrollbar-thumb:hover {
|
|
618
644
|
background: var(--color-border-emphasis);
|
|
619
645
|
}
|
|
620
646
|
|
|
621
647
|
/* Mobile navigation */
|
|
622
648
|
@media (width <= 1023px) {
|
|
623
|
-
|
|
649
|
+
#sidebar-navigation {
|
|
624
650
|
position: fixed;
|
|
625
651
|
top: var(--layout-header-height);
|
|
626
652
|
bottom: 0;
|
|
@@ -632,7 +658,7 @@ nav::-webkit-scrollbar-thumb:hover {
|
|
|
632
658
|
/* Don't set height - let top/bottom define it */
|
|
633
659
|
}
|
|
634
660
|
|
|
635
|
-
|
|
661
|
+
#sidebar-navigation[hidden] {
|
|
636
662
|
display: none;
|
|
637
663
|
}
|
|
638
664
|
|
|
@@ -649,7 +675,7 @@ nav::-webkit-scrollbar-thumb:hover {
|
|
|
649
675
|
}
|
|
650
676
|
|
|
651
677
|
/* Show backdrop when nav is open */
|
|
652
|
-
body.
|
|
678
|
+
body.sidebar-navigation-open::before {
|
|
653
679
|
opacity: 1;
|
|
654
680
|
pointer-events: auto;
|
|
655
681
|
}
|
|
@@ -657,17 +683,18 @@ nav::-webkit-scrollbar-thumb:hover {
|
|
|
657
683
|
|
|
658
684
|
/* Desktop: hide nav when [hidden] attribute is set */
|
|
659
685
|
@media (width >= 1024px) {
|
|
660
|
-
|
|
686
|
+
#sidebar-navigation[hidden] {
|
|
661
687
|
display: none;
|
|
662
688
|
}
|
|
663
689
|
}
|
|
664
690
|
|
|
665
|
-
|
|
691
|
+
#sidebar-navigation .nav-section {
|
|
666
692
|
margin-top: var(--space-6);
|
|
667
693
|
padding: 0 var(--space-6);
|
|
668
694
|
}
|
|
669
695
|
|
|
670
|
-
|
|
696
|
+
#sidebar-navigation h2,
|
|
697
|
+
#sidebar-navigation h3 {
|
|
671
698
|
font-size: var(--font-size-lg);
|
|
672
699
|
font-weight: var(--font-weight-semibold);
|
|
673
700
|
margin: 0 0 var(--space-4);
|
|
@@ -676,51 +703,51 @@ nav h2, nav h3 {
|
|
|
676
703
|
border-bottom: 1px solid var(--color-border-default);
|
|
677
704
|
}
|
|
678
705
|
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
706
|
+
#sidebar-navigation ul,
|
|
707
|
+
#sidebar-navigation dl,
|
|
708
|
+
#sidebar-navigation p {
|
|
682
709
|
padding: 0;
|
|
683
710
|
list-style: none;
|
|
684
711
|
margin: var(--space-3) 0;
|
|
685
712
|
}
|
|
686
713
|
|
|
687
|
-
|
|
714
|
+
#sidebar-navigation ul li {
|
|
688
715
|
margin-bottom: var(--space-2);
|
|
689
716
|
line-height: var(--line-height-relaxed);
|
|
690
717
|
}
|
|
691
718
|
|
|
692
|
-
|
|
719
|
+
#sidebar-navigation ul li a {
|
|
693
720
|
transition:
|
|
694
721
|
color var(--transition-fast),
|
|
695
722
|
transform var(--transition-fast),
|
|
696
723
|
padding var(--transition-fast);
|
|
697
724
|
}
|
|
698
725
|
|
|
699
|
-
|
|
726
|
+
#sidebar-navigation ul li a:hover {
|
|
700
727
|
padding-left: var(--space-1);
|
|
701
728
|
}
|
|
702
729
|
|
|
703
|
-
|
|
730
|
+
#sidebar-navigation ul ul {
|
|
704
731
|
padding-left: var(--space-5);
|
|
705
|
-
margin
|
|
732
|
+
margin: var(--space-2) 0 0;
|
|
706
733
|
}
|
|
707
734
|
|
|
708
|
-
|
|
735
|
+
#sidebar-navigation ul ul ul {
|
|
709
736
|
padding-left: var(--space-5);
|
|
710
737
|
}
|
|
711
738
|
|
|
712
|
-
|
|
739
|
+
#sidebar-navigation ul ul ul ul {
|
|
713
740
|
padding-left: var(--space-5);
|
|
714
741
|
}
|
|
715
742
|
|
|
716
|
-
|
|
743
|
+
#sidebar-navigation a {
|
|
717
744
|
text-decoration: none;
|
|
718
745
|
}
|
|
719
746
|
|
|
720
747
|
/* Truncation for direct nav links (not links inside code tags) */
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
748
|
+
#sidebar-navigation .nav-list > li > a,
|
|
749
|
+
#sidebar-navigation .nav-section > ul > li > a,
|
|
750
|
+
#sidebar-navigation .nav-section > dl > dd > a {
|
|
724
751
|
display: block;
|
|
725
752
|
max-width: 100%;
|
|
726
753
|
overflow: hidden;
|
|
@@ -728,22 +755,22 @@ nav .nav-section > dl > dd > a {
|
|
|
728
755
|
white-space: nowrap;
|
|
729
756
|
}
|
|
730
757
|
|
|
731
|
-
|
|
758
|
+
#sidebar-navigation footer {
|
|
732
759
|
padding: var(--space-4);
|
|
733
760
|
border-top: 1px solid var(--color-border-default);
|
|
734
761
|
}
|
|
735
762
|
|
|
736
|
-
|
|
763
|
+
#sidebar-navigation footer a {
|
|
737
764
|
color: var(--color-accent-hover);
|
|
738
765
|
}
|
|
739
766
|
|
|
740
|
-
#navigation-toggle {
|
|
767
|
+
#sidebar-navigation-toggle {
|
|
741
768
|
display: none; /* Hidden by default, shown on mobile */
|
|
742
769
|
}
|
|
743
770
|
|
|
744
771
|
/* Mobile toggle button */
|
|
745
772
|
@media (width <= 1023px) {
|
|
746
|
-
#navigation-toggle {
|
|
773
|
+
#sidebar-navigation-toggle {
|
|
747
774
|
display: flex;
|
|
748
775
|
align-items: center;
|
|
749
776
|
justify-content: center;
|
|
@@ -763,7 +790,7 @@ nav footer a {
|
|
|
763
790
|
-webkit-user-select: none;
|
|
764
791
|
}
|
|
765
792
|
|
|
766
|
-
#navigation-toggle:hover {
|
|
793
|
+
#sidebar-navigation-toggle:hover {
|
|
767
794
|
color: var(--color-accent-primary);
|
|
768
795
|
}
|
|
769
796
|
}
|
|
@@ -774,23 +801,23 @@ nav footer a {
|
|
|
774
801
|
* Uses block-size animation with interpolate-size for smooth height transitions.
|
|
775
802
|
* Both nav-section-collapsible and nested link-list details share this pattern.
|
|
776
803
|
*/
|
|
777
|
-
|
|
804
|
+
#sidebar-navigation details {
|
|
778
805
|
interpolate-size: allow-keywords;
|
|
779
806
|
}
|
|
780
807
|
|
|
781
|
-
|
|
808
|
+
#sidebar-navigation details::details-content {
|
|
782
809
|
overflow: hidden;
|
|
783
810
|
block-size: 0;
|
|
784
811
|
transition: block-size 200ms ease, content-visibility 200ms ease allow-discrete;
|
|
785
812
|
}
|
|
786
813
|
|
|
787
|
-
|
|
814
|
+
#sidebar-navigation details[open]::details-content {
|
|
788
815
|
block-size: auto;
|
|
789
816
|
}
|
|
790
817
|
|
|
791
818
|
/* Collapsible Navigation Section Headers */
|
|
792
819
|
|
|
793
|
-
|
|
820
|
+
#sidebar-navigation .nav-section-header {
|
|
794
821
|
display: flex;
|
|
795
822
|
align-items: center;
|
|
796
823
|
gap: var(--space-3);
|
|
@@ -804,15 +831,15 @@ nav .nav-section-header {
|
|
|
804
831
|
transition: color var(--transition-fast);
|
|
805
832
|
}
|
|
806
833
|
|
|
807
|
-
|
|
834
|
+
#sidebar-navigation .nav-section-header::-webkit-details-marker {
|
|
808
835
|
display: none;
|
|
809
836
|
}
|
|
810
837
|
|
|
811
|
-
|
|
838
|
+
#sidebar-navigation .nav-section-header:hover {
|
|
812
839
|
color: var(--color-accent-primary);
|
|
813
840
|
}
|
|
814
841
|
|
|
815
|
-
|
|
842
|
+
#sidebar-navigation .nav-section-icon {
|
|
816
843
|
display: flex;
|
|
817
844
|
align-items: center;
|
|
818
845
|
justify-content: center;
|
|
@@ -822,12 +849,12 @@ nav .nav-section-icon {
|
|
|
822
849
|
color: var(--color-accent-primary);
|
|
823
850
|
}
|
|
824
851
|
|
|
825
|
-
|
|
852
|
+
#sidebar-navigation .nav-section-icon svg {
|
|
826
853
|
width: 100%;
|
|
827
854
|
height: 100%;
|
|
828
855
|
}
|
|
829
856
|
|
|
830
|
-
|
|
857
|
+
#sidebar-navigation .nav-section-title {
|
|
831
858
|
font-size: var(--font-size-base);
|
|
832
859
|
font-weight: var(--font-weight-semibold);
|
|
833
860
|
color: inherit;
|
|
@@ -838,7 +865,7 @@ nav .nav-section-title {
|
|
|
838
865
|
white-space: nowrap;
|
|
839
866
|
}
|
|
840
867
|
|
|
841
|
-
|
|
868
|
+
#sidebar-navigation .nav-section-chevron {
|
|
842
869
|
display: flex;
|
|
843
870
|
align-items: center;
|
|
844
871
|
justify-content: center;
|
|
@@ -849,46 +876,50 @@ nav .nav-section-chevron {
|
|
|
849
876
|
transition: transform var(--transition-base);
|
|
850
877
|
}
|
|
851
878
|
|
|
852
|
-
|
|
879
|
+
#sidebar-navigation .nav-section-chevron svg {
|
|
853
880
|
width: 100%;
|
|
854
881
|
height: 100%;
|
|
855
882
|
}
|
|
856
883
|
|
|
857
884
|
/* Rotate chevron when open */
|
|
858
|
-
|
|
885
|
+
#sidebar-navigation .nav-section-collapsible[open] > .nav-section-header .nav-section-chevron {
|
|
859
886
|
transform: rotate(90deg);
|
|
860
887
|
}
|
|
861
888
|
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
889
|
+
#sidebar-navigation .nav-section-collapsible > ul,
|
|
890
|
+
#sidebar-navigation .nav-section-collapsible > dl,
|
|
891
|
+
#sidebar-navigation .nav-section-collapsible > p {
|
|
865
892
|
margin-top: 0;
|
|
866
893
|
}
|
|
867
894
|
|
|
868
|
-
|
|
895
|
+
#sidebar-navigation .nav-section-collapsible > .nav-list {
|
|
869
896
|
padding-left: var(--space-5);
|
|
870
897
|
border-left: 1px solid var(--color-border-subtle);
|
|
871
898
|
margin-left: 9px; /* Align with the section icon center */
|
|
872
899
|
}
|
|
873
900
|
|
|
874
|
-
|
|
901
|
+
#sidebar-navigation .nav-section-collapsible .nav-list .link-list {
|
|
875
902
|
border-left: none;
|
|
876
903
|
margin-left: 0;
|
|
877
904
|
padding-left: var(--space-5);
|
|
878
905
|
}
|
|
879
906
|
|
|
907
|
+
#sidebar-navigation .nav-section-collapsible .nav-list .link-list > li:last-child {
|
|
908
|
+
margin-bottom: 0;
|
|
909
|
+
}
|
|
910
|
+
|
|
880
911
|
/*
|
|
881
912
|
Improve chevron styling for details under link-list, using SVG chevron that matches nav-section-chevron
|
|
882
913
|
We need to avoid adding the element in class content generation so it doesn't break darkfish styles
|
|
883
914
|
*/
|
|
884
|
-
|
|
915
|
+
#sidebar-navigation li details:has(.link-list) > summary {
|
|
885
916
|
display: inline-flex;
|
|
886
917
|
align-items: center;
|
|
887
918
|
gap: var(--space-2);
|
|
888
919
|
cursor: pointer;
|
|
889
920
|
}
|
|
890
921
|
|
|
891
|
-
|
|
922
|
+
#sidebar-navigation li details:has(.link-list) > summary::after {
|
|
892
923
|
content: '';
|
|
893
924
|
position: static;
|
|
894
925
|
display: inline-block;
|
|
@@ -908,11 +939,11 @@ nav li details:has(.link-list) > summary::after {
|
|
|
908
939
|
transition: transform var(--transition-base), background-color var(--transition-fast);
|
|
909
940
|
}
|
|
910
941
|
|
|
911
|
-
|
|
942
|
+
#sidebar-navigation li details:has(.link-list) > summary:hover::after {
|
|
912
943
|
background-color: var(--color-accent-primary);
|
|
913
944
|
}
|
|
914
945
|
|
|
915
|
-
|
|
946
|
+
#sidebar-navigation li details:has(.link-list)[open] > summary::after {
|
|
916
947
|
transform: rotate(90deg);
|
|
917
948
|
background-color: var(--color-accent-primary);
|
|
918
949
|
}
|
|
@@ -921,6 +952,7 @@ nav li details:has(.link-list)[open] > summary::after {
|
|
|
921
952
|
main {
|
|
922
953
|
grid-area: main;
|
|
923
954
|
width: 100%;
|
|
955
|
+
min-width: 0;
|
|
924
956
|
max-width: var(--layout-content-max-width);
|
|
925
957
|
margin: 0 auto;
|
|
926
958
|
padding: var(--space-12) var(--space-8);
|
|
@@ -932,7 +964,7 @@ main {
|
|
|
932
964
|
|
|
933
965
|
/* Desktop: hide hamburger */
|
|
934
966
|
@media (width >= 1024px) {
|
|
935
|
-
#navigation-toggle {
|
|
967
|
+
#sidebar-navigation-toggle {
|
|
936
968
|
display: none;
|
|
937
969
|
}
|
|
938
970
|
}
|
|
@@ -955,13 +987,38 @@ main {
|
|
|
955
987
|
}
|
|
956
988
|
}
|
|
957
989
|
|
|
958
|
-
main h1
|
|
990
|
+
main h1.page-title {
|
|
991
|
+
display: grid;
|
|
992
|
+
gap: var(--space-2);
|
|
993
|
+
justify-items: start;
|
|
959
994
|
margin-top: 0;
|
|
960
|
-
margin-bottom:
|
|
961
|
-
font-size: 2.5em;
|
|
995
|
+
margin-bottom: var(--space-8);
|
|
962
996
|
color: var(--color-accent-primary);
|
|
963
997
|
}
|
|
964
998
|
|
|
999
|
+
main h1.page-title .page-title-kind {
|
|
1000
|
+
display: inline-flex;
|
|
1001
|
+
align-items: center;
|
|
1002
|
+
min-height: 1.625rem;
|
|
1003
|
+
padding: 0 var(--space-2);
|
|
1004
|
+
border: 1px solid var(--color-title-kind-border);
|
|
1005
|
+
border-radius: var(--radius-md);
|
|
1006
|
+
background: var(--color-accent-subtle);
|
|
1007
|
+
color: var(--color-accent-primary);
|
|
1008
|
+
font-size: var(--font-size-sm);
|
|
1009
|
+
font-weight: var(--font-weight-semibold);
|
|
1010
|
+
line-height: 1;
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
main h1.page-title .page-title-name {
|
|
1014
|
+
max-width: 100%;
|
|
1015
|
+
color: var(--color-accent-primary);
|
|
1016
|
+
font-size: var(--font-size-3xl);
|
|
1017
|
+
font-weight: var(--font-weight-bold);
|
|
1018
|
+
line-height: var(--line-height-tight);
|
|
1019
|
+
overflow-wrap: anywhere;
|
|
1020
|
+
}
|
|
1021
|
+
|
|
965
1022
|
main h1,
|
|
966
1023
|
main h2,
|
|
967
1024
|
main h3,
|
|
@@ -1037,7 +1094,6 @@ main h6 a:hover {
|
|
|
1037
1094
|
.ruby-ivar { color: var(--code-orange); }
|
|
1038
1095
|
.ruby-operator { color: var(--code-green); }
|
|
1039
1096
|
.ruby-identifier { color: var(--code-blue); }
|
|
1040
|
-
.ruby-node { color: var(--code-purple); }
|
|
1041
1097
|
|
|
1042
1098
|
.ruby-comment {
|
|
1043
1099
|
color: var(--color-neutral-500);
|
|
@@ -1053,7 +1109,6 @@ main h6 a:hover {
|
|
|
1053
1109
|
[data-theme="dark"] .ruby-ivar { color: var(--code-orange); }
|
|
1054
1110
|
[data-theme="dark"] .ruby-operator { color: var(--code-green); }
|
|
1055
1111
|
[data-theme="dark"] .ruby-identifier { color: var(--code-blue); }
|
|
1056
|
-
[data-theme="dark"] .ruby-node { color: var(--code-purple); }
|
|
1057
1112
|
|
|
1058
1113
|
[data-theme="dark"] .ruby-comment {
|
|
1059
1114
|
color: var(--color-neutral-400);
|
|
@@ -1064,21 +1119,47 @@ main h6 a:hover {
|
|
|
1064
1119
|
[data-theme="dark"] .ruby-string { color: var(--code-green); }
|
|
1065
1120
|
|
|
1066
1121
|
/* C Syntax Highlighting */
|
|
1067
|
-
.c-keyword { color: var(--
|
|
1068
|
-
.c-type { color: var(--
|
|
1069
|
-
.c-macro { color: var(--
|
|
1070
|
-
.c-function { color: var(--
|
|
1071
|
-
.c-identifier { color: var(--
|
|
1072
|
-
.c-operator { color: var(--
|
|
1073
|
-
.c-preprocessor { color: var(--
|
|
1074
|
-
.c-value { color: var(--
|
|
1075
|
-
.c-string { color: var(--
|
|
1122
|
+
.c-keyword { color: var(--code-red); }
|
|
1123
|
+
.c-type { color: var(--code-cyan); }
|
|
1124
|
+
.c-macro { color: var(--code-orange); }
|
|
1125
|
+
.c-function { color: var(--code-purple); }
|
|
1126
|
+
.c-identifier { color: var(--color-text-secondary); }
|
|
1127
|
+
.c-operator { color: var(--code-green); }
|
|
1128
|
+
.c-preprocessor { color: var(--code-purple); }
|
|
1129
|
+
.c-value { color: var(--code-orange); }
|
|
1130
|
+
.c-string { color: var(--code-green); }
|
|
1076
1131
|
|
|
1077
1132
|
.c-comment {
|
|
1078
|
-
color: var(--
|
|
1133
|
+
color: var(--code-gray);
|
|
1079
1134
|
font-style: italic;
|
|
1080
1135
|
}
|
|
1081
1136
|
|
|
1137
|
+
/* Shell Syntax Highlighting */
|
|
1138
|
+
.sh-prompt { color: var(--code-gray); }
|
|
1139
|
+
.sh-command { color: var(--code-blue); }
|
|
1140
|
+
.sh-option { color: var(--code-cyan); }
|
|
1141
|
+
.sh-string { color: var(--code-green); }
|
|
1142
|
+
.sh-envvar { color: var(--code-purple); }
|
|
1143
|
+
|
|
1144
|
+
.sh-comment {
|
|
1145
|
+
color: var(--code-gray);
|
|
1146
|
+
font-style: italic;
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
/* RBS Type Signature Links — linked types get subtle underline */
|
|
1150
|
+
a.rbs-type {
|
|
1151
|
+
color: inherit;
|
|
1152
|
+
text-decoration: underline;
|
|
1153
|
+
text-decoration-color: var(--color-border-default);
|
|
1154
|
+
text-underline-offset: 0.2em;
|
|
1155
|
+
transition: text-decoration-color var(--transition-fast), color var(--transition-fast);
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
a.rbs-type:hover {
|
|
1159
|
+
color: var(--color-link-hover);
|
|
1160
|
+
text-decoration-color: var(--color-link-hover);
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1082
1163
|
/* Emphasis */
|
|
1083
1164
|
em {
|
|
1084
1165
|
text-decoration-color: var(--color-emphasis-decoration);
|
|
@@ -1099,6 +1180,22 @@ main p {
|
|
|
1099
1180
|
margin-bottom: var(--space-4);
|
|
1100
1181
|
}
|
|
1101
1182
|
|
|
1183
|
+
main .rdoc-logo {
|
|
1184
|
+
margin: var(--space-6) 0 var(--space-8);
|
|
1185
|
+
text-align: center;
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
main .rdoc-logo img {
|
|
1189
|
+
display: inline-block;
|
|
1190
|
+
width: clamp(120px, 14vw, 168px);
|
|
1191
|
+
height: auto;
|
|
1192
|
+
filter: drop-shadow(0 8px 18px rgb(230 41 35 / 8%));
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
[data-theme="dark"] main .rdoc-logo img {
|
|
1196
|
+
filter: saturate(0.58) brightness(1.4) drop-shadow(0 8px 22px rgb(235 84 79 / 16%));
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1102
1199
|
/* Preformatted Text */
|
|
1103
1200
|
main pre {
|
|
1104
1201
|
margin: 1.2em 0.5em;
|
|
@@ -1162,17 +1259,19 @@ main dd p:first-child {
|
|
|
1162
1259
|
|
|
1163
1260
|
/* Headers within Main */
|
|
1164
1261
|
main header h2 {
|
|
1165
|
-
margin
|
|
1262
|
+
margin: var(--space-8) 0 var(--space-4);
|
|
1263
|
+
padding-top: var(--space-3);
|
|
1166
1264
|
border-width: 0;
|
|
1167
|
-
border-top:
|
|
1168
|
-
font-size:
|
|
1265
|
+
border-top: 1px solid var(--color-border-default);
|
|
1266
|
+
font-size: var(--font-size-2xl);
|
|
1169
1267
|
}
|
|
1170
1268
|
|
|
1171
1269
|
main header h3 {
|
|
1172
|
-
margin:
|
|
1270
|
+
margin: var(--space-8) 0 var(--space-6);
|
|
1271
|
+
padding-top: var(--space-3);
|
|
1173
1272
|
border-width: 0;
|
|
1174
|
-
border-top:
|
|
1175
|
-
font-size:
|
|
1273
|
+
border-top: 1px solid var(--color-border-default);
|
|
1274
|
+
font-size: var(--font-size-xl);
|
|
1176
1275
|
}
|
|
1177
1276
|
|
|
1178
1277
|
h1:target,
|
|
@@ -1245,8 +1344,7 @@ main .method-source-code {
|
|
|
1245
1344
|
}
|
|
1246
1345
|
|
|
1247
1346
|
main .method-source-code pre {
|
|
1248
|
-
border-color: var(--color-
|
|
1249
|
-
border-left: 3px solid var(--color-accent-primary);
|
|
1347
|
+
border-color: var(--color-code-border);
|
|
1250
1348
|
width: 100%;
|
|
1251
1349
|
box-sizing: border-box;
|
|
1252
1350
|
transition: border-color var(--transition-fast);
|
|
@@ -1290,6 +1388,7 @@ main .method-description .method-calls-super {
|
|
|
1290
1388
|
}
|
|
1291
1389
|
|
|
1292
1390
|
main .method-detail {
|
|
1391
|
+
position: relative;
|
|
1293
1392
|
margin-bottom: 2.5em;
|
|
1294
1393
|
}
|
|
1295
1394
|
|
|
@@ -1300,32 +1399,106 @@ main .method-detail:target {
|
|
|
1300
1399
|
}
|
|
1301
1400
|
|
|
1302
1401
|
main .method-header {
|
|
1303
|
-
display:
|
|
1304
|
-
|
|
1402
|
+
display: grid;
|
|
1403
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
1404
|
+
gap: var(--space-4);
|
|
1405
|
+
align-items: center;
|
|
1406
|
+
background: var(--color-sig-bg);
|
|
1407
|
+
border: 1px solid var(--color-sig-border);
|
|
1408
|
+
border-radius: var(--radius-md);
|
|
1409
|
+
padding: var(--space-4);
|
|
1410
|
+
}
|
|
1411
|
+
|
|
1412
|
+
main .method-heading-group {
|
|
1413
|
+
min-width: 0;
|
|
1305
1414
|
}
|
|
1306
1415
|
|
|
1307
1416
|
main .method-heading {
|
|
1308
|
-
|
|
1417
|
+
display: flex;
|
|
1418
|
+
flex-direction: column;
|
|
1419
|
+
align-items: flex-start;
|
|
1309
1420
|
font-family: var(--font-code);
|
|
1310
1421
|
font-size: var(--font-size-lg);
|
|
1311
1422
|
font-weight: var(--font-weight-semibold);
|
|
1312
|
-
|
|
1423
|
+
line-height: var(--line-height-normal);
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
main .method-heading a {
|
|
1427
|
+
color: inherit;
|
|
1428
|
+
text-decoration: none;
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
main .method-heading a:hover {
|
|
1432
|
+
color: var(--color-accent-primary);
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
main .method-heading .method-callseq {
|
|
1436
|
+
display: block;
|
|
1313
1437
|
}
|
|
1314
1438
|
|
|
1315
1439
|
main .method-heading .method-name {
|
|
1316
1440
|
font-weight: var(--font-weight-semibold);
|
|
1441
|
+
overflow-wrap: anywhere;
|
|
1317
1442
|
}
|
|
1318
1443
|
|
|
1319
1444
|
main .method-heading .method-args {
|
|
1320
1445
|
font-weight: var(--font-weight-normal);
|
|
1321
1446
|
}
|
|
1322
1447
|
|
|
1448
|
+
/* Type signatures — overloads stack as a code block under the method name */
|
|
1449
|
+
pre.method-type-signature {
|
|
1450
|
+
position: relative;
|
|
1451
|
+
margin: var(--space-2) 0 0;
|
|
1452
|
+
padding: var(--space-2) 0 0;
|
|
1453
|
+
background: transparent;
|
|
1454
|
+
border: none;
|
|
1455
|
+
border-radius: 0;
|
|
1456
|
+
overflow: visible;
|
|
1457
|
+
font-family: var(--font-code);
|
|
1458
|
+
font-size: var(--font-size-sm);
|
|
1459
|
+
color: var(--color-text-tertiary);
|
|
1460
|
+
line-height: var(--line-height-tight);
|
|
1461
|
+
white-space: pre-wrap;
|
|
1462
|
+
overflow-wrap: break-word;
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1465
|
+
pre.method-type-signature::before {
|
|
1466
|
+
content: '';
|
|
1467
|
+
position: absolute;
|
|
1468
|
+
top: 0;
|
|
1469
|
+
left: 0;
|
|
1470
|
+
right: 0;
|
|
1471
|
+
border-top: 1px dotted var(--color-border-default);
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1474
|
+
pre.method-type-signature code {
|
|
1475
|
+
font-family: inherit;
|
|
1476
|
+
font-size: inherit;
|
|
1477
|
+
color: inherit;
|
|
1478
|
+
background: transparent;
|
|
1479
|
+
padding: 0;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
/* Attribute type sigs render inline after the [RW] badge */
|
|
1483
|
+
main .method-heading > .method-type-signature {
|
|
1484
|
+
display: inline;
|
|
1485
|
+
margin-left: var(--space-2);
|
|
1486
|
+
font-family: var(--font-code);
|
|
1487
|
+
font-size: var(--font-size-sm);
|
|
1488
|
+
color: var(--color-text-secondary);
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1323
1491
|
main .method-controls {
|
|
1324
|
-
|
|
1492
|
+
position: static;
|
|
1493
|
+
align-self: center;
|
|
1325
1494
|
}
|
|
1326
1495
|
|
|
1327
1496
|
main .method-controls summary {
|
|
1328
|
-
display: inline-
|
|
1497
|
+
display: inline-flex;
|
|
1498
|
+
align-items: center;
|
|
1499
|
+
justify-content: center;
|
|
1500
|
+
gap: var(--space-2);
|
|
1501
|
+
min-height: 30px;
|
|
1329
1502
|
line-height: 20px;
|
|
1330
1503
|
color: var(--color-accent-primary);
|
|
1331
1504
|
cursor: pointer;
|
|
@@ -1342,6 +1515,7 @@ main .method-controls summary {
|
|
|
1342
1515
|
transform var(--transition-fast);
|
|
1343
1516
|
user-select: none;
|
|
1344
1517
|
-webkit-user-select: none;
|
|
1518
|
+
white-space: nowrap;
|
|
1345
1519
|
list-style: none;
|
|
1346
1520
|
}
|
|
1347
1521
|
|
|
@@ -1359,19 +1533,31 @@ main .method-controls summary:active {
|
|
|
1359
1533
|
transform: scale(0.96);
|
|
1360
1534
|
}
|
|
1361
1535
|
|
|
1536
|
+
main .method-source-icon {
|
|
1537
|
+
font-family: var(--font-code);
|
|
1538
|
+
font-size: var(--font-size-xs);
|
|
1539
|
+
line-height: 1;
|
|
1540
|
+
opacity: 0.8;
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1362
1543
|
[data-theme="dark"] main .method-controls summary:hover {
|
|
1363
1544
|
background: var(--color-accent-subtle-hover);
|
|
1364
1545
|
border-color: var(--color-primary-500);
|
|
1365
1546
|
}
|
|
1366
1547
|
|
|
1367
|
-
main .method-description
|
|
1368
|
-
main .aliases {
|
|
1369
|
-
margin-top: 0.75em;
|
|
1548
|
+
main .method-description {
|
|
1370
1549
|
color: var(--color-text-primary);
|
|
1550
|
+
line-height: var(--line-height-relaxed);
|
|
1551
|
+
}
|
|
1552
|
+
|
|
1553
|
+
main .method-header ~ .method-description {
|
|
1554
|
+
margin-top: var(--space-5);
|
|
1555
|
+
padding-left: var(--space-2);
|
|
1371
1556
|
}
|
|
1372
1557
|
|
|
1373
1558
|
main .aliases {
|
|
1374
|
-
|
|
1559
|
+
margin-top: var(--space-4);
|
|
1560
|
+
padding-top: var(--space-1);
|
|
1375
1561
|
font-style: italic;
|
|
1376
1562
|
cursor: default;
|
|
1377
1563
|
}
|
|
@@ -1401,7 +1587,7 @@ main .attribute-access-type {
|
|
|
1401
1587
|
|
|
1402
1588
|
/* Small screen adjustments */
|
|
1403
1589
|
@media (width <= 480px) {
|
|
1404
|
-
|
|
1590
|
+
#sidebar-navigation {
|
|
1405
1591
|
width: 85%;
|
|
1406
1592
|
max-width: 320px;
|
|
1407
1593
|
}
|
|
@@ -1418,9 +1604,22 @@ main .attribute-access-type {
|
|
|
1418
1604
|
white-space: nowrap;
|
|
1419
1605
|
}
|
|
1420
1606
|
|
|
1607
|
+
main .method-heading {
|
|
1608
|
+
font-size: var(--font-size-base);
|
|
1609
|
+
}
|
|
1610
|
+
|
|
1611
|
+
pre.method-type-signature {
|
|
1612
|
+
font-size: var(--font-size-xs);
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
main .method-header {
|
|
1616
|
+
grid-template-columns: 1fr;
|
|
1617
|
+
gap: var(--space-3);
|
|
1618
|
+
padding: var(--space-2);
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1421
1621
|
main .method-controls {
|
|
1422
|
-
|
|
1423
|
-
float: none;
|
|
1622
|
+
justify-self: start;
|
|
1424
1623
|
}
|
|
1425
1624
|
}
|
|
1426
1625
|
|
|
@@ -1602,7 +1801,7 @@ main .attribute-access-type {
|
|
|
1602
1801
|
}
|
|
1603
1802
|
|
|
1604
1803
|
/* 10. Right Sidebar - Table of Contents */
|
|
1605
|
-
|
|
1804
|
+
#table-of-contents {
|
|
1606
1805
|
grid-area: toc;
|
|
1607
1806
|
align-self: start;
|
|
1608
1807
|
position: sticky;
|
|
@@ -1613,43 +1812,45 @@ aside.table-of-contents {
|
|
|
1613
1812
|
font-size: var(--font-size-base);
|
|
1614
1813
|
}
|
|
1615
1814
|
|
|
1616
|
-
|
|
1617
|
-
border-right: none !important;
|
|
1618
|
-
outline: none !important;
|
|
1619
|
-
}
|
|
1620
|
-
|
|
1621
|
-
aside.table-of-contents .toc-sticky {
|
|
1815
|
+
#table-of-contents .toc-sticky {
|
|
1622
1816
|
display: flex;
|
|
1623
1817
|
flex-direction: column;
|
|
1624
1818
|
|
|
1625
|
-
/* Exclude header height and top/bottom padding of
|
|
1819
|
+
/* Exclude header height and top/bottom padding of #table-of-contents */
|
|
1626
1820
|
height: calc(100vh - var(--layout-header-height) - var(--space-8) * 2);
|
|
1627
1821
|
}
|
|
1628
1822
|
|
|
1629
|
-
|
|
1630
|
-
|
|
1823
|
+
#table-of-contents .toc-nav {
|
|
1824
|
+
flex: 1 1 auto;
|
|
1825
|
+
min-height: 0;
|
|
1826
|
+
overflow-y: auto;
|
|
1827
|
+
scrollbar-width: thin;
|
|
1828
|
+
scrollbar-color: var(--color-border-default) transparent;
|
|
1631
1829
|
}
|
|
1632
1830
|
|
|
1633
|
-
|
|
1831
|
+
#table-of-contents .toc-list > .toc-h2 {
|
|
1634
1832
|
margin-left: var(--space-4);
|
|
1635
1833
|
}
|
|
1636
1834
|
|
|
1637
|
-
|
|
1835
|
+
#table-of-contents .toc-list > .toc-h3 {
|
|
1638
1836
|
margin-left: var(--space-8);
|
|
1639
1837
|
}
|
|
1640
1838
|
|
|
1641
1839
|
/* Hide TOC on mobile/tablet */
|
|
1642
1840
|
@media (width <= 1279px) {
|
|
1643
|
-
|
|
1841
|
+
#table-of-contents {
|
|
1644
1842
|
display: none;
|
|
1645
1843
|
}
|
|
1844
|
+
}
|
|
1646
1845
|
|
|
1846
|
+
/* Preserve the desktop sidebar/content grid when the TOC is hidden */
|
|
1847
|
+
@media (width >= 1024px) and (width <= 1279px) {
|
|
1647
1848
|
body.has-toc {
|
|
1648
1849
|
grid-template-columns: var(--layout-sidebar-width) 1fr;
|
|
1649
1850
|
grid-template-areas:
|
|
1650
1851
|
"header header"
|
|
1651
1852
|
"nav main"
|
|
1652
|
-
"
|
|
1853
|
+
"nav footer";
|
|
1653
1854
|
}
|
|
1654
1855
|
}
|
|
1655
1856
|
|
|
@@ -1665,31 +1866,31 @@ aside.table-of-contents .toc-list > .toc-h3 {
|
|
|
1665
1866
|
}
|
|
1666
1867
|
}
|
|
1667
1868
|
|
|
1668
|
-
|
|
1869
|
+
#table-of-contents h3 {
|
|
1669
1870
|
font-size: var(--font-size-lg);
|
|
1670
1871
|
font-weight: var(--font-weight-semibold);
|
|
1671
1872
|
margin: 0 0 var(--space-5) 0;
|
|
1672
1873
|
color: var(--color-text-primary);
|
|
1673
1874
|
}
|
|
1674
1875
|
|
|
1675
|
-
|
|
1876
|
+
#table-of-contents ul {
|
|
1676
1877
|
margin: 0;
|
|
1677
1878
|
padding: 0;
|
|
1678
1879
|
list-style: none;
|
|
1679
1880
|
}
|
|
1680
1881
|
|
|
1681
|
-
|
|
1882
|
+
#table-of-contents ul ul {
|
|
1682
1883
|
margin-top: var(--space-3);
|
|
1683
1884
|
margin-left: var(--space-5);
|
|
1684
1885
|
border-left: 1px solid var(--color-border-default);
|
|
1685
1886
|
padding-left: var(--space-4);
|
|
1686
1887
|
}
|
|
1687
1888
|
|
|
1688
|
-
|
|
1889
|
+
#table-of-contents li {
|
|
1689
1890
|
margin-bottom: var(--space-3);
|
|
1690
1891
|
}
|
|
1691
1892
|
|
|
1692
|
-
|
|
1893
|
+
#table-of-contents a {
|
|
1693
1894
|
display: block;
|
|
1694
1895
|
color: var(--color-text-secondary);
|
|
1695
1896
|
text-decoration: none;
|
|
@@ -1700,32 +1901,46 @@ aside.table-of-contents .toc-list > .toc-h3 {
|
|
|
1700
1901
|
}
|
|
1701
1902
|
|
|
1702
1903
|
/* Nav hover styles sit here to keep specificity ordering with TOC links */
|
|
1703
|
-
|
|
1904
|
+
#sidebar-navigation a:hover {
|
|
1704
1905
|
color: var(--color-link-hover);
|
|
1705
1906
|
text-decoration: underline;
|
|
1706
1907
|
}
|
|
1707
1908
|
|
|
1708
|
-
|
|
1909
|
+
#table-of-contents a:hover {
|
|
1709
1910
|
color: var(--color-link-hover);
|
|
1911
|
+
text-decoration: underline;
|
|
1710
1912
|
}
|
|
1711
1913
|
|
|
1712
|
-
|
|
1914
|
+
#table-of-contents a:focus-visible {
|
|
1915
|
+
outline: 2px solid var(--color-accent-primary);
|
|
1916
|
+
outline-offset: 2px;
|
|
1917
|
+
border-radius: var(--radius-sm);
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1920
|
+
#table-of-contents a.active {
|
|
1713
1921
|
color: var(--color-accent-primary);
|
|
1714
1922
|
font-weight: var(--font-weight-medium);
|
|
1715
1923
|
}
|
|
1716
1924
|
|
|
1717
1925
|
ol.breadcrumb {
|
|
1718
1926
|
display: flex;
|
|
1927
|
+
flex-wrap: wrap;
|
|
1719
1928
|
padding: 0;
|
|
1720
1929
|
margin: 0 0 1em;
|
|
1721
1930
|
}
|
|
1722
1931
|
|
|
1723
1932
|
ol.breadcrumb li {
|
|
1724
1933
|
display: block;
|
|
1934
|
+
min-width: 0;
|
|
1725
1935
|
list-style: none;
|
|
1726
1936
|
font-size: 125%;
|
|
1727
1937
|
}
|
|
1728
1938
|
|
|
1939
|
+
ol.breadcrumb a,
|
|
1940
|
+
ol.breadcrumb li > span:not(.separator) {
|
|
1941
|
+
overflow-wrap: anywhere;
|
|
1942
|
+
}
|
|
1943
|
+
|
|
1729
1944
|
/* 11. Footer */
|
|
1730
1945
|
footer.site-footer {
|
|
1731
1946
|
grid-area: footer;
|
|
@@ -1917,6 +2132,8 @@ footer.site-footer .footer-bottom:first-child {
|
|
|
1917
2132
|
}
|
|
1918
2133
|
|
|
1919
2134
|
header.top-navbar #search-field {
|
|
2135
|
+
display: block;
|
|
2136
|
+
box-sizing: border-box;
|
|
1920
2137
|
width: 100%;
|
|
1921
2138
|
padding: var(--space-2) var(--space-4);
|
|
1922
2139
|
border: 1px solid var(--color-border-default);
|
|
@@ -1939,10 +2156,11 @@ header.top-navbar #search-field::placeholder {
|
|
|
1939
2156
|
|
|
1940
2157
|
/* Search results dropdown in navbar */
|
|
1941
2158
|
header.top-navbar #search-results-desktop {
|
|
2159
|
+
box-sizing: border-box;
|
|
1942
2160
|
position: absolute;
|
|
1943
2161
|
top: calc(100% + var(--space-2));
|
|
1944
2162
|
left: 0;
|
|
1945
|
-
width:
|
|
2163
|
+
width: 100%;
|
|
1946
2164
|
max-height: 60vh;
|
|
1947
2165
|
background: var(--color-background-primary);
|
|
1948
2166
|
border: 1px solid var(--color-border-default);
|