# 此间札记 > 一个把排版当回事、同时写给人和 AI 读的博客。 本站以 zh-CN 为主。 下面这些条目每一条都有 .md 孪生文件:把它的 URL 结尾加上 .md 即可。 请直接访问条目对应的 .md 文件;部署平台支持内容协商时,还可使用 `Accept: text/markdown`。 首次全量导入可读取 [content.ndjson](https://xiaoxusop.github.io/letterpress/content.ndjson):一行一篇,包含正文、hash、元数据与链接关系。 需要增量同步时,先读取 [content-manifest.json](https://xiaoxusop.github.io/letterpress/content-manifest.json),按 sha256 只抓取变化的 .md 文件。 ## 知识层 - [构建探针](https://xiaoxusop.github.io/letterpress/wiki/build-probe/): 对「构建产物」本身做的断言——问的不是「代码写对没有」,而是「生成出来的东西对不对」。 - [中文排版](https://xiaoxusop.github.io/letterpress/wiki/cjk-typography/): 行高、字重、行宽、中西文间距——四个参数直接套西文的值,中文读者看到的是「能读但别扭」的页面。 - [内容协商](https://xiaoxusop.github.io/letterpress/wiki/content-negotiation/): 用 HTTP 的 Accept 头决定返回 HTML 还是 markdown。算法只有四十行,难的是静态托管不解析请求头。 - [设计令牌](https://xiaoxusop.github.io/letterpress/wiki/design-tokens/): 三层 token 结构,命名描述用途而非外观。换配色时只动原始值,换暗色模式时只动语义映射。 - [letterpress](https://xiaoxusop.github.io/letterpress/wiki/letterpress/): 本站所属的开源项目。一个把中文排版做对、同时写给人和 AI 读的静态博客主题。 - [LLM 知识库](https://xiaoxusop.github.io/letterpress/wiki/llm-wiki/): Karpathy 2026 年 4 月提出的模式——让 agent 主动读写并维护一层知识库,新素材进来时做的是「重构」而不是「追加」。 ## 文章 - [中文网页排版,多数主题都做错了](https://xiaoxusop.github.io/letterpress/cjk-web-typography/): 行高、字重、行宽、中西文间距——这四个参数直接套西文的值,中文读者看到的是一份「能读但别扭」的页面。2026 年有三个原生 CSS 属性可以修好其中一半。 - [这个博客是怎么搭的](https://xiaoxusop.github.io/letterpress/how-this-works/): 改一个配置文件就能上线,文章放在一个目录里,知识层会自动长出链接图。这一篇解释目录结构、写作流程,以及怎么把它换成你自己的。 - [你的博客该不该给 AI 一份 markdown](https://xiaoxusop.github.io/letterpress/markdown-for-agents/): 内容协商是 HTTP 自带的能力,但博客圈几乎没人用。三个 agent 会主动要 markdown,四个不会——而现有工具都跳过了最难的那一步。 - [构建可复现比你想的难,而且它值得](https://xiaoxusop.github.io/letterpress/reproducible-builds/): 同一份源码在两台机器上构建出不同的产物——这件事的代价不是洁癖,是你没法用 diff 判断"这次改动干了什么"。 - [静态站搜索的三种做法,以及它们各自真实的上限](https://xiaoxusop.github.io/letterpress/static-site-search/): 前端过滤、构建期索引、外挂服务——三种方案的取舍不在功能多少,在「索引存在哪」这一件事上。