Extracted

GuideShell

A two-pane shell for docs-style reading — sticky scroll-spy nav on the left, a scrollable prose column on the right.

Scroll this column and watch the left nav highlight follow — that's an IntersectionObserver watching every registered section, not a manual scroll handler.

Scroll spy

Each GuideSection registers its own DOM ref via theregisterRef render-prop GuideShell forwards. No section needs to know about any other section.

Prose primitives

Lead is the opening line of a section — slightly larger.

P is the workhorse paragraph weight, muted by default.

Subpages

Above the section nav, an optional subpages prop renders a small tab switcher between sibling guide pages — think "Guide" versus "API Reference" versus "Changelog" for the same feature. Each tab is a{ to, label, exact? } pair rendered through thelinkComponent you already pass for in-page nav links.

The active tab is derived by comparing the current pathnameagainst each tab's to: an exact match when exactis set, a prefix match otherwise, so a nested route under a subpage still highlights its parent tab.

Detail

Eyebrows

This section's heading has an eyebrow — the small "Detail" kicker above the title, same treatment the very first section uses ("Extracted"). It's optional per-section, not a running header, so use it to flag the handful of sections that need a label — a status, a category, a difficulty — and leave the rest without one.

Overusing it flattens the signal: if every section has an eyebrow, none of them stand out, and the kicker starts reading as decoration instead of information.

Document MinimapNew·caller-styled markers · jump-to · draggable viewport band

A right-rail overview. Markers are styled by caller-injected kind (here: section, figure, note); the band tracks the panel's real scroll position above — drag it, or click the track, to scrub the panel.

Click or tab to a marker, then Enter to jump.

Scroll SpyNew·active section · hash links · responsive selector

Overview

Use the list to jump between sections. The active item follows this panel as it scrolls.

Active section

IntersectionObserver tracks a narrow band near the top without a manual scroll handler.

Shareable links

Navigation updates the URL hash so the current section can be copied and revisited.

Review MinimapNew·document shape + typed review markers · changed / new / deleted / annotation, semantic tones

A compressed picture of a long draft: the bars are the content's shape (headings, prose, a scene break, a blockquote), and the gutter markers flag where review touched it. Click a marker to jump to that passage.

changed new deleted annotation

Click a gutter marker to select its target.