Notes — this site
The site you are reading: a static build that turns my Notion study notes into public, searchable pages while keeping math, code, and nested pages intact.
- Status
- active · current site
- Role
- Author and maintainer of the pipeline, templates, and notes.
- Stack
- static-site, notion, cloudflare, technical-writing
- Repository
- Source code
- Dates
Problem
Study notes lose value on the web when LaTeX, code indentation, nested pages, and images break, or when readers cannot tell a rough note from a checked one.
What I built
A strict Notion ingestion step normalizes each topic tree to JSON and fails on unsupported blocks. A static build renders routes, search, RSS, and sitemap for Cloudflare, joining checked-in sidecars for publication status, corrections, and stable images.
Evidence
{"type":"equation","blockId":"347d3a21-bb2d-80c2-ab57-e88305c8b7ac",
"expression":"opt[i][j-1] ≤ opt[i][j] ≤ opt[i+1][j]"}
<div class="notion-block notion-equation" data-notion-block-id="347d3a21-…"
data-latex="opt[i][j-1] ≤ opt[i][j] ≤ opt[i+1][j]">\[opt[i][j-1] ≤ opt[i][j] ≤ opt[i+1][j]\]</div>One hard decision
Corrections and statuses live in checked-in sidecar files keyed by Notion block ids, not in the pulled JSON, so a fresh Notion pull cannot silently undo a fix.
Where it stands
125 note pages and 19 posts build from checked-in data with deterministic tests; every note shows its publication status and substantive corrections are published on the Errata page.
Limits
Most notes are unreviewed Working notes. Four images had to be redrawn because the Notion originals were no longer reachable. Page speed was measured only locally with a throttled phone profile (Home: about 0.6 s to largest paint, 47 KB transferred) and is not monitored in production.