A Jupyter Book shamelessly copying off of https://github.com/naturalistic-data-analysis/naturalistic_data_analysis.
This book uses Jupyter Book 1 (Sphinx, _config.yml / _toc.yml).
The Python environment is managed with uv and
locked in uv.lock. The Makefile sets UV_PROJECT_ENVIRONMENT=meda, so the
project environment is created in meda/ instead of the default .venv/.
To set up the environment:
make installTo check that the local environment still matches uv.lock:
make check-envTo build the Jupyter Book into _build/html/:
make bookUseful related targets:
make cleanremoves generated site build files.make runallruns notebooks undercontent/in place and saves outputs.make buildis an alias-style HTML build target that also writes to_build/.make serveandmake siteuse the repository's Ruby/Jekyll tooling and require those dependencies to be installed separately.
The site is built locally; the HTML under docs/ on main is what GitHub Pages serves.
- Install or update the locked environment with
make install. - Build the book and copy
_build/html/intodocs/withmake site-publish(or runmake bookfollowed bymake sync-docs). - Commit the updated
docs/tree and pushmain.
In the GitHub repository settings, set Pages to Deploy from a branch, choose branch main, folder /docs. If the site was previously deployed with GitHub Actions, switch away from that source so Pages reads the committed docs/ folder.
Deployment no longer uses GitHub Actions; repository secrets such as CONFIG_EMAIL and CONFIG_NAME are not required for publishing.