This repository contains the source files for levineuwirth.org in their entirety and is automatically updated whenever the website is rebuilt.
https://levineuwirth.org
- GPG page signing: dedicated signing subkey in ~/.gnupg-signing, sign-site.sh walks _site/**/*.html producing .sig files, preset-signing-passphrase.sh caches passphrase via gpg-preset-passphrase; make sign target; make deploy chains it - Footer sig link: $url$.sig with hover popup showing ASCII armor (popups.js sigContent provider; .footer-sig-link bound explicitly to bypass footer exclusion) - Public key at static/gpg/pubkey.asc - Embedding pipeline: tools/embed.py encodes _site pages with nomic-embed-text-v1.5 + FAISS IndexFlatIP, writes data/similar-links.json; staleness check skips when JSON is newer than all HTML; make build invokes via uv, skips gracefully if .venv absent - SimilarLinks.hs: similarLinksField loads similar-links.json with Hakyll dependency tracking; renders Related section in page-footer.html - uv environment: pyproject.toml + uv.lock (CPU-only torch via pytorch-cpu index) - Visualization filter: Filters/Viz.hs runs Python scripts for .figure (SVG) and .visualization (Vega-Lite JSON) fenced divs; viz.js renders with monochrome config and MutationObserver dark-mode re-render; viz.css layout - Search timing: #search-timing element shows elapsed ms via MutationObserver - Build telemetry timestamps removed from git tracking (now in .gitignore) - spec.md updated to v9; WRITING.md updated with viz, related, signing, build docs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| build | ||
| content | ||
| data | ||
| static | ||
| templates | ||
| tools | ||
| .env.example | ||
| .gitignore | ||
| .python-version | ||
| CLAUDE.md | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| WRITING.md | ||
| cabal.project | ||
| cabal.project.freeze | ||
| levineuwirth.cabal | ||
| pyproject.toml | ||
| sample_music.svg | ||
| spec.md | ||
| uv.lock | ||