Yuan Gao / Writing 关于

从公众号到个人站点:一条内容管线是怎么跑通的

1 分钟阅读

这篇文章不是抓来的,是 wechat-migrate 自己生成的一条样例记录。 它走的是和真实文章完全相同的代码路径:解析元信息、转换正文、生成 front-matter、写入索引。 所以你现在看到的排版效果,就是迁移之后真实文章的样子。

管线做了什么

整条链路拆成五步,每一步都可以单独重跑:

  • 列表 —— 复用你自己的后台登录态,翻页拿到全部已发表图文
  • 增量判定 —— 已同步过的文章连详情页都不会去请求
  • 正文 —— 解析标题、时间、作者、原文链接、合集与话题标签
  • 媒体 —— 图片按内容指纹去重后本地化,跨文章复用同一份文件
  • 落盘 —— 生成带 front-matter 的 Markdown,并刷新前端索引

能被增量同步的内容,才谈得上长期维护。

为什么是 Markdown

公众号的 HTML 是一次性的:层层嵌套的 section、写死的内联样式、 挂在 data-src 上的懒加载图片。这些东西搬到自己的站点上没有任何价值。 转成 Markdown 之后,内容和呈现才真正分开 —— 换主题、换框架、换 CMS,正文都不用动。

关于图片

微信图床有防盗链,直接引用原链在自己的域名下会变成裂图。所以图片必须本地化, 这也是整条管线里最容易被低估的一步。

更多内容见 个人主页