v2.0.0 发布 —— 内容经营操作系统:PR 门控内容管道(关键词清单 → 八道门禁 → 草稿 PR)、anvilwiki-ops 1.0(多站管理 + AI 引用追踪)、pnpm gen-covers 封面自动生成、Affiliate 建议位。fork 零迁移成本。
AnvilWiki
EN
第 9章 更新于 2026年8月20日

第 9 章 · 把第一个站打磨成模板:一换皮就复制十个站

第一个站跑通后,用 pnpm template-audit 一键检查模板健康度,修掉违规项,再沉淀一份换皮清单;下一个游戏只需复制仓库、跑 apply-template、换内容层三步,30 分钟复制一个新站,代码层一行不改。

你现在在哪,这章解决什么

第 8 章的周节奏稳定转起来,你的第一个站已经是「会自己保鲜的店」。这时的放大路径很自然:一个站吃一个游戏的热词,十个站吃十个。

但如果你今天直接把仓库复制一份去做第二个游戏,会发生什么?第一个游戏的域名、站点名、兑换码文章、Boss 封面图全被带过去——第二个站从第一天起就穿着第一个站的旧衣服,而且你很难说清哪些该换、哪些不该动。

这一章解决的就是这件事:把「打磨第一个站」变成「打磨一个模板」。做完之后,复制一个新站是 30 分钟的标准流程,不是一次考古。

这章做完你会得到

  • 一份模板健康度报告(pnpm template-audit),明确知道哪些东西还绑在旧游戏上
  • 一张换皮清单:换新游戏时,哪些文件必改、哪些目录必换
  • 复制第二个站的标准四步流程,代码层一行不改

先认识几个词

  • 三层分离:AnvilWiki 的骨架原则,复制十个站也只有这三层的事:

    是什么(类比)换新游戏时
    代码层 src/pagessrc/componentssrc/lib承重墙和水电一行不改
    配置层 src/configsrc/locales、主题色、public/墙面颜色和门牌每游戏改一次(apply-template 代劳)
    内容层 src/content/wiki/、封面图家具和货物完全替换
  • 模板健康度:模板还能不能干净地复制出下一个站的量化答案。pnpm template-audit 用 ✅/⚠️/❌ 打分,比如「模板健康度:8/11」。

  • 换皮:把模板的外壳(配置层+内容层)换成另一个游戏,代码层不动。

第 1 步:跑模板健康检查(2 分钟)

做什么:让网站自己报告「我离一个干净模板还差几步」。 怎么做:终端输入:

pnpm template-audit

你会看到:四组检查——①代码层纯净度(框架代码里不该出现任何游戏专属字符串);②配置层完整度(域名、游戏名、分类三处一致);③内容层可替换性(每个分类有几篇文章、有没有 draft 遗留);④换皮残留(demo 图片、demo 文章、wrangler.toml 里的 demo 值)。最后一行是总分,如「模板健康度:8/11」。 确认做对了:❌ 数量为 0。⚠️ 是提醒不是错误——在你的第一个站上,它意味着「复制第二个站之前要不要顺手处理」。

第 2 步:修复(❌ 清零,⚠️ 视情况)

报告项怎么修
❌ 代码层混入游戏字符串违反三层分离。把字符串搬到配置层(site.ts/locales)或内容层(MDX),代码里改读配置
❌ 分类三处不一致照报错信息,把 navigation.tsen.jsonsrc/content/wiki/en/<分类>/ 目录名对齐
⚠️ demo 域名/游戏名残留pnpm apply-template 会引导你换;已换过但个别字段漏了就手动补
⚠️ demo 图片资产残留换成你自己的图,或直接删(apply-template 也会清)
⚠️ draft:true 遗留逐篇决定:发布(去掉 draft)或删除
⚠️ 某分类 0 篇文章补 1 篇,或从导航里移除这个分类

第 3 步:沉淀换皮清单(10 分钟)

健康度达标后,把「复制新站时必做的事」写成一份清单存进仓库。让 AI 帮你生成初稿:

基于当前仓库生成「换皮清单」文档(只读不改,输出为 markdown):
1. 配置层逐文件列出含游戏信息的字段:site.ts / navigation.ts / globals.css 主题色 / routing.ts / src/locales/*.json / manifest.json,每项写清「复制新站时改成什么」
2. 内容层列出需完全替换的目录:src/content/wiki/、src/assets/covers/、public/images/
3. wrangler.toml [vars] 列出必改项(SITE_URL、PUBLIC_GISCUS_*),并提醒:该文件存在时 Cloudflare 后台的env 配置会被忽略
4. 单独列出「本站私有资产」:我为这个游戏加过的自定义改动(如果找得到)
保存为 docs/rebrand-checklist.md。

这份清单的价值:半年后你复制第五个站时,不用回忆任何细节,照单执行。

复制第二个站:30 分钟标准流程

  1. 复制仓库(5 分钟):在 GitHub 上把你的仓库复制一份(duplicate 或 use this template),新仓库连一个新的 Cloudflare Pages 项目。
  2. 换配置层(10 分钟):新仓库里跑 pnpm apply-template,交互式引导你改站名、域名、主题色、语言、分类,并清空旧内容。
  3. 换内容层(10 分钟):按第 4 章套路产出第一批文章;想批量铺,直接进第 10 章。
  4. 验证上线(5 分钟):pnpm build 绿了就部署,然后把新站加进 Google Search Console(回第 6 章的流程)。

⚠️ wrangler.toml 的坑(第 5 章讲过,复制新站时最容易踩):这个文件存在时,它会接管 Cloudflare 后台的环境变量。复制新站后要么改它的 [vars],要么删掉它改用后台配置——忘了这一步,新站会一直用旧站的域名和评论区。

卡住了怎么办

  • 「template-audit 一堆 ⚠️」:⚠️ 不是错误。逐条问自己「复制下一个站时要不要带上它」,要就修,不要就留。
  • 「apply-template 之后 build 挂了」:九成是分类三处不一致,跑 pnpm check-config 精确定位。
  • 「第二个站的评论显示的是第一个站的讨论」:Giscus 配置没换,检查 wrangler.tomlPUBLIC_GISCUS_* 四项。

✅ 验收(全部成立才算完成)

  • pnpm template-audit 无 ❌,总分看得懂
  • ☐ 换皮清单已生成并保存(docs/rebrand-checklist.md)
  • ☐ 复制第二个站走完四步流程,pnpm build 全绿,代码层一行没改

下一步

模板就绪,下一章解决「新站拿什么填」:第 10 章·批量做内页——从一份关键词清单出发,一个站变出几十个流量入口。