1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! docs-core — the Rust docs pipeline core (ADR-0004 §2.5).
//!
//! Consolidates what Tachyon (16 crates), `docs-pipeline`, and the eight
//! `starlight-*` plugins do in three languages: CommonMark+GFM to static
//! HTML, plus **astro-island-compatible island emission** so the estate's
//! existing SolidJS bundles hydrate inside a Rust-rendered shell — the one
//! seam the ecosystem has no answer for (Leptos/Dioxus islands are
//! Rust/WASM-only).
//!
//! ```
//! let html = docs_core::render(
//! "# Chisel\n\nSome *prose*.\n\n```island nav-search client=visible\n{\"count\": 3}\n```\n",
//! "/_assets",
//! )
//! .unwrap();
//! assert!(html.contains("<h1>Chisel</h1>"));
//! assert!(html.contains("component-url=\"/_assets/islands/nav-search.js\""));
//! ```
//!
//! # Scope (M1, honest)
//!
//! In: headings, paragraphs, emphasis/strong/strike, inline + fenced code,
//! links, images, lists (incl. task lists), blockquotes, rules, and island
//! fences.
//! Out (Wave 2, per the ecosystem survey): search indexing (Pagefind),
//! versioning, i18n, math (`latex2mathml`), diagrams (D2), HTML
//! sanitization for untrusted content (`ammonia`), and the dev server.
//!
//! # Layer
//!
//! L2 — domain. One external dependency (`pulldown-cmark`); no UI, no web
//! framework — the output is static HTML plus island custom elements.
pub use DocsError;
pub use ;
pub use render;
/// The crate's version, for callers that report it.
pub const VERSION: &str = env!;