Your first build
Let’s run a real build and look at what plasmoid produced.
Run it
--version is optional. By default plasmoid reads the version from your project’s
Cargo.toml ([versions] source = "cargo"); pass --version to override it or
when the project isn’t Rust. See Versioning.
The output tree
public/
index.html # the landing (mounted static, markdown home, or redirect)
docs/ # stable alias → current version's default locale
latest/ # stable alias → current version
0.1.0/ en/ # the actual rendered docs
search/ # the sharded search index
versions/ # the version index page
archive/ # zipped versions older than `retain`
assets/ # css, tiny js, fonts, highlight styles
404.html # custom not-found page
Every page is a real index.html at a clean URL path, e.g.
0.1.0/en/getting-started/quickstart/index.html serves at
/0.1.0/en/getting-started/quickstart/.
Stable entry points
You don’t link people to a version-pinned path. plasmoid guarantees two stable aliases:
/docs/→ the current version’s default-locale docs./latest/→ the current version.
These are real path aliases, so deep links like
/docs/getting-started/quickstart/ keep working across releases.
Rebuilds are in place
Re-running build for the same version overwrites /<version>/ — doc fixes
between releases don’t spawn a new version. Bumping the version creates a new
/<version>/ directory and rolls the older ones through
retention.
Serve the result
Any static file server works for a quick look:
&&
For production, use the nginx recipe — it handles clean URLs, the custom 404, archive downloads, and caching.