Building this documentation¶
This site is built from the vgi-rpc-c repository using MkDocs Material, following
the C++, Go, and Python implementations. Guides live in docs/; navigation,
theme settings, and strict link checking live in mkdocs.yml.
Preview locally¶
Use a separate documentation environment. These Python packages are development tools and are not dependencies of the C runtime.
python3 -m venv .venv-docs
.venv-docs/bin/python -m pip install -r requirements-docs.txt
.venv-docs/bin/mkdocs serve
Open http://127.0.0.1:8000. Changes to documentation are rebuilt during preview.
To produce the static site and validate links:
The output is written to site/, which is ignored by Git. Broken documentation
links, missing anchors, omitted navigation pages, and missing source includes
fail the strict build.
Source includes¶
The calculator example includes examples/calculator.c and
examples/client.c. The API reference includes the public headers
in include/vgi_rpc/. Edit those C sources to change displayed declarations;
do not copy a second version into Markdown. Keep explanations and ownership rules
in the guides consistent with implementation changes.
Publication¶
The Docs GitHub Actions workflow builds pull requests and uploads the static
site as the documentation artifact. Pushes to main build and deploy to the
Cloudflare Pages project vgi-rpc-c, serving
vgi-rpc-c.pages.dev. It also runs when included
headers or examples change, and supports manual dispatch from main.
Publishing requires the repository's CLOUDFLARE_API_TOKEN (Cloudflare Pages Edit)
and CLOUDFLARE_ACCOUNT_ID Actions secrets. The Pages project and its custom domain
are provisioned separately; the workflow updates the existing project.
The intended custom domain is vgi-rpc-c.query.farm. Before switching the
site URL, configure its CNAME to vgi-rpc-c.pages.dev and wait for Cloudflare
to activate the domain and HTTPS certificate. Then update site_url in
mkdocs.yml, robots.txt, and the documentation links to the custom domain.
The site and first-party source use the Query Farm Source-Available License, Version 1.0. Dependencies retain their own licenses.