模板:NovarkSeatMeter
更多操作
用途
席位条/计数计量条(迁移 catalog P-11;架构 A4)。保留旧站 `seat-bar`、`seat-bar-fill`、`seat-bar-text` 与 `novark-seat-meter` 的语义:数值文本与计量视觉同时存在,不在正文手写百分比或任意 CSS。
参数
- `value`:当前值(必填,非负数)。
- `max`:总数(必填,正数)。
- `tone`:`silver`、`gold`、`blue-red`、`blue`、`red`、`green`、`purple`;缺省 `silver`。七色取自旧 `wiki/theme-v2.css` L197-L249 的真实命名色。
- `label`:可读数值文本,通常写“45 / 199”。
- `percent`:由 `value/max` 计算的 0–100 数值(必填,派生值),只用于局部数值样式 `width`;必须与 value/max 一致。
为什么不是 <progress>
MediaWiki 1.43.11 的 `includes/parser/Sanitizer.php` 白名单不包含 `<progress>`(证据:`reports/migration/extension-lock-evidence.json`),该标签会被清理器剥离,只剩文本。按架构 A4 采用“经数字范围校验后生成的局部数值样式”作为等价实现:迁移器校验 value/max 为合法数值、percent 由二者计算,样式其余部分仍由 TemplateStyles 负责;模板本身不接受任意 CSS 片段。
示例
{{NovarkSeatMeter
|value=45
|max=199
|tone=silver
|label=45 / 199
|percent=22.61
}}
校验
- 非法值(负数、max<=0、value>max、percent 越界)必须由迁移器显式报错并进入例外,不得静默截断。
- 隔离渲染需在 360px 宽度与深色模式下核对可读性与窄屏。
席位/计数计量条:保留数值文本与计量视觉;value/max 为稳定接口,percent 为经数值范围校验后生成的局部数值样式(MediaWiki 1.43.11 清理器不保留 progress 标签),tone 只接受七种命名色,label 为可读文本。
| 参数 | 描述 | 类型 | 状态 | |
|---|---|---|---|---|
| 当前值 | value | 必填的非负数值(与来源数据一致);不做静默截断。
| 数字 | 必需 |
| 总数 | max | 必填的正数值,大于 0;来源数据缺失时不要用猜测值。
| 数字 | 必需 |
| 命名色调 | tone | 旧站已观察的命名色:silver、gold、blue-red、blue、red、green、purple;缺省 silver。不接受任意输入生成 CSS。
| 单行文本 | 可选 |
| 可读数值文本 | label | 显示给读者的数值文本,通常为“45 / 199”;与 value/max 一致,不另造百分比。
| 单行文本 | 可选 |
| 填充百分比(派生) | percent | 由迁移器按 value/max 计算并校验的 0–100 数值,只进入局部数值样式;编辑者手写时必须与 value/max 一致,不得改变来源数据。
| 数字 | 必需 |