技术
单文件站点的自我修养
2 分钟
这个网站是一个 HTML 文件。不是「一个目录打包成一个文件」,是真的只有一个文件:路由、Markdown 解析、语法高亮、光线步进流体、FLIP 动画、防破解、彩蛋,全部住在同一份文件里。
#为什么这么干
能被一个文件装下的东西,十年后还能打开。
这是偏执,也是告白:不依赖任何服务器,不依赖任何构建链,十年后随便一台电脑双击它,它还是它自己。
没有 npm install,没有 build,没有「环境问题」。断网、换机、复制粘贴——它活着。
#都装了什么
- 路由:
hashchange驱动,带过渡动画与页面标题 - Markdown:手写解析器,支持标题、引用、代码块、高亮、表格
- 高亮:一个正则搞定 JS/GLSL 关键字、字符串、数字、注释
- 背景:4 球体 SDF 的光线步进流体,自适应分辨率
- 动画:FLIP 列表过渡、reveal、tilt 卡片
- 安全:数据 XOR 加密,暗号解锁复制,彩蛋系统
- 构建:一个 PowerShell 脚本加密注入,随时可以再生成一份
#感受
写单文件站点像在练独门功夫:不能借别人的力,所以每一行都得是自己的。很多「正常工程」里不该手写的东西,在这里都是手写的——也正因为手写,我才真的知道它们是什么。
别人的轮子当然好。但自己的轮子,转起来的声音是热的。
#尾声
这个文件 14 万字节,会呼吸,会发光,会在深夜自己下雨。
它装不下世界,但它装得下一个少年的所有话。