打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

帮助:模板改造与发布规范:修订间差异

来自陋室
删除的内容 添加的内容
Maintenance script留言 | 贡献
重命名为规范风格标题:模板改造与发布规范
 
Maintenance script留言 | 贡献
统一帮助命名空间内容风格与结构
第1行: 第1行:
= 模板改造与发布规范 =
= 模板改造与发布规范 =
本页回答“模板工程范怎么用”,用于指导模板改造、发布与巡检
本页规模板改造、测试、发布和回滚的标准流程


== 使用检查(立项) ==
== 改造前 ==
# 明确模板类型:导航模板、信息框模板、维护模板或系统模板
# 明确模板类型与使用范围
# 明确分类策略:哪些分类属于模板自身,哪些分类应作用于调用页。
# 明确分类行为(模板自身分类 / 调用页分类)
# 对照两条基线:[[帮助:页面分类归类规范]]、[[帮助:分类命名层级规范]]。
# 对照相关规范:[[帮助:模板定义结构规范]]、[[帮助:页面分类与归类规范]]。


== 改造中 ==
== 执行流程(标准) ==
# 在 `sandbox` 实现改动。
=== 1. 结构落地 ===
# 同步更新 `/Doc`(参数、示例、注意事项)。
# 补齐 `模板:名称/Doc` 并在主模板挂载 `{{/Doc}}`。
# 在 `testcases` 补充典型用例。
# 补齐 `模板:名称/sandbox` 与 `模板:名称/testcases`。
# 样式迁移到 `模板:名称/styles.css` 并使用 `<templatestyles />`。
# 涉及样式改动时同步更新 `styles.css`。


== 发布前检查 ==
=== 2. 参数落地 ===
* 渲染是否兼容主要调用页面。
# 在 `/Doc` 写入 `<templatedata>`(参数名、类型、必填、示例)。
* 分类是否按预期落位。
# 参数命名保持稳定,新增别名必须在文档显式说明。
* 历史调用是否出现参数回归。


== 发布与回滚 ==
=== 3. 分类落地(重点) ===
* 使用明确编辑摘要说明影响范围。
# 模板页自身分类放 `<noinclude>`。
* 若出现严重回归,优先回滚到稳定版本并记录原因。
# 需要作用于调用页的分类放 `<includeonly>`。
# 禁止在主模板裸放 `[[Category:...]]`。
# 维护类分类按需纳入隐藏分类体系(在分类页使用 `__HIDDENCAT__`)。


=== 4. 模块化落地(按需) ===
# 复杂逻辑迁入 Lua 模块(`Module:`),模板仅负责 `#invoke` 路由。
# 改造期间优先在 `/sandbox` 验证,再切主模板。

=== 5. 发布与收口 ===
# 发布前:跑 testcases 与关键调用页 parse 检查。
# 发布后:执行链接/分类收口,确认无分类外溢和无解析错误。

<syntaxhighlight lang="bash">
php maintenance/run.php refreshLinks
php maintenance/run.php recountCategories --mode all
</syntaxhighlight>

== 快速核对清单(可复用) ==
* `Doc` 是否存在并挂载。
* `TemplateData` 是否存在且参数完整。
* `sandbox` 与 `testcases` 是否存在。
* 分类语句是否仅在 `<noinclude>` / `<includeonly>` 合法位置。
* 是否引入高成本解析函数;如有,是否有用途说明与替代评估。
* 关键调用是否通过渲染回归。

== 常见错误与修正 ==
* 错误:模板页裸放分类导致调用页被误分类。
* 修正:按归属移动到 `<noinclude>` 或 `<includeonly>`。

* 错误:新增分类名称与既有分类同义但不同写法。
* 修正:按分类命名规范复用既有分类并补层级关系。

* 错误:只改主模板不补测试链路。
* 修正:先补 `sandbox/testcases`,再做主模板切换。

== 相关页面 ==
* 概念定义(是什么):[[帮助:模板定义与结构规范]]
* 分类归类规则:[[帮助:页面分类与归类规范]]
* 分类命名层级规则:[[帮助:分类命名与层级规范]]
{{Template:站点帮助文档}}
{{Template:站点帮助文档}}
[[Category:帮助文档]]

[[Category:分类维护]]