Skip to content

Repository structure

Alexander Refsum Jensenius edited this page Sep 5, 2026 · 3 revisions
book/                       MyST/Jupyter Book sources (one .ipynb per chapter)
book/myst.yml               Book configuration and table of contents
book/apps/                  Sixteen self-contained browser apps, one folder each
book/templates/             Student templates (practice log, gallery page)
book/figures/<chapter>/     Figures, one folder per chapter
book/_static/               Static assets
book/references.bib         Bibliography in BibTeX
scripts/md2nb.py            Converts a Markdown chapter draft into a notebook
scripts/check-chapters.py   Checks chapter structure, citations, and figures
scripts/check-style.py      Checks prose against the course style guide
scripts/style-allowlist.txt Idioms the style checker accepts
scripts/verify-book-build.sh  Full local build, exactly as CI runs it
scripts/tests/              Tests for the scripts above
.githooks/pre-push          Optional hook that runs the full build before a push
.github/workflows/deploy.yml         Builds the book and publishes it to GitHub Pages
.github/workflows/linkcheck.yml      Checks links in the Markdown pages, the notebooks, and the bibliography
.github/workflows/accessibility.yml  Runs pa11y over the built site
requirements.txt            Python dependencies for building the book

The table of contents in book/myst.yml is explicit: a new chapter or page must be added there to appear in the book, and the chapter checker reads the same list.

Clone this wiki locally