deploylisted
Install: claude install-skill alohays/paper2pr
# Deploy Slides to GitHub Pages
Deployment is automated via GitHub Actions CI/CD. Pushing to `main` triggers rendering and deployment.
## Production Deploy (CI/CD)
1. **Commit and push** source changes to `main`
2. GitHub Actions automatically:
- Renders every QMD under the genre directories listed in `Quarto/_genres.txt`
(a folder that is not a listed genre is never published)
- Strips speaker notes from HTML (safety net)
- Assembles site: HTML + RevealJS assets + Figures
- Deploys to GitHub Pages
3. **Verify** at the GitHub Pages URL
## Local Preview (Optional)
For testing before push:
1. **Run the sync script:**
- If `$ARGUMENTS` is provided (e.g., "DreamZero"): `./scripts/sync_to_docs.sh $ARGUMENTS`
- If no argument: `./scripts/sync_to_docs.sh` (renders and assembles every deck)
It calls the same `scripts/assemble_site.sh` that CI runs, then
`check_site_assets.py` over the result. That check is the point of
previewing locally: a deck whose figures or runtime JS did not get copied
renders perfectly and 404s in the browser.
2. **Open in browser:**
- `open docs/slides/<genre>/DeckName.html` # macOS
- `python3 scripts/deckpath.py DeckName --field genre` if unsure
Note: `docs/` is gitignored — local preview output does not enter git.
## Speaker Notes Policy
- QMD source always contains `::: {.notes}` blocks (single source of truth)
- **Local** (`Quarto/<genre>/*.html`): notes included — press `S` for speaker view
- **Public*