Contributing to the docs
The published site combines three builders:
- MkDocs builds the guide and Python reference;
cargo docbuilds the Rust API;- Documenter.jl builds the Julia API.
Guide and Python API
python -m pip install -r docs/requirements.txt
python -m pip install -e bindings/python
python -m mkdocs build --strict --site-dir site
Rust API
cargo doc --no-deps
mkdir -p site/rust/api
cp -R target/doc/. site/rust/api/
cp ci/rustdoc-index.html site/rust/api/index.html
Julia API
julia --project=bindings/julia/docs -e \
'using Pkg; Pkg.develop(path="bindings/julia"); Pkg.instantiate()'
julia --project=bindings/julia/docs bindings/julia/docs/make.jl
mkdir -p site/julia/api
cp -R bindings/julia/docs/build/. site/julia/api/
Finally validate all internal HTML links:
The documentation GitHub workflow runs this complete sequence on pull
requests and deploys the assembled artifact from main.