第 9 章 · 把第一个站打磨成模板:一换皮就复制十个站
第一个站跑通后,用 pnpm template-audit 一键检查模板健康度,修掉违规项,再沉淀一份换皮清单;下一个游戏只需复制仓库、跑 apply-template、换内容层三步,30 分钟复制一个新站,代码层一行不改。
你现在在哪,这章解决什么
第 8 章的周节奏稳定转起来,你的第一个站已经是「会自己保鲜的店」。这时的放大路径很自然:一个站吃一个游戏的热词,十个站吃十个。
但如果你今天直接把仓库复制一份去做第二个游戏,会发生什么?第一个游戏的域名、站点名、兑换码文章、Boss 封面图全被带过去——第二个站从第一天起就穿着第一个站的旧衣服,而且你很难说清哪些该换、哪些不该动。
这一章解决的就是这件事:把「打磨第一个站」变成「打磨一个模板」。做完之后,复制一个新站是 30 分钟的标准流程,不是一次考古。
这章做完你会得到
- 一份模板健康度报告(
pnpm template-audit),明确知道哪些东西还绑在旧游戏上 - 一张换皮清单:换新游戏时,哪些文件必改、哪些目录必换
- 复制第二个站的标准四步流程,代码层一行不改
先认识几个词
-
三层分离:AnvilWiki 的骨架原则,复制十个站也只有这三层的事:
层 是什么(类比) 换新游戏时 代码层 src/pages、src/components、src/lib承重墙和水电 一行不改 配置层 src/config、src/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.ts、en.json、src/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 分钟标准流程
- 复制仓库(5 分钟):在 GitHub 上把你的仓库复制一份(duplicate 或 use this template),新仓库连一个新的 Cloudflare Pages 项目。
- 换配置层(10 分钟):新仓库里跑
pnpm apply-template,交互式引导你改站名、域名、主题色、语言、分类,并清空旧内容。 - 换内容层(10 分钟):按第 4 章套路产出第一批文章;想批量铺,直接进第 10 章。
- 验证上线(5 分钟):
pnpm build绿了就部署,然后把新站加进 Google Search Console(回第 6 章的流程)。
⚠️ wrangler.toml 的坑(第 5 章讲过,复制新站时最容易踩):这个文件存在时,它会接管 Cloudflare 后台的环境变量。复制新站后要么改它的
[vars],要么删掉它改用后台配置——忘了这一步,新站会一直用旧站的域名和评论区。
卡住了怎么办
- 「template-audit 一堆 ⚠️」:⚠️ 不是错误。逐条问自己「复制下一个站时要不要带上它」,要就修,不要就留。
- 「apply-template 之后 build 挂了」:九成是分类三处不一致,跑
pnpm check-config精确定位。 - 「第二个站的评论显示的是第一个站的讨论」:Giscus 配置没换,检查
wrangler.toml的PUBLIC_GISCUS_*四项。
✅ 验收(全部成立才算完成)
- ☐
pnpm template-audit无 ❌,总分看得懂 - ☐ 换皮清单已生成并保存(
docs/rebrand-checklist.md) - ☐ 复制第二个站走完四步流程,
pnpm build全绿,代码层一行没改
下一步
模板就绪,下一章解决「新站拿什么填」:第 10 章·批量做内页——从一份关键词清单出发,一个站变出几十个流量入口。