三个取舍
第一,动效只动 transform 和 opacity。这两个属性不触发重排重绘, 能在合成线程上跑完。每次想让某个东西"再动多一点"的时候,先想想它是不是越过了这条线。
第二,不加载任何网络字体。中文 webfont 动辄几兆,为了一款字体付这个代价 不划算。标题走系统衬线,正文走系统无衬线,两套栈都已经在浏览器里了。
第三,只有两个地方用了 React。日志页的筛选器和文件页的搜索。 其余的淡入、平滑滚动都是原生脚本,因为它们不需要跨渲染持有状态。少一个岛, 首屏就少一份要下载的 JS。
判断标准只有一个:这东西需要跨渲染保存状态吗?不需要的,就别做成组件。
配色
纸、墨、朱砂三者按 80 : 18 : 2 分配。朱砂是全站唯一的高饱和色,用量一旦超过 5%, 页面就会开始吵。所以它只出现在链接、列表的点、以及强调线上。
还没做的
心情的周月总结还没做,另外一些零碎的想法也还在排队。这个站不着急,写到哪算哪。