G28 HTML两栏型统一版式技术标准
C:/Users/xub/.workbuddy/spec/3.行政法规/范式/G28_HTML两栏型统一版式技术标准_V1.0.3_2026-10-21_1455.md件号:
G28
版本:V1.0.3
原批准人:炳哥(V1.0.0 于 2026-10-16 11:49 指令「甲 G28」+「spec 面新件炳哥批准发布」)
V1.0.1 修订依据:炳哥于 2026-10-21 10:09 签「甲派·全量升级」,指令以《英语发音规则全景整合报告》V2.3.0(2026-10-18_1605)为蓝本,更新全部涉及 HTML 的范式标准、skill 与专家
V1.0.3 修订依据:炳哥于 2026-10-21 实测报障「整篇连播不行」(《听力辨》件)——母版音频引擎(V1.4.0 新增功能)调度缺陷修复,走 bugfix 升版:母版 G07 V1.4.0 → V1.4.1、闸format_gate.pyV1.4.0 → V1.4.1;本件仅母体件引用与闸版号沿革,判面零变化
V1.0.2 修订依据:炳哥于 2026-10-21 11:30 签「重·全链重刷」(母版升版三选项之重案,预估 25–35 万 Token,超乙档经二次呈报放行),为《听力公馆》听力训练 HTML 件增补音频交互能力:调速播放/单句跟读/录音回放
批准生效日:2026-10-16(V1.0.0)/2026-10-21(V1.0.1)/2026-10-21(V1.0.2)/2026-10-21(V1.0.3)
登记人:利衡辨_WB全域全流程阻偏管控官(登记人 ≠ 批准人;登记仅记录批准事实,不构成代签)
上位判据:《全域任务脑手架构宪法》V1.2.0 第 16 条四红线 /《全域文件体系基本法》V2.3.0
母体件:《统一版式规范》G07 V1.4.1(本件为其两栏型分支的独立成节,G07 保留总纲并指向本件)
时间口径:Asia/Shanghai
0.0 V1.0.3 修订摘要(2026-10-21)
母版音频引擎(V1.4.0 新增功能)缺陷修复:炳哥实测《听力辨》件「整篇连播」点击无响应。定位为母版脚本事件委托缺陷 —— playall 分发排在 if (!sent) return; 守卫之后,而连播键在篇头条(.sent 之外),点击被静默挡死。母版走 bugfix 升版 G07 V1.4.0 → V1.4.1,闸 format_gate.py V1.4.0 → V1.4.1。本件变更:
| 序 | 变更 | 性质 |
|---|---|---|
| 一 | 母体件引用沿革:《统一版式规范》G07 V1.4.0 → V1.4.1(§9 关系表同步);§8 三层状态闸版号沿革 | 引用沿革 |
| 二 | 母版脚本修复三处(本件判面零变化):① playall/stopall 分发先于 .sent 守卫;② 连播链 stopChain() 看门狗兜底+同篇再点=停止;③ say() 的 cancel() 加 speaking/pending 守卫 |
缺陷修复(母版侧) |
| 三 | V1.4.0 旧脚本按 G2 代际归档(_archive/脚本代际G2_0b6688e8_2026-10-21_V141升版前/),历史终件经代际注册不破绿 |
执行器对齐 |
不新增/不修改 J 判面号:style 段零改,指纹恒 0b6688e8;J17 受控脚本判面(投影式一致+代际注册)不变。
0.0 V1.0.2 修订摘要(2026-10-21)
母版指纹 d0c5e8d9 → 0b6688e8(style 段增补音频交互组件族,纯加法)。母版模板脚本段并入音频引擎,与目次随动同块,仍守「单一受控内联脚本」。三项实质变更:
| 序 | 变更 | 性质 |
|---|---|---|
| 一 | 母版增补音频交互组件族(.au-global/.au-btn/.sent/.si/.au-dot),新增 G07 组件件第 13 条(可选) |
加法 |
| 二 | 脚本段并入音频引擎(speechSynthesis 调速原声播放/MediaRecorder 单句跟读与录音回放/整篇连播;全程离线零外链;禁 API 清单 10 项全规避),J17 判面同步改述 | 判据层变更(炳哥签) |
| 三 | 闸新增脚本代际注册:_archive/脚本代际G*/ 归档的历代母版脚本 canon 命中即放行,历史带旧脚本的终件不因升版破绿;闸 format_gate.py V1.3.0 → V1.4.0 |
执行器对齐 |
不新增 J 判面号:音频能力由 style 指纹(查一)与 J17 受控脚本(查五)共同承载,无独立判面。
0.0 V1.0.1 修订摘要(2026-10-21)
母版指纹 4253f7cb → d0c5e8d9。蓝本 V2.3.0 的 style 段经逐字节比对,为旧母版纯超集(差异 38 行全为新增,无一处改写),故本次升版为加法升级,既有判面一条未废。四项实质变更:
| 序 | 变更 | 性质 |
|---|---|---|
| 一 | 铁律收窄:由「零 JS 自包含」改为「零外链不变 + 单一受控内联脚本」 | 判据层变更(炳哥签) |
| 二 | 外链判据拆颗粒度:src/<link href> 属资源外链仍禁;<a href="http…"> 属正文参考链接放行(计告警) |
判据层变更(炳哥签) |
| 三 | 新增四个组件判面 J14–J17(逻辑地图块/语义引用块/版本标注簇/目次随动脚本) | 加法 |
| 四 | 闸由「四查」升「五查」,format_gate.py V1.2.1 → V1.3.0 |
执行器对齐 |
0 双标并列声明(撞号处置 · 强制)
W 侧本件取号 G28;DSH 侧 G28 已被《G28_HTML报告统一版式》占用。
按《统一版式规范》G07 已立的双标并列口径处理:
| 项 | W 侧(本盘) | DSH 侧(规范盘) |
|---|---|---|
| 件号 | G28 | G28 |
| 名称 | 《HTML 两栏型统一版式技术标准》 | 《HTML报告统一版式》 |
| 承载 | 两栏型(左目录吸顶 + 右内容) | 报告型件版式(指纹 a5a14ab3 系) |
规则:跨盘引用时必须同时标注两侧号与件名,不得只写「G28」;两盘载体各自治理、互不代管、互不同步(两侧分治)。改号=判据层变更,须另案放行,本件不自行改号。
1 为什么立本件(缘由)
2026-10-16 母版由单栏(.wrap 1060px 居中,指纹 a5a14ab3)升版为两栏(.layout 左目录吸顶 + 右内容,指纹 4253f7cb)。此前两栏判面只以「《统一版式规范》G07 V1.2.0 §10–§13」的形式存在——有条款、无独立件号,导致:
- 别处引用只能写「G07 两栏型」,G07 一旦再升版,引用即指向不明;
- 两栏型与报告型、图示型平级分支却无独立件号,位格不对等;
- 全链 29 个 skill 都要引这条判据,引用一断即全链返工。
故立独立件承载两栏型专有判面。
2 体裁定义
| 项 | 判据 |
|---|---|
| 左栏(目录) | <nav class="toc">,position:sticky; top:0; width:300px; height:100vh,随滚动固定,独立纵向滚动 |
| 右栏(内容) | <main class="main">,flex:1; min-width:0,独立成流;禁被长表撑破分栏 |
| 骨架 | <div class="layout"> 双栏容器,max-width:1440px,align-items:flex-start |
| 母版指纹 | 0b6688e8(V1.0.2 起;旧指纹 d0c5e8d9 已归档,4253f7cb 更早归档) |
| 文档头 | <header class="doc-head">,含版式名 + 指纹声明 |
| 受控脚本 | </div> 之后、<a class="backtop"> 之前置一段内联脚本(目次随动+音频引擎同块 · 见 J17) |
3 结构件(缺一即判不合格 · 判面 J01–J08)
| 判面 | 件 | 通过线 |
|---|---|---|
| J01 | 指纹双查 | 实算 = 母版 = 文档头声明,三者任一不等即 FAIL |
| J02 | .layout |
双栏骨架容器存在 |
| J03 | 左栏目录 | <nav class="toc"> 存在 |
| J04 | 右栏正文 | <main class="main"> 存在 |
| J05 | 目录吸顶 | .toc{…position:sticky…} |
| J06 | 左栏定宽 | .toc{…width:300px…} |
| J07 | 右栏撑满 | .main{…flex:1…} |
| J08 | 右栏防溢出 | .main{…min-width:0…} |
4 组件件与禁项(判面 J09–J17)
组件件(必配 · J09–J13)
| 判面 | 项 | 判据 |
|---|---|---|
| J09 | 目录三级分层 | lv1 / lv2 / appendix 三类齐备;锚点与正文 id 一一对应,悬空数=0 |
| J10 | 表题配平 | 每张表配 <caption>,格式「表 N-M 表名」;table 数 = caption 数 |
| J11 | 图注配平 | 每张图配 <div class="figcap">,格式「图 N 图名。说明句。制图时点」 |
| J12 | 响应式 | @media (max-width:1020px) 收为单列(目录隐藏);须备 (max-width:820px) |
| J13 | 打印样式 | @media print 存在,目录隐藏、标题不与正文分离、表图不跨页断裂 |
组件件(可选件 · 用则须合规 · J14–J17)
| 判面 | 项 | 判据 |
|---|---|---|
| J14 | 逻辑地图块 | .logic-map 容器内含 .map-title + .map-flow;节点用 .node(变体 .alt/.green),可选 .map-branch(分支)与 .map-caution(警示);流向用 .map-arrow。逻辑地图不是"图",不配 figcap,不受 J11 约束 |
| J15 | 语义引用块 | blockquote 三类变体:基类(信息)、.warn(警示)、.ok(通过)、.science(学理)。结论性/学理性内容须用对应变体,禁一律用基类 |
| J16 | 版本标注簇 | .v12-new(新增)/.v12-improved(改进)/.v13-new(V1.3 簇)三簇。仅用于版本变更说明,禁作一般强调;同一事项禁跨簇混标 |
| J17 | 受控脚本(目次随动+音频引擎) | 全件最多 1 段内联 <script>;禁 src 属性;禁危险 API(eval(/document.write/innerHTML/fetch(/XMLHttpRequest/WebSocket/localStorage/sessionStorage/import(/new Function);正文 canon 后须逐字节等于母版模板 template_universal.html 内那段受控脚本,或等于 _archive/脚本代际G*/ 归档的任一旧代际(代际注册,V1.0.2 新增) |
禁项(命中即 FAIL)
<link> | 资源外链 src="http(s)://…" | 内联 on* 事件 | 私造 style 段 | 同件内两套样式段 | 私造脚本(见 J17)| 脚本超 1 段 | minify | SVG 内写 HTML 标签(会退出 SVG 命名空间致图元丢失)。
正文参考链接(放行项):正文里 <a href="http(s)://…">引文来源</a> 属引证需要,不是资源外链,放行,闸计为告警不判禁。判据分界线:「件能不能离线打开」 —— 影响打开的禁,不影响打开的放。
4.1 受控脚本的铁律边界(V1.0.1 新增 · V1.0.2 修订 · 必读)
原「零 JS 自包含」铁律收窄但不废。四条保留:
- 零外链不变 —— 脚本禁
src,禁<link>,禁远程资源。件仍须单文件可离线打开。音频引擎同样守此条:嗓音走系统 speechSynthesis、录音走本机 MediaRecorder,无任何网络请求。 - 脚本不自备名单 —— 闸不认「名字像什么」,只认逐字节等于母版那段(或
_archive/脚本代际G*/归档代际)。改脚本=改母版=先升版再全链重刷,禁在件内顺手改。 - 只许一段 —— 目次随动+音频引擎之外任何交互逻辑一律不批(两者同块)。要做别的交互,走应用形态(G04),不走报告形态。
- 照抄不是豁免 —— 脚本合规不等于整件合规;指纹、结构、组件、禁项四查照旧全过。
5 出稿与交付
GATE=C:\Users\xub\.workbuddy\_assets\统一版式\format_gate.py
python $GATE --stamp <件> # 注入实算指纹
python $GATE --check <件> # 五查合一,RC≠0 禁交付
R7 逐图复看不可省:闸只判「越界」,判不出「压盖」。交付前须 headless 逐图复看截图,查图元互相压盖、轴标题与图图例撞行、年份标签相撞、多行图注间距不足。静态全绿 ≠ 合格。
6 历史单栏件过渡
母版升版前指纹为 a5a14ab3。过渡期校验口径:
python $GATE --check <历史件> --legacy
旧母版与旧闸已归档于 _assets\统一版式\_archive\母版a5a14ab3_2026-10-16_升版前\,零删除。
过渡期状态(2026-10-16 实测):全盘 HTML 扫描 8311 件,旧单栏件已处置完毕(1470 件两栏态;占位模板件与故意坏测试件共 40 份经报备后删除,备份留存)。legacy 模式转为兜底口径,禁长期以 legacy 充数。
7 故障注入实测记录(2026-10-16 / 2026-10-21)
7.1 首轮(V1.0.0 · 2026-10-16)
| 用例 | 期望 | 实测 RC | 拦因 |
|---|---|---|---|
| 好件(模板填值) | 过 | 0 | — |
| 删左栏目录 | 拦 | 1 | [结构] 缺左栏 nav.toc 目录 |
| 注入 script | 拦 | 1 | [禁项] 禁 script 标签 |
| 删 caption | 拦 | 1 | [表格] 每表必配 caption 表题 |
| 锚点悬空 1 处 | 拦 | 1 | [两栏] 悬空目录 secX_nope |
| 锚点悬空 2 处 | 拦 | 1 | [两栏] 悬空目录 nope1、nope2 |
| 私改 style 字号 | 拦 | 1 | CSS 与母版不一致 694f1107 ≠ 4253f7cb |
| 目录不吸顶 | 拦 | 1 | CSS 与母版不一致 5d982245 ≠ 4253f7cb |
8/8 全过(好件过、7 个坏件全拦)。
7.2 二轮(V1.0.1 · 2026-10-21 · 判据改后重注)
判据由「禁 script」改为「受控脚本」后,旧注入用例失效(原来靠"有 script 就拦",现在合法的脚本必须放行),故重造六类用例,全部以蓝本 V2.3.0 为基底注入:
| 用例 | 期望 | 实测 RC | 拦因 |
|---|---|---|---|
| 好件(母版模板 stamp 后过闸) | 过 | 0 | — 零 reason 零 warn |
脚本正文改一字("use strict"; → "use strict" ;) |
拦 | 1 | [脚本] 脚本正文与母版目次随动脚本不一致 |
| 加第二段 script | 拦 | 1 | [脚本] 内联脚本 2 块,超过母版上限 1 块 |
脚本带 src |
拦 | 1 | [脚本] 内联脚本带 src 属性(外链脚本) |
脚本含 eval( |
拦 | 1 | [脚本] 脚本含禁用 API:eval( |
注入 <img src="https://…"> |
拦 | 1 | [禁项] 禁 http(s) 资源外链 |
| 换回旧母版 style 段 | 拦 | 1 | CSS 段与统一母版不一致:实算 4253f7cb ≠ 母版 d0c5e8d9 |
6/6 咬住,零漏判;好件零理由零告警。
本轮注入自身的教训(登记在案):首跑「资源外链」用例报 RC=0,看似闸漏判,实为测试用例的替换锚点不存在(我按旧模板写法找 <a class="backtop",蓝本实际写法不同),注入根本没落地。补自证断言(注入后文本必须真变)后复测才咬住。「跑 0 ≠ 没问题」本轮再次应验,且这次犯错的是测试本身 —— 报闸漏之前,先怀疑注入。
已知闸缺陷与修复留痕:
1. 首轮「锚点悬空 1 处」曾 RC=0 被放过——根因是锚点正则跨全文非贪婪匹配,只吃到第一个锚点即停,构成静默漏判。已改为先截 nav.toc 区段再全量提取,复测 8/8。
2. 原闸 --rebase 与 --baseline 被置于互斥组,致母版升版命令直接 RC=2 报错。已拆为独立参数。
这两条正是「跑 0 ≠ 没问题」的实例:未做故障注入就报绿,属标准不许犯的错。
7.3 三轮(V1.0.2 · 2026-10-21 · 脚本代际注册)
母版脚本段并入音频引擎后,判据新增「归档代际放行」,须验证代际注册不放松私造拦截。直接调 format_gate.check_scripts 注入六则(2026-10-21 实测):
| 用例 | 期望 | 实测 | 拦因 |
|---|---|---|---|
| 新代际脚本(== 现母版 script 段) | 过 | 放行 | — |
| 旧代际脚本(== G1 归档 script 段) | 过 | 放行 | 代际注册命中 |
| 私造脚本 | 拦 | 拦截 | [脚本] 脚本正文与母版受控脚本不一致 |
| 双脚本块 | 拦 | 拦截 | [脚本] 内联脚本 2 块,超过母版上限 1 块 |
| 禁 API(母版段后接 innerHTML 调用) | 拦 | 拦截 | [脚本] 脚本含禁用 API:innerHTML |
| 无脚本件 | 过 | 放行 | — |
6/6 咬住,零漏判。 附加断言:母版新脚本段对 10 项禁 API 串逐项扫描,命中数 0。
8 三层状态(据实登记,不得夸大)
| 层级 | 状态 |
|---|---|
| 文件层判面 | 已落:真源 + 本件 + 闸 format_gate.py V1.4.1,命令行可调;三轮故障注入(8/8、6/6、6/6)咬住 |
| 运行时强制 | 已部署但覆盖面有限:宿主 Stop 钩(_tools\format_delivery_gate.py)逐件过闸;只覆盖经宿主事件触发的路径 |
| 全域受控 | 未达成 |
不得据本件宣称:①「全域已受控」;②「省 token 已达 90%」;③「运行时已全覆盖」。三者均无实测证据。
9 与上位件的关系
| 件 | 关系 |
|---|---|
| 《统一版式规范》G07 V1.4.1 | 母体。G07 保留壳层四件、组件件、禁项、出稿八步与图示型 §9;本件承载两栏型专有判面。G07 增条指向本件。 |
| 《利衡辨_WB全域全流程阻偏管控范式技术标准》V2.3.0 | 上位判据。其第十三章(HTML 两栏型交付体例)与附录 J(J01–J13)为本件的规则来源;12.1 之 A12(载体交付合规)要求 HTML 件套两栏母版、过版式闸。V1.0.1 新增 J14–J17 后,附录 J 需同步扩至 J17,已登记为待办。 |
| 《HTML交付自包含技术标准》G06 V1.6.0 | 自包含外链铁律的上位依据(禁 <link href>/<script src>)。经核:G06 从未禁内联脚本,其禁的是外链脚本,故本件 V1.0.1 收窄「零 JS」与 G06 不冲突,G06 无需修订。 |
10 引用写法(规范)
- W 侧内部:《G28 HTML 两栏型统一版式技术标准》V1.0.3
- 跨盘引用:「W 侧 G28《HTML 两栏型统一版式技术标准》/DSH 侧 G28《HTML报告统一版式》」(双标并列,不得只写 G28)
10 PPT 与 PDF 体裁归属(V1.0.0 §10 · 2026-10-16 增补 · 炳哥定案)
10.1 裁定结论
PPT 与 PDF 两件型均判「不适用两栏」。 本件 J01–J13 判面只适用于 HTML 件。
10.2 裁定依据
| 判据 | 内容 |
|---|---|
| 收益来源 | 两栏的收益来自滚动屏幕(目录吸顶常在视野内)。PPT 一页一屏、PDF 纸面固定,均无滚动 |
| 反证 | 照搬进 PPT:页内左右分栏压窄正文 → 投影字号被迫缩小 → 可读性下降;照搬进 A4:栏宽减半 → 字号随之缩小 → 打印件可读性下降 |
| 位格冲突 | PPT 的对应解法是「左导航母版」,属母版版式(另一套判据、另一套闸);硬塞进 HTML 两栏分支将造成口径混用——正是 G07 §9 立图示型分支要避免的事 |
10.3 PPT:已有自有版式体系,禁并入两栏
2026-10-16 实测结论(V5.6.1_lihengbian_DIY_蒸馏PPT 载体实测读数):
| 项 | 实测读数 |
|---|---|
| 版式准据 | 《全域全场景PPT制作技术标准》V3.0.0(LHB/TS-2026-010;技能侧细则见 blueprint/) |
| 蓝本锚定 | blueprint/assets/蓝本模板.pptx,SHA-1 8358b92a733a170aa63f90ea970ac489de6f1190 |
| 蓝本规模 | 画布 13.333×7.5 in(16:9)|16 页型|39 媒体|含图表 True |
| 版式基准单位 | 页型(蓝本单页形状全集),非「整册」 |
| 保真口径 | 一页一型、页型内 Δ=0;字体/坐标/配色/表格行列禁改 |
| 固化规格 | 字体(微软雅黑为主)、字号(16/14/12/10/8/20/10.5pt)已逐页型固化 |
| 闸 | 有专属版式闸(逐形状机器比对,差异必须为 0) |
裁定:PPT 已有完整且更严格的自有版式体系(页型 Δ=0 硬判 + SHA-1 锚定 + 独立技术标准 + 专属版式闸),强度高于本件的「结构件齐备即可」。禁将 J01–J13 并入 PPT 件;PPT 版式一律依《全域全场景PPT制作技术标准》V3.0.0 与蓝本规格。
此项推翻了此前方案件的部分预设:上一版《方案样本》曾把「查蒸馏PPT 是否已有自有母版」列为新任务前置;现已查明已有,故选 B 案(建 PPT 左导航母版)不再成立——若再建一套,属与既有蓝本体系重复,须另案论证,不在本件范围。
10.4 PDF:按用途分流,本件暂不建判据
| 用途 | 归属 |
|---|---|
| 屏幕阅读型研报/文献 | 可考虑双栏,但本轮不建判据——须先有实证需求(≥3 例)再议 |
| 要打印的公文/需签字盖章件/宽表 | 必须单栏,禁双栏 |
| 用途不明 | 按单栏处理(默认保守口径) |
本轮不新建 PDF 版式判据、不建 PDF 闸。 理由:无实测需求触发,凭空建判据属判据空转。
10.5 排除清单(防重复讨论)
| 体裁 | 是否适用 G28 两栏 | 依何判据 |
|---|---|---|
| HTML 单文件报告 | 适用 | 本件 §2–§5(母版指纹 0b6688e8) |
| HTML 结构简图/图示型件 | 适用 | 本件 + G07 §9(图示型分支) |
| HTML 治理件/台账页 | 适用 | 本件 |
| PPT | 不适用 | 《全域全场景PPT制作技术标准》V3.0.0 + 蓝本页型 Δ=0 |
| 不适用(本轮) | 无专用判据;按 §10.4 用途分流 |
10.6 三层状态(据实登记)
| 层级 | 本项状态 |
|---|---|
| 文件层判面 | 已落(本节 + 相关 skill 的版式字段) |
| 运行时强制 | 不适用(PDF 未建判据,无闸可接;PPT 走其自有版式闸) |
| 全域受控 | 未达成 |
不得据本节宣称:①「PPT/PDF 也已纳入统一版式管控」;②「PPT/PDF 全域受控」。
编制:利衡辨_WB全域全流程阻偏管控官(脑 · 只定标不施工)
批准:炳哥(批准人,非登记人)|批准生效日:2026-10-16(V1.0.0)/2026-10-21(V1.0.1)/2026-10-21(V1.0.2)
落位:spec/3.行政法规/范式/G28_HTML两栏型统一版式技术标准_V1.0.3_2026-10-21_1455.md
宪法 > 基本法 > 行政法规 > 地方法规 > 地方规章