euv-docs 0.1.6

A VuePress-style documentation site generator powered by euv + euv-ui (Rust/WASM).
Documentation

euv-docs

A VuePress-style documentation site generator built with euv + euv-ui, compiled to WebAssembly.

Write markdown in docs/ — get a full docs site with a home hero, navbar, multi-level collapsible sidebar, right anchor TOC, prev/next links, footer, dark mode, and i18n.

Quick start

cargo install euv-cli

# dev server with hot reload
euv run --dev --port 8080 --index-html template.html -- --target web --out-dir www/pkg --out-name euv_docs --no-typescript --no-pack

# production build → www/
euv build --release --index-html template.html -- --target web --out-dir www/pkg --out-name euv_docs --no-typescript --no-pack

Open http://localhost:8080 after euv run.

Writing docs

Source file Route
docs/README.md / (home, with frontmatter hero)
docs/guide/README.md /guide/ (sidebar group index)
docs/guide/getting-started.md /guide/getting-started.html
docs/zh/README.md /zh/ (locale home)
  • Navbar, locales, footer, UI labels — docs/config.toml
  • Sidebar — auto-generated from the file tree; order with frontmatter order: <int>
  • Home page — frontmatter home: true + heroText / tagline / actions / features / footer
  • Static assets — put them in docs/public/, reference as /logo.png

Building a site from any markdown directory

The euv-docs binary builds any directory containing config.toml and *.md files into a static site. Use this to ship documentation for a project without modifying euv-docs itself.

cargo install --path . --bin euv-docs --locked

euv-docs <SRC_DIR> [--out <OUT_DIR>] [--name <NAME>] [--index-html <FILE>] [--debug]
Argument Default Meaning
<SRC_DIR> (required) Directory containing config.toml and *.md files
--out <DIR> ./dist Output directory; produces <DIR>/index.html and <DIR>/pkg/
--name <NAME> euv_docs Wasm package name (sets the <pkg>_bg.wasm filename)
--index-html <FILE> CLI-bundled Path to a custom index.html template (forwarded to euv build --index-html); replaces the bundled one
--release enabled Release wasm profile (default)
--debug Dev wasm profile (faster build, slower runtime)
-h, --help Print help
-v, --version Print version

Example:

euv-docs ./my-docs --out ./public

The CLI sets EUV_DOCS_SRC_DIR and EUV_DOCS_OUT_DIR for the embedded build script, then shells out to euv build (the euv-cli package). See src/bin/euv_docs/main.rs and src/bin/euv_docs/fn.rs for the exact argument wiring.

Markdown features

  • Frontmatter (YAML)
  • GFM tables, task lists, strikethrough, footnotes
  • Fenced code blocks
  • Heading permalinks + right anchor TOC (h2/h3)
  • Custom containers: ::: tip / ::: warning / ::: danger / ::: note [title]
  • Internal .md links rewritten to routes; external links open in a new tab
  • Same-page anchors: [text](#heading-slug)

Internationalization

Add a [[locales]] entry in docs/config.toml (prefix = "/zh/") and a matching directory docs/zh/. The navbar language dropdown switches locale, keeping the current page when a translation exists.

License

MIT