dist-newstyle/
_site/
_cache/
.DS_Store
.env
# Defense-in-depth: the auto-snapshot in `make build` stages content/
# wholesale. These patterns prevent any stray credential-shaped file
# (dropped accidentally during writing) from being staged + pushed.
# To intentionally commit one of these (rare), use `git add -f`.
**/.env
**/.env.*
**/*.env
**/*.key
**/*.pem
**/*.p12
**/*.pfx
**/id_rsa*
**/id_dsa*
**/id_ecdsa*
**/id_ed25519*
**/.netrc
**/.npmrc
**/.pypirc
**/credentials
**/credentials.json
**/credentials.yaml
**/credentials.yml

# Editor backup/swap files
*~
*.swp
*.swo

# Python bytecode caches
**/__pycache__/
*.pyc
*.pyo

# LaTeX build artifacts (sitewide — covers paper/, any future TeX sources)
*.aux
*.bbl
*.blg
*.brf
*.fdb_latexmk
*.fls
*.glo
*.gls
*.idx
*.ilg
*.ind
*.lof
*.lot
*.nav
*.out
*.snm
*.synctex.gz
*.toc
*.vrb
# PGF/TikZ scratch outputs
pgftest*.pdf
pgftest*.log
pgftest*.aux
# LaTeX run logs (scoped to paper/ — bare *.log would be too broad sitewide)
paper/*.log

# Data files that are generated at build time (not version-controlled)
data/embeddings.json
data/similar-links.json
data/backlinks.json
data/build-stats.json
data/build-start.txt
data/last-build-seconds.txt
data/semantic-index.bin
data/semantic-meta.json

# IGNORE.txt is for the local build and need not be synced.
IGNORE.txt

# Working notes / planning docs at the repo root (not site content).
checklist.md

# CV/résumé build pipeline (YAML → Jinja → xelatex). The canonical PDFs
# live under static/ and ship with the site; the pipeline itself is
# kept locally for regeneration but not version-controlled here.
yaml-source/
# Handover bundle (archived locally for reference; not part of the site).
levineuwirth_handover.zip

# Model files for client-side semantic search (~22 MB binary artifacts).
# Download with: make download-model
static/models/

# Vendored PDF.js viewer (~18 MB uncompressed, pinned in tools/download-pdfjs.sh).
# Download with: make download-pdfjs
static/pdfjs/

# Generated WebP companions (produced by tools/convert-images.sh at build time).
# To intentionally commit a WebP, use: git add -f path/to/file.webp
static/**/*.webp
content/**/*.webp