版权页 · 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
PDF
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

Built in the open. Source-of-truth is this page.