Skip to content

Repository files navigation

zoompilot wiki

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/.

Quick start

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/zensical serve

Open http://127.0.0.1:8000. Edits live-reload.

Preview in a Cloudflare Pages-like environment

Build the site, then serve the static output with wrangler:

.venv/bin/zensical build
npx wrangler pages dev site

Editing

  • Pages live in docs/. Add a page, then add it to nav in mkdocs.yml.

  • Two files are generated by the site repo and must not be hand-edited: docs/releases/changelog.md (from the site's src/data/changelog.js) and docs/assets/steering-torque.svg (from the site's src/data/chart-geometry.js). In the site repo, run npm run sync:wiki after 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.

Deploy (Cloudflare Pages — primary)

GitHub Actions (auto-deploy, the intended path)

.github/workflows/cloudflare-pages.yml builds and deploys on every push to main. One-time setup, after the repo is on GitHub:

  1. Create a Cloudflare API token with the "Cloudflare Pages: Edit" permission (dash.cloudflare.com -> My Profile -> API Tokens).

  2. 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.

Direct upload with wrangler (fallback)

wrangler login once, then:

.venv/bin/zensical build
npm run deploy

npm 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.

Custom domain

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.

Git integration (alternative)

  1. Push this repository to GitHub (for example zoompilot/wiki, branch main).
  2. In Cloudflare, create a Pages project from that repository.
  3. Build settings:
    • Framework preset: Python
    • Build command: pip install -r requirements.txt && zensical build --strict
    • Build output directory: site
  4. Set the Python version if needed with the environment variable PYTHON_VERSION (for example 3.12).

Note: the "last updated" page stamps from the MkDocs days are gone. Zensical has no MkDocs plugin runtime yet; native support is planned.

Deploy (GitHub Pages — alternative)

A ready workflow is at .github/workflows/gh-pages.yml. To use it instead of Cloudflare:

  1. In the repository settings, set Pages → Source to GitHub Actions.
  2. Push to main. The workflow builds and publishes the site.

Keep only one deployment target active at a time to avoid confusion.

Site configuration

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/.

About

zoompilot wiki — the manual. Install, features, settings, safety, and the measurement record behind every change. Built with Zensical; published on Cloudflare Pages.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages