docs-core 0.1.1

Rust docs pipeline core: CommonMark+GFM to static HTML with astro-island-compatible island emission, so a Rust shell hydrates the estate's existing SolidJS bundles. Consolidates Tachyon + docs-pipeline + the starlight-* stack (ADR-0004 §2.5)
Documentation
# 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).

````markdown
```island nav-search client=visible
{"count": 3}
```
````

renders to:

```html
<docs-island component-url="/_assets/islands/nav-search.js" client="visible">
  <script type="application/json" data-island-props>{"count":3}</script>
</docs-island>
```

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.