Mori DocumentationGitHub ↗
Mori v0.34.0 documentation · Library scopes and support bundles require v0.33.0 or later. Check release notes against your installed version.
GUIDES & REFERENCE Markdown source ↗

Building and publishing documentation

The documentation site renders the repository's Markdown using pinned Python-Markdown. Markdown files remain the source of truth. The build includes all pages under docs/, root overview/contribution/changelog pages, and locally linked Markdown references. Every page links to its exact Markdown snapshot included in the site. Other repository-file links point to GitHub source.

Build and validate

Use Python 3.10 or newer. Create the virtual environment and output outside the checkout; these commands work on macOS and Linux:

python3 -m venv /tmp/mori-docs-venv
/tmp/mori-docs-venv/bin/python -m pip install -r scripts/docs-requirements.txt
/tmp/mori-docs-venv/bin/python scripts/test-build-docs.py
site_output=$(mktemp -d /tmp/mori-docs-site.XXXXXX)
/tmp/mori-docs-venv/bin/python scripts/build-docs.py --output "$site_output" --source-ref main

The builder refuses to overwrite a nonempty directory or place output inside the checkout. It verifies every local page, image, stylesheet link and heading fragment, and writes build-report.json with page/link counts and the renderer version. Missing links fail the build. External source and release links are not fetched by this check; validate the chosen source ref separately.

For a reproducible published snapshot, pass the exact source commit to --source-ref instead of main, and build from that commit's clean checkout. A development worktree build can preview uncommitted documentation. Each page includes its exact Markdown source locally; GitHub code links use the chosen ref and cannot represent uncommitted implementation changes. The builder adds no timestamps to generated pages.

Preview with a local HTTP server:

/tmp/mori-docs-venv/bin/python -m http.server 8765 --directory "$site_output"

Check the overview, first-review guide, a wide reference table, and navigation at desktop and phone widths. Confirm keyboard navigation, code scrolling, images, anchors and the minimum-version banner. Stop the server after review.

Publish deliberately

Publish only the validated output to an isolated gh-pages branch or equivalent static hosting artifact. Configure GitHub Pages to serve that branch's root. Keep source checkout changes, private files, research evidence and credentials out of the publication tree. Review the artifact and obtain the normal project publication authorization before pushing it. Do not mix publication history with main or use deployment as evidence that a release was published.

The current template labels the site Mori v0.34.0 documentation. Publish it only after that release is available, and retain the minimum-version notice. Preserve that banner while the site describes unreleased behavior. Update it only when the corresponding release is verified, and make the documentation version explicit. There is intentionally no automatic main-branch or release-triggered publishing workflow.

To change presentation, edit the stylesheet and the HTML template in the builder. Keep renderer updates pinned in the requirements file and rerun the tests and visual checks after any update.

The build tests exercise real documentation, source snapshots, Unicode headings, broken anchors and output-directory safety.

Scores describe structural similarity; they do not prove behavioral equivalence.
Source stays local. Mori on GitHub