How to change these docs
Intro
This repository uses MkDocs with Material theme and a monorepo plugin to publish documentation for all BluebirdATC packages from a single docs site.
At the docs project level, docs/mkdocs.yml defines:
- site-wide theme and plugin settings
- top-level navigation (Home, package docs, and this guide)
- inclusion of package-level docs nav files
Each package then provides its own local mkdocs.yml to define that package's section structure.
Serve the docs locally
From the repository root (BluebirdATC), run:
./scripts/docs-serve
Then open:
http://127.0.0.1:8010orhttp://localhost:8010
MkDocs watches files and refreshes the site as you edit documentation.
Build the docs for production
From the repository root (BluebirdATC), run:
./scripts/docs-build
This generates a static site in the site/ directory, ready to publish to static hosting (for example, GitHub Pages).
File hierarchy
The docs setup is split across root docs files and package docs files.
Main locations:
docs/pyproject.toml: docs-specific uv project and dependenciesuv.lock: workspace lockfiledocs/mkdocs.yml: docs project MkDocs config and top-level site navdocs/src/: root docs content and shared assetsdocs/src/index.md: homepage contentdocs/src/stylesheets/nav.css: small nav style overridesbluebird-dt/mkdocs.yml: nav config for thebluebird-dtsectionbluebird-api/mkdocs.yml: nav config for thebluebird-apisectionbluebird-gymnasium/mkdocs.yml: nav config for thebluebird-gymnasiumsectionbluebird-hmi/mkdocs.yml: nav config for thebluebird-hmisection*/docs/*.md: package-specific markdown pages*/docs/source.md: API/source reference pages used bymkdocstrings
Example edit-serve-build workflow
- Start local docs server from repo root:
./scripts/docs-serve
-
Edit a docs file, for example:
bluebird-hmi/docs/index.md -
Check the change in browser at:
http://localhost:8010. -
If navigation changed, also update the corresponding
mkdocs.ymlfile. -
For a top-level change:
docs/mkdocs.yml. -
For a package-level change: e.g.
bluebird-hmi/mkdocs.yml. -
Run a production build check:
./scripts/docs-build
- Commit your markdown and
mkdocs.ymlchanges together.