Quarto: The Definitive Guide
The book is rendered and deployed to Netlify via a GitHub action. Changes to the main branch trigger a deployment to the published site. Pull requests trigger a deployment preview.
Substantive changes are proposed using pull requests.
The book project sets freeze to auto, so when you propose changes you should:
- Locally render the book
- Examine the git diff for changes to
_freeze/, and commit changes to relevant files.
Since the GitHub action that renders the book does not execute any code, forgetting to commit to _freeze will result in a failed check on the PR.
The R environment is managed with renv. This should work automatically when opening the book project, and you'll be prompted by renv to get the required packages with renv::restore().
If your contribution adds a dependency on an R package, make sure you run renv::snapshot(), and commit changes to renv.lock.
The Python environment is managed with uv. To create or recreate the environment:
uv syncThis creates a .venv/ and installs all dependencies from uv.lock.
Quarto will use the .venv/ automatically. To activate it in the terminal:
source .venv/bin/activateuv add <package>Then commit the updated pyproject.toml and uv.lock.
See _style-guide.md for details on writing and formatting style for the book.