Builds and atomically publishes a complete static documentation site.
Renderers only return bytes and logical assets. The exporter owns output paths, content hashing, local-link admission, finite budgets, staging, replacement and rollback. It never invokes a network client or external build process. Search adapters follow the same rule: they return local assets and an inert query contract rather than writing into the destination.
The completed tree includes rendered routes, redirects, a not-found page, content-hashed renderer assets, search data, a deterministic manifest, sitemap and robots files, and compact/full machine-readable documentation. Publication happens only after the in-memory output and staged filesystem tree pass validation. A failed replacement preserves the prior destination or reports the retained recovery path.
Summary
Types
The deterministic manifest payload written as site-manifest.json.
Functions
Renders, validates, and atomically replaces one static site destination.
Types
@type manifest() :: map()
The deterministic manifest payload written as site-manifest.json.
Functions
Renders, validates, and atomically replaces one static site destination.
Required options are :site, :renderer, and :destination. Optional
:search_adapter, renderer/search option lists, :canonical_origin, finite
:limits, and an explicit :generated_at value customize the build. The
exporter does not synthesize timestamps, contact a network service, or start
the host application.
On success, returns the decoded doc-shell-static-site/v1 manifest. Expected
renderer, validation, resource, and filesystem failures return tagged errors;
callback exceptions are contained at the renderer/adapter boundary.