Reproducible project template
A flexible template for reproducible slides with Quarto, GitHub Actions, and GitHub Pages.
- Online version: robinlovelace.github.io/reproducible-project-template
- Source code: github.com/Robinlovelace/reproducible-project-template
Last updated: June 26, 2026
Quick start
(Note: The commands below use the GitHub CLI (gh). If you don’t have it installed, you can follow the installation instructions or create the repository manually on GitHub).
gh repo create my-slides --template robinlovelace/reproducible-project-template
cd my-slides
# Enable Pages: Settings → Pages → Source: GitHub Actions
# Edit slides.qmd, then push
git pushYour slides are live in ~30 seconds.
Features
| Feature | Description |
|---|---|
| clean-revealjs theme | Bundled in _extensions/, zero install needed |
| Auto-deploy | actions/deploy-pages@v4 on every push to main |
| Auto-detect | Uses quarto inspect to detect R/Python needs; only installs what’s required |
| PR previews | Deploy preview versions for review before merging |
| Quarto freeze | Cache computation results locally; CI only re-renders markdown |
| Self-contained HTML | Offline-capable HTML with all images, CSS, and JS embedded |
| PDF export | Auto-generated via DeckTape on every release |
| Date-based releases | Automatic versioned releases on every push |
| Citation support | references.bib ready for bibliographies |
Workflows
| Workflow | Trigger | What it does |
|---|---|---|
publish.yml |
Push to main | Render site → deploy to GitHub Pages |
release-standalone.yml |
Push to main | Build self-contained HTML + PDF → create dated release |
pr-preview.yml |
PR to main | Build preview → deploy to temporary URL |
Structure
├── slides.qmd # Main slide deck
├── index.qmd # Landing page
├── _quarto.yml # Project config (output-dir, freeze, navbar)
├── references.bib # Bibliography
├── _extensions/clean/ # clean-revealjs theme (bundled)
└── .github/workflows/
├── publish.yml # Render + deploy to Pages
├── release-standalone.yml # Self-contained HTML + PDF release
└── pr-preview.yml # PR preview deployments
Built with this template
- AUM 2026 slides — Modelling multi-model traffic, casualties and risk
- ITF Workshop slides — Building communities of transport practitioners