Documentation for zoompilot, a Mazda-optimized fork of sunnypilot (openpilot). Published at zoompilot-wiki.pages.dev.
Built with Zensical, the generator by the creators
of Material for MkDocs. Zensical reads the same mkdocs.yml and uses its
new modern theme look. Content is plain markdown in docs/.
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/zensical serveOpen http://127.0.0.1:8000. Edits live-reload.
Build the site, then serve the static output with wrangler:
.venv/bin/zensical build
npx wrangler pages dev site-
Pages live in
docs/. Add a page, then add it tonavinmkdocs.yml. -
Two files are generated by the site repo and must not be hand-edited:
docs/releases/changelog.md(from the site'ssrc/data/changelog.js) anddocs/assets/steering-torque.svg(from the site'ssrc/data/chart-geometry.js). In the site repo, runnpm run sync:wikiafter changing the source, then commit in both repos. -
Before you open a pull request, run a strict build. Broken internal links fail the build:
.venv/bin/zensical build --strict
-
See CONTRIBUTING.md for the content style guide.
.github/workflows/cloudflare-pages.yml builds and deploys on every
push to main. One-time setup, after the repo is on GitHub:
-
Create a Cloudflare API token with the "Cloudflare Pages: Edit" permission (dash.cloudflare.com -> My Profile -> API Tokens).
-
Set the two repo secrets:
gh secret set CLOUDFLARE_API_TOKEN gh secret set CLOUDFLARE_ACCOUNT_ID
Without the secrets the workflow still builds, and skips the deploy step with a notice.
wrangler login once, then:
.venv/bin/zensical build
npm run deploynpm run deploy runs
wrangler pages deploy site --project-name zoompilot-wiki --branch main.
Roll back with npx wrangler pages deployment list /
... deployment rollback if a deploy goes wrong.
None. The wiki serves from https://zoompilot-wiki.pages.dev
permanently. Attaching a custom domain was declined in 2026-09 (the
zoompilot.ai zone lives in a different Cloudflare account), so do
not plan DNS or custom-domain work for this wiki.
- Push this repository to GitHub (for example
zoompilot/wiki, branchmain). - In Cloudflare, create a Pages project from that repository.
- Build settings:
- Framework preset:
Python - Build command:
pip install -r requirements.txt && zensical build --strict - Build output directory:
site
- Framework preset:
- Set the Python version if needed with the environment variable
PYTHON_VERSION(for example3.12).
Note: the "last updated" page stamps from the MkDocs days are gone. Zensical has no MkDocs plugin runtime yet; native support is planned.
A ready workflow is at .github/workflows/gh-pages.yml. To use it
instead of Cloudflare:
- In the repository settings, set Pages → Source to GitHub Actions.
- Push to
main. The workflow builds and publishes the site.
Keep only one deployment target active at a time to avoid confusion.
All theme, palette, navigation, and search settings are in mkdocs.yml.
The theme uses Zensical's modern variant; variant: classic restores
the old Material for MkDocs look. The brand palette (Soul Red, dark
default) is in docs/stylesheets/custom.css. The logo and favicon are in
docs/assets/brand/.