这份清单是给后续维护 Phaser 系列用的,不是读者按主题学习的入口。它解决一个很实际的问题:当文章从 120 篇继续扩到 150、180 篇时,不能每次都靠记忆判断“这篇应该放到哪个总分类、是否要进入专项页、某个专项分组是不是已经太长”。
原则只有三个:总导航负责完整发现,专项页负责深入阅读,维护清单负责让新增文章有稳定的落位规则。新增文章可以很细,但导航规则必须稳定,否则系列越写越多,读者反而更难找到内容。
新增文章处理流程
每新增一篇 Phaser 文章,按下面顺序处理:
- 确认文件名、
slug、标题、日期和描述是否稳定。文件名会影响公开 URL,不要为了归档整齐移动已发布文章。 - 判断它的“主系统类型”,只放进总导航的一个主分类,避免同一篇文章在总导航里重复出现。
- 判断它是否属于 3 个专项页之一:性能与发布、关卡与内容工具、战斗与数值。
- 如果属于专项页,再判断应该进入哪个二级分组;如果没有合适分组,先评估是否新增分组,而不是强行塞进相近分组。
- 更新总导航的专题篇数、月份回看和专项入口说明。
- 更新专项页的分组篇数、快速定位表和文章表。
- 跑链接存在性、尾随空白、
git diff --check和限定 Phaser 目录的 Hugo 解析。
总分类决策表
总导航仍然使用 7 个主分类。每篇文章只能选择一个主分类,哪怕它同时涉及多个系统。
| 总分类 | 放入条件 | 不要放入的情况 | 超过多少篇考虑拆分 |
|---|---|---|---|
| 输入与设备 | 输入映射、触屏、手柄、键盘、移动端音频解锁、输入录制、设备能力探测。 | 文章重点是线上调试或回放证据时,优先考虑性能与发布。 | 15 篇 |
| 关卡与内容管线 | 地图、Tilemap、Tiled、关卡节奏、生成、UGC、内容校验、关卡热更新、世界规则。 | 文章重点是运行时性能预算时,优先考虑性能与发布。 | 25 篇 |
| 战斗与数值 | 战斗反馈、AI、索敌、Boss、技能树、Buff、伤害公式、回合行动条、训练场。 | 纯物理小游戏或竞速手感优先放小游戏与物理手感。 | 25 篇 |
| 经营与模拟 | 经济循环、生产、订单、背包、农场、任务、商店、广告奖励、LiveOps、社交组织。 | 只讲 UI 展示但不涉及系统状态时,优先考虑 UI、叙事与本地化。 | 25 篇 |
| 小游戏与物理手感 | 音游、三消、钓鱼、抓娃娃、滑雪、载具、绳索、Matter 平台、弹珠台、竞速影子。 | 如果核心是战斗碰撞或伤害结算,放战斗与数值。 | 20 篇 |
| UI、叙事与本地化 | 对话、演出、镜头、拍照、Avatar、字体、CJK、本地化、可访问性、后处理表现。 | 如果 UI 只是某个系统的入口,按系统本身归类。 | 20 篇 |
| 性能、发布与稳定性 | 资源加载、缓存、PWA、CDN、性能预算、对象池、存档、联机同步、迁移、调试遥测、低端机降级。 | 如果只是某个玩法中的局部优化,优先归入玩法主分类。 | 25 篇 |
专项页纳入规则
专项页不是第二个总导航,只纳入需要深读路径的文章。判断时看文章是否能帮助读者完成一个专项方案。
| 专项页 | 纳入条件 | 常见二级分组 | 不纳入的情况 |
|---|---|---|---|
| 性能与发布专项 | 文章能帮助解决上线、缓存、资源版本、帧预算、迁移、可观测性、同步或数据恢复。 | 架构与迁移、资源/缓存与发布、运行时性能与低端机、数据/同步与问题复现。 | 只是某个玩法里顺手提到性能注意点。 |
| 关卡与内容工具专项 | 文章能帮助搭建关卡生产线、内容工具、规则校验、UGC、安全边界、地图坐标或世界规则。 | 地图/坐标与空间表达、关卡规则与可验证解谜、生成/刷怪与节奏控制、世界规则/UGC 与内容上线。 | 只是一个一次性小游戏原型,没有可复用内容管线。 |
| 战斗与数值专项 | 文章能帮助设计战斗手感、AI、索敌、Boss、数值解释、成长系统、训练场或结算顺序。 | 手感/碰撞与反馈、AI/感知与目标选择、数值/成长与结算顺序、战斗场景与模式设计。 | 只是物理手感练习,且没有战斗语义。 |
暂时不要为“经营与模拟”“UI、叙事与本地化”“小游戏与物理手感”新增专项页。只有当这些主分类各自超过 25 篇,且内部出现明显阅读路线时,再拆新专项。
二级分组拆分规则
专项页里的二级分组要比总分类更具体,但不要过早拆太碎。
- 单个二级分组达到 10 篇时,先检查是否已经混入两种不同问题。如果是,就拆成两个分组。
- 单个专项页达到 30 篇时,必须重新审视快速定位表,避免读者仍然需要从长表里找文章。
- 新增分组必须能用一句话说明边界,例如“资源、缓存与发布”比“其他发布问题”更适合作为分组名。
- 如果文章只是交叉相关,不要为了交叉关系新增分组;可以在专项页正文里用一句话提示交叉阅读。
- 分组标题使用中文,内部锚点使用显式英文
<a id="..."></a>,避免不同 Markdown 渲染器对中文锚点处理不一致。
文件位置与公开 URL
当前系列有一个历史状态:2026 年 1-4 月文章位于 content/posts/game/client/phaser/2026/,5-6 月文章位于 content/posts/game/client/phaser/ 根目录。因为站点 posts permalink 使用内容文件名生成公开 URL,不要为了目录一致性移动已经存在的文章。
后续新增文章建议:
- 如果是继续维护 2026 系列导航,优先放在
content/posts/game/client/phaser/2026/。 - 新文件名使用英文 kebab-case,并与
slug保持一致。 title和正文使用简体中文。- 已发布文章不要改文件名;如果必须改,先确认是否需要重定向或保留旧 URL。
- 维护页、专项页和总导航页不计入“文章总数”,文章总数只统计具体 Phaser 开发文章。
更新总导航检查项
修改 Phaser 2026 游戏开发专题导航 时,逐项检查:
description中的月份范围和文章数量是否正确。- “专项入口”是否需要新增专项页或调整覆盖范围。
- “专题速览”的分类篇数是否正确。
- 新文章是否只出现在一个主分类表里。
- “按月份回看”的月份篇数和日期排序是否正确。
- “后续维护规则”是否仍然符合当前规模。
- 如果新增文章导致总量超过 150 篇,不要继续扩大总导航表格密度,优先拆新专项页。
更新专项页检查项
修改任一专项页时,逐项检查:
description是否准确描述当前覆盖范围。- “怎么读”是否仍然是一条合理的工程推进路径。
- “快速定位”里的分组篇数是否等于下方表格篇数。
- 每个分组是否有清晰边界,是否出现“其他”“杂项”这类不可维护分组名。
- 表格里的发布日期是否来自文章 front matter。
- 专项页回链总导航,便于读者从深页返回总览。
校验命令建议
不要因为维护导航就直接跑完整 hugo --gc --minify。如果只是 Phaser 内容导航变更,优先使用限定目录校验。
perl -ne 'if(/[ \t]$/){print "$ARGV:$.:$_"; $bad=1} END{exit($bad?1:0)}' content/posts/game/client/phaser/2026/*.md
git diff --check -- content/posts/game/client/phaser/2026
限定 Hugo 解析可以用临时站点复制 Phaser 内容:
tmp=$(mktemp -d)
mkdir -p "$tmp/content/posts/game/client"
cp hugo.toml "$tmp/hugo.toml"
cp -R content/posts/game/client/phaser "$tmp/content/posts/game/client/"
hugo list all -s "$tmp" > "$tmp/list.csv"
wc -l "$tmp/list.csv"
如果新增文章涉及 Mermaid、图片或 front matter 字段,再额外检查代码块闭合、图片路径和 mermaid: true 是否符合页面实际需要。
维护记录格式
后续每批新增文章完成后,可以在提交说明或工作记录里使用下面格式:
新增范围:2026 年 X 月,N 篇
总导航:新增到 X-Y 月,共 N 篇文章
主分类变化:输入与设备 +1,性能与发布 +2,……
专项页变化:性能与发布专项 +2;关卡与内容工具专项无变化
是否新增二级分组:否
校验:链接检查通过,git diff --check 通过,限定 Hugo 解析通过
这个格式的价值在于让下一次维护能快速知道“上次为什么这么归类”,而不是重新读完整个系列。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。