This repository contains the source code for Reloader documentation, built with MkDocs and versioned using mike.
The goal of this README is to help you:
- Make documentation changes safely
- Preview docs locally with minimal friction
- Understand how CI/CD publishes the docs
You will mostly work in two directories only:
content/– documentation pages (Markdown)theme_override/– local theme customizations
⚠️ Important
- Do not edit files in
dist/– it is generated- Do not edit
theme_common/directly unless you know what you are doing- Only edit
theme_override/mkdocs.yml(there are multiplemkdocsfiles)
This repository is fully automated via GitHub Actions:
-
Pull Requests
- Runs documentation QA checks
- Builds Docker image
- Publishes preview docs at:
https://stakater.github.io/reloader-docs/<branch-name>/
-
Merge to
main- Creates a GitHub release
- Builds & pushes documentation image
- Update the GitOps repository
- Publishes docs to:
https://docs.stakater.com
This repository depends on a shared MkDocs theme via a git submodule:
git submodule update --init --recursiveIf you forget this step, local builds and Docker builds will fail.
To update the submodule to the latest version:
git submodule update --init --recursive --remoteYou can inspect linked submodules in .gitmodules.
You have two supported ways to preview docs locally.
This is the most reliable method and matches CI behavior.
docker build -f DockerfileLocal.fixed -t reloader-docs-local .docker run --rm -p 8080:8080 reloader-docs-localOpen your browser:
http://localhost:8080- Python 3.x
virtualenvorvirtualenvwrapper
python3 -m venv .venv
source .venv/bin/activateThis script:
- Installs Python dependencies from
theme_common - Merges shared + local theme overrides
- Generates
mkdocs.yml
./prepare_theme.shmike serveor
python3 -m mike serveDocs will be available at:
http://localhost:8000💡 Any changes to
dist/_themewill be lost. Always move permanent changes to:
theme_override/- or
content/
- Fork the repository
- Create a feature branch
- Make changes in
content/ortheme_override/ - Open a Pull Request
- Ensure all CI checks pass
- Request review
Once merged, the docs are automatically published.
brew install markdownlint-cli
markdownlint -c .markdownlint.yaml contentbrew install vale
vale sync
vale contentThese checks also run automatically in CI.
If local builds fail:
- Verify
theme_common/requirements.txtexists - Ensure submodules are initialized
- Try the Docker-based build
This will catch 99% of issues.