跳到正文

NOTES

笔记库

共 14 篇 · 6 个主题 · 最近 3 天内有更新。 成熟度不是进度条,是我对结论确定程度的诚实标注。

14 条结果

滚动背景序列:让下一层把上一层「接」过去

成长中

三层背景共享一个进度,相邻两层在交接区间互补。第一版用三角波算透明度,画面越滚越黑——因为后画的图层会压住先画的。

拖进来的文档,只留在这台设备

成长中

不做账号、不做上传,导入的 markdown 落在 IndexedDB 里。代价是它必须走一条完全独立的解析与渲染路径。

目录、进度条、相关阅读:三样辅助,三次克制

成长中

阅读页只允许三样东西跟着读者走。它们的克制点各不相同:目录限层级、进度条限粗细、相关阅读限分数。

静态站要留言,只能自己起一个后端

成长中

GitHub Pages 没有服务端。评论区最终落在一个 Worker + 一张 D1 表上:一个配置接口、三个业务接口、三态软删、两层限流。

主题切换不该经过 React

常青

首帧的主题必须由内联脚本在 React 之前定好。真相放在 <html data-theme> 上,React 只订阅它,不拥有它。

部署到 /仓库名/ 之后,路径不能再说「相对于我」

成长中

项目站点不在域名根下。base 写成相对路径会在 /notes/xxx/ 里解析错,写成空串会退化成协议相对地址。

预渲染的三道闸门:宁可构建失败,也不发布空壳

常青

renderToString 返回成功,不等于页面有内容。占位块、骨架、正文过短,这三种"没渲染完"必须让构建挂掉。

导航顺序只写一次:一份数组,三个出口

成长中

顶栏、页脚、命令面板各写一份目录,顺序就会分成三套。把顺序收进一个数组,比"记得同步"可靠。

从 13 个类型错误里读出的结构问题

常青

一个能跑的页面,为什么 tsc 退出码是 2?顺着 13 个错误摸下去,发现的问题都不在类型层面。

给动效做预算:一屏只留一个常驻动画

成长中

效果组件是素材,不是风格。真正决定审美的不是用了什么效果,而是拒绝了哪些效果。

把内容分析搬到构建期:MDX 的一点点编译器魔法

成长中

目录、阅读时长、标题锚点这些"能被程序算出来的东西",不该在浏览器里再算一遍。

Tailwind v4 接入:从「指令」到「导入」的一行之差

成长中

v3 的 @tailwind 指令在 v4 里已经不存在了。写错不会报错,只会让你的样式静默消失。

假组件比 Bug 更贵

常青

长得像组件、用起来像组件、但没有行为——这类代码的成本不在写的时候,而在别人以为它能用的时候。

760px 是怎么算出来的:中文长文的行宽

萌芽

阅读列宽度不该靠感觉调。中文每行 34–42 字,配合 17px / 1.8,宽度落在 680–780px。现在是 760。