Docs

Proa Docs

A docs framework for Proa sites, compiled at build time.

Open Markdown

Proa Docs is a docs framework for Proa sites, largely inspired by fumadocs and nextra from JavaScript-land.

Write Markdown, get a documentation site: file-routed pages, a generated sidebar, syntax highlighting, search, a table of contents, and thirteen authoring components.

Everything happens at build time

This is the difference that matters. Markdown is parsed, highlighted, and lowered to escaped static HTML during build.rs, then emitted as a static Rust registry your binary includes.

No parser ships to the reader. No syntax highlighter, no math renderer, no client-side router. A docs page is bytes that were computed once.

The practical consequences:

Two crates, two jobs

CrateRunsOwns
proa_docs_buildbuild.rsParsing, frontmatter schemas, the Markdown pipeline, components, search index, link validation
proa_docsrequest timeThe static data model, render primitives, and the default theme

proa_docs is deliberately small. It holds the compiled registry and renders a shell around generated article HTML. It also ships the CSS and JavaScript that make the components work, so a site that links DocsAssets from its head is styled on a fresh install.

You can also ignore the default theme entirely and write your own against the styling contract. That is the headless path, and it is a supported one.

What runs in the browser

The article HTML, syntax highlighting, and MathML are generated at build time. Tabs, accordions, and code explorers use CSS. Copy controls need the optional default script; search UI and Mermaid rendering need their own integration. The runtime still selects a page, renders its shell, and serves the response. See Customizing the layout for composing a themed shell and Mermaid for its renderer requirement.

Next

Search

Type at least 2 characters