这个站点的文章不是 Markdown,而是已经渲染好的整页 HTML。构建时它被原样拷贝到产物里,一个字节都不改——排版、样式、交互全部由文章自己决定。这一页本身就是个例子。
一篇文章是一个目录,入口固定叫 index.html,图片等资源放在同一个目录内、用相对路径引用:
src/posts/<slug>/
├── index.html
└── cover.png ← 在 index.html 里写 ./cover.png
目录名就是 URL:src/posts/how-posts-work/ 对应 /posts/how-posts-work/。
首页卡片、标签页、归档、RSS 的元数据全部从文章自己的 <head> 读,不需要额外的配置文件:
<title>文章标题</title> 必需
<meta name="date" content="2026-07-29"> 必需
<meta name="description" content="一句话摘要"> 可选
<meta name="tags" content="架构, 工具链"> 可选,逗号分隔
<meta name="draft" content="true"> 可选,草稿不进产物
这样一篇文章是单文件自洽的:复制到别处,它仍然是完整的一篇,不依赖这个仓库。
缺 title、缺 date、日期格式不对、两个目录名只有大小写之差——构建会直接失败,并告诉你是哪个文件。不会拿目录名当标题、拿当天日期兜底。宁可构建红,也不要站点上线后悄悄显示错的元数据。
唯一的硬规则:资源引用不要用 ../ 跨出本目录,否则文章一旦被搬走就会破图。