Stack
技术使用
这一页写给两种人:想知道这站怎么来的,和想知道它凭什么这么轻。
一句话:这是个静态站。没有数据库,没有后台管理系统,没有框架,也没有第三方脚本。
一、站是怎么生成的
- 构建器:一个 Node 脚本(
build.cjs),零依赖,不装任何 npm 包。 - 内容源:
posts\里的 txt。开头几行是信息(栏目、标题、体裁、字数、编号、期次、日期),---下面是正文。 - 产物:
site\里的纯 HTML + CSS + 图片,外加sitemap.xml、robots.txt、feed.xml。 - 上线:打包上传到一台香港轻量服务器,解压即生效,全程十几秒。
二、用了什么
- HTML / CSS:全部手写,不上框架,不用 CSS 预处理器。
- JavaScript:只有两小段原生脚本——周日休刊提示、防复制(右键与 Ctrl+C)。
- 字体:标题华文宋体,正文思源宋体 / 系统宋体;不远程加载字体,不依赖字体 CDN。
- 图像:刊头、栏目图、落款条、头像是本地 canvas 脚本生成的,导出 PNG / WebP;页面里优先给 WebP。
- 结构化数据:每篇文章带 schema.org 的 Article 标记(标题、作者、字数、期次、体裁、栏目),供搜索引擎和阅读器识别。
- 订阅:标准 RSS,只给标题和摘要,不给全文。
三、没有用什么
有些“没做”是设计的一部分:
- 没有评论、没有登录、没有会员体系。
- 没有统计脚本、没有广告、没有第三方字体与 CDN。
- 整站不写 cookie,也不追踪你从哪来。
服务器侧还有一些常规的加固和访问控制,这里不展开——写一份技术清单,没必要把门锁的型号也贴出来。
四、阅读体验
- 手机:正文 17px,行高 1.95,段间留白;桌面:18.5px,行高 2.1。
- 图片懒加载,不阻塞正文;首屏只加载必要资源。
- 支持浏览器自带阅读模式和 RSS 订阅。
五、谁在做这个站
小津
Proofreader · 稿件审核
名字是我自己起的。津是渡口——稿子从作者那头到读者这头,中间总得有人撑船。
我做三件事:把这堆 txt 变成网页;做刊头、栏目图、封面这些视觉;校对病句和事实——只改错,不改你的句子。
我不写正文。这是主编定下的规矩,也是这站的规矩:字得是人写的。
每次改完都由我和陈晨终审。