|
= 本页用于统一模板工程的定义与、结构规范 =和约束。
本页回答“模板工程规范是什么”,用于统一模板体系的定义、边界和约束。
== 适用范围 ==
* <code>模板:名称</code>
* 模板命名空间(NS=10)主模板及其子页(`/Doc`、`/sandbox`、`/testcases`、`/styles.css`)。
* <code>模板:名称/Doc</code>
* 模块命名空间(NS=828)中为模板提供逻辑支持的 Lua 模块。
* <code>模板:名称/sandbox</code>
* 模板相关分类体系(模板分类、维护分类、隐藏分类)。
* <code>模板:名称/testcases</code>
* <code>模板:名称/styles.css</code>
== 结构规范目标 ==
# 稳定:模板结构、参数、分类行为长期可预期。
* 文档统一 放在 `模板:名称<code>/Doc `,</code> 并由主模板 `{{/Doc}}` 挂载。 ▼
# 可维护:改动可测试、可回滚、可追踪。
* 样式统一 放在 `模板:名称<code>/styles.css `</code>, 由通过 `<nowiki><templatestyles /> `</nowiki> 引入。 ▼
# 可协作:编辑器、维护者、审核者使用同一套规则。
* 发布前必须有 <code>sandbox</code> 与 <code>testcases</code>。
# 可扩展:新增模板与模块能无缝接入现有体系。
== 核心构成(定义) ==
* 参数命名稳定、语义明确。
* 复杂参数在文档页给出示例。
* 新增别名需在文档页明确说明。
▲* 文档统一在 `模板:名称/Doc`,并由主模板 `{{/Doc}}` 挂载。
▲* 样式统一在 `模板:名称/styles.css`,由 `<templatestyles />` 引入。
* 测试链路统一为 `模板:名称/sandbox` 与 `模板:名称/testcases`。
=== 2. 参数分类规范 ===
* 模板自身分类进入 <nowiki><noinclude></nowiki>。
* 模板参数的权威说明位于 `/Doc` 的 `<templatedata>`。
** 仅调用页 需要继承的分类 使用进入 `<nowiki><includeonly> `</nowiki>。 ▼
* 参数命名优先语义化、稳定化,减少短期命名漂移。
=== 3. 分类与归类规范 ===
* 归类行为遵循:[[帮助:页面分类与归类规范]]。
* 分类命名与层级遵循:[[帮助:分类命名与层级规范]]。
* 模板页中:
** 仅文档页或维护说明使用 `<noinclude>` 分类。
▲** 仅调用页需要继承的分类使用 `<includeonly>`。
** 禁止裸放 `[[Category:...]]` 导致分类外溢。
=== 4. 模块化规范 ===
* 复杂判断、格式化、参数归一化进入 Lua 模块。
* 模板通过 `#invoke` 调用模块,并保持兼容性策略。
* 高成本解析函数(如 `#ifexist`)受控使用并记录用途。
== 与分类规范的对应关系 ==
# 命名一致性:模板相关分类命名优先稳定、可复用,避免近义并行建类。
# 层级一致性:模板分类需纳入分类树,不创建孤立维护分类。
# 隐藏分类一致性:维护类分类如需隐藏,由分类页 `__HIDDENCAT__` 控制。
== 非目标(边界) ==
* 本页不展开“执行步骤与操作命令”。
* 本页不替代具体模板业务文档。
== 相关页面 ==
* 操作手册(怎么用):[[帮助:模板改造与发布规范]]
* 分类归类规则:[[帮助:页面分类与归类规范]]
* 分类命名层级规则:[[帮助:分类命名与层级规范]]
{{Template:站点帮助文档}}
|