A lightweight Astro site prepared for GitHub Pages.
npm install
npm run devnpm run buildPush to main. GitHub Actions builds the site and deploys it to GitHub Pages.
Daily paper-reading posts (src/content/blog/*-paper-reading.md) carry private: true in frontmatter. Private posts are hidden entirely from public listings (homepage "Writing", blog index, archive, tags, collections) until a visitor unlocks the gate; their post pages show an unlock panel instead of the body.
- The gate lives in
src/layouts/BaseLayout.astro: an inline script addspr-unlockedon<html>whenlocalStorage['paper-reading-unlock']is'1'; gated elements are markedpr-item/pr-content; a SHA-256 check of the entered password stores the flag. - Change the password:
printf '%s' 'NEWPASSWORD' | sha256sum, then replace theHASHconstant insrc/layouts/BaseLayout.astro. - Front-end gate only (static site): keeps posts out of normal browsing, not out of the raw HTML.
- Automated publishing was retired on 2026-10-04; new posts are written manually (or via
/login/).