- Add puppeteer + mime-types to devDependencies
- Integrate prerender.mjs into build script (runs after vite build)
- Add Linux/Docker-safe Chrome flags (--disable-setuid-sandbox, --disable-dev-shm-usage, --disable-gpu)
- Fix static server to strip query strings from URLs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Manual script (node scripts/prerender.mjs) that starts a local static
server, visits each route with Puppeteer, waits 3s for React to render,
and saves full HTML to dist/. Covers all static routes + blog posts.
Run after vite build when prerendering is needed. Requires puppeteer
installed (npm i -D puppeteer mime-types).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>