滚动驱动动画:让 scroll 监听器退休
animation-timeline 把滚动位置直接变成动画进度,浏览器在合成线程完成一切。本文用阅读进度条和入场动效两个例子,把这套原生 API 讲清楚。
2026.08.05 · 2 分钟
不要数据库,不要管理后台。文章是仓库里的 Markdown 文件,构建命令跑完,整个站点变成一叠可以扔到任何地方的 HTML。这篇文章记录这套工作流的完整思路。
2026.07.11
基于 Rust、MinIO 与 FFmpeg 的视频上传、转码和私有 HLS 播放服务,支持分片直传、断点续传、任务接管和短时效播放凭证。
2026.06.07
基于 Rust 的智能硬件边缘网关,把多种现场协议收敛为统一物模型,并提供可靠上云、本地闭环、Web 运维与网关群控。
2026.03.10
基于 Go、PostgreSQL 与 Redis 构建的统一身份中心,覆盖多租户隔离、可撤销会话、MFA、WebAuthn、OIDC 授权服务器、应用授权与安全审计。
animation-timeline 把滚动位置直接变成动画进度,浏览器在合成线程完成一切。本文用阅读进度条和入场动效两个例子,把这套原生 API 讲清楚。
一篇用来检验站点排版系统的文章:标题层级、列表、引用、表格、多语言代码块、图片与分隔线全部在场。改动样式之后,先来这里看一眼。
satisfies 解决的是一个很具体的矛盾:既要校验值符合某个宽类型,又不想丢掉字面量本身的精确类型。三个日常场景说明它和 as const 怎么配合。
云应用把「打开自己的文件」变成了需要网络许可的操作。本地优先是对这件事的系统性纠偏:本地是事实源,同步只是增强。这篇是我的阅读与实践笔记。
给这个站点起名、定规矩的短文。写作的部分留给深夜,工程的部分留给白天,两件事在这里汇合。