版权页 · Colophon
关于这座小站
这个站点是一封写给排版与软件的情书。下面记录了它的材料、工具与决定。
- Typography
- Fraunces (display, opsz 14–144) · Inter + 思源宋体 · JetBrains Mono
- Grid
- 8pt baseline · modular scale (Perfect Fourth, 1.333)
- Frontend
- Vue 3 · Vite 5 · Pinia · vue-router 4
- Typography engine
- @chenglou/pretext — measure + flow without reflow
- Transitions
- Hand-rolled FLIP via Web Animations API
- pdfmake (lazy-loaded; identical data source with /cv)
- Markdown
- ~80-line in-house renderer (no markdown-it)
- Backend
- NestJS 10 · TypeORM · better-sqlite3 (WAL)
- Auth
- JWT (12h) · bcryptjs · passport-jwt
- Rate limit
- @nestjs/throttler (contact: 5 / 10min / IP)
- i18n
- Hand-written dict (zh / en), ~30-line resolver
- Theme
- CSS vars + `data-theme` (light / dark / auto)
- a11y
- WCAG 2.2 AA target · respects prefers-reduced-motion
- Budget
- First-load JS gzip < 90 KB (currently ~40 KB)
With thanks to
- chenglou — for pretext and a lifetime of typographic taste
- Edward Tufte — for the principle that data and design are the same discipline
- Robert Bringhurst — for The Elements of Typographic Style