Skip to content

Documentation

This documentation is built using Zensical, a modern static site generator by the team behind Material for MkDocs.

Their documentation is great so check it if this is not sufficient.

Working on the HomePage

The homepage is a separate React site which is included in the Zensical site.

In your IDE of choice open docs/homepage and treat it as a regular standalone React site. Install dependencies with npm install and run it with npm run dev.

Note: Run npm run build:fragment (or ./serve.sh) to get your updates to the homepage reflected in the docs site locally.

Working on the rest of the documentation

Please ensure this documentation is updated whenever changes are made to the source code / configuration.

Note

The source for these docs lives in the docs directory within the repo.

All the following commands assume you've cd'd into the docs directory.

Installing Dependencies

Ensure Python is installed on your system.

Tested on python v3.14.6

# Install all dependencies
python3 -m venv .venv
source .venv/bin/activate

pip install -r requirements.txt
cd homepage && npm install

Run the following to start the server.

This supports hot reloading so updating the docs should automatically reload the docs in your browser.

./serve.sh

Macros

The docs use Zensical's built-in macro support, which is compatible with the mkdocs-macros-plugin API. This lets us call out to Python code from within Markdown.

See the main.py file which includes some useful macros.

This is all quite self-explanatory when you look at the code.

Building the whole site

Run the following:

bundle exec fastlane generate_docs

This will generate the dokka documentation and put the website together.