博客
关于工程、设计与一些随手记录。
为什么我又搭了一个个人主页
不是没有地方写东西,而是没有一个地方能同时放文章、小游戏和工具。顺便说说这次的技术选型为什么是 Astro 而不是 VitePress。
静态站上线不是「把文件夹传上去」:缓存、压缩、以及诚实的 404
纯静态托管的坑几乎全在响应头上。哪些文件能永久缓存、哪些一秒都不能缓存、以及为什么静态站绝对不能做 SPA 式回退。
用 Astro islands 把首屏 JS 压到零
从「异步引入」到「按需水合」,讲清楚三层懒加载分别解决什么问题,并给出这个站点里真实在跑的代码。
321 项断言,零测试框架:纯逻辑必须零 import
我的自检是 node scripts/selftest.ts 直接跑的,没有测试框架也没有依赖。代价是纯逻辑模块一个相对 import 都不能有,而这个代价换来了代码形状。
纯静态站的全文搜索:构建期索引,运行时零后端
静态站做搜索不一定非得接 Algolia。把索引放到构建期生成,搜索完全跑在浏览器里,代价只有构建慢几秒。
把孔版套印的约束翻译成设计令牌
这个站点的视觉方向是孔版套印。我真正做的事是把印刷的物理限制写成令牌,于是换观感只动了两个文件,组件一行没改。
