docs-core
The Rust docs pipeline core (ADR-0004 §2.5) — consolidating what Tachyon
(16 crates), docs-pipeline, and the eight starlight-* plugins do in three
languages, with the one seam the ecosystem has no answer for:
astro-island-compatible island emission, so a Rust-rendered shell can
hydrate the estate's existing SolidJS bundles (Leptos/Dioxus islands are
Rust/WASM-only and cannot).
```island nav-search client=visible
{"count": 3}
```
renders to:
{"count":3}
and islands/island.mjs (dependency-free, ~120 lines) hydrates it: props
parsed with JSON.parse, each component URL imported at most once, load /
visible / idle hints, docs:hydrated events.
M1 scope
- In: CommonMark+GFM → HTML (headings, paragraphs, emphasis/strong/
strike, inline + fenced code, links, images, lists incl. task lists,
blockquotes, rules) and island fences. Raw HTML passes through (the
mdBook/Zola/Starlight contract for first-party content); island props are
validated Rust-side and JS-side, and
<is escaped so a props payload can never terminate the script element. - Wave 2 (deliberately absent, not silently): search indexing (adopt
Pagefind), versioning, i18n, math (
latex2mathml), diagrams (D2), sanitization for untrusted content (ammonia), dev server.
Tests
cargo test (10 tests + doctest, clippy -D warnings clean) and
bun test islands/ (9 headless tests of the shim's pure half).
Licensed under MIT OR Apache-2.0.