v0.3.1
修复
- catalog 校验拒绝占位符标题:节点 title 含
{{...}}模板占位符形态时validate_catalog
报错。此前这类标题会一路穿透进任务规格与页面 H1(templates.render 按 key 替换、未知占位符
原样保留,{{TITLE}}被填回字面量),而产物校验又把 H1 里的该字面量判为「未替换占位符」
——任务从规格生成那一刻起就注定无解(实战中一个页面任务因此耗尽重试)。
同步在 zh/en 两份 catalog 任务模板的规划规则第 3 条写明禁令。 - 占位符扫描只针对非代码文本:页面/卡片/总览三处「仍含未替换的模板占位符」检查改为剔除
fenced 代码块与行内代码后扫描——文档页 legitimately 讨论占位符机制时,代码里的字面
{{...}}是内容而不是缺陷;散文中的残留占位符照旧失败。正则更名为公开的
repowiki.validate.PLACEHOLDER_RE供 catalog.py 复用。
变更
- 站点查看器(wiki.html)视觉全面改版:引入设计令牌体系(中文字形字体栈、h1-h6 字阶、
圆角/阴影令牌)、代码块头栏(语言标签 + 复制按钮)、侧栏页内目录 + scroll-spy 跟随高亮 +
章节折叠、暗色主题层次分离、表格斑马纹、mermaid 卡片容器、prev/next 翻页、阅读进度条、
顶栏 SVG 图标与面包屑、搜索命中词高亮、prefers-reduced-motion与:focus-visible
可访问性细节。payload 结构与单文件契约不变(仍恰好 4 个内联 script、零外部资源)。
测试
- 新增 2 个用例:catalog title 含占位符 → 报错;占位符出现在代码块/行内代码中 → 通过。
149 个测试全绿。
注:以上「Windows CI 兼容」与「watch 停滞误报」两项修复在打
v0.3.1tag 后补入 main
(5d22877),属于预存问题的修复,不影响本版本功能;将随下个版本正式进入 tag。