返回板块

G28 HTML两栏型统一版式技术标准

V1.0.32026-10-21行政法规 · 技术标准
源文件: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.py V1.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」的形式存在——有条款、无独立件号,导致:

  1. 别处引用只能写「G07 两栏型」,G07 一旦再升版,引用即指向不明;
  2. 两栏型与报告型、图示型平级分支却无独立件号,位格不对等;
  3. 全链 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 自包含」铁律收窄但不废。四条保留:

  1. 零外链不变 —— 脚本禁 src,禁 <link>,禁远程资源。件仍须单文件可离线打开。音频引擎同样守此条:嗓音走系统 speechSynthesis、录音走本机 MediaRecorder,无任何网络请求。
  2. 脚本不自备名单 —— 闸不认「名字像什么」,只认逐字节等于母版那段(或 _archive/脚本代际G*/ 归档代际)。改脚本=改母版=先升版再全链重刷,禁在件内顺手改。
  3. 只许一段 —— 目次随动+音频引擎之外任何交互逻辑一律不批(两者同块)。要做别的交互,走应用形态(G04),不走报告形态。
  4. 照抄不是豁免 —— 脚本合规不等于整件合规;指纹、结构、组件、禁项四查照旧全过。

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
PDF 不适用(本轮) 无专用判据;按 §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

利衡辨 · 全域资料站 | 全域七链元路由 · 一进一出
宪法 > 基本法 > 行政法规 > 地方法规 > 地方规章