Repository navigation
v2.1.6 — 交付件:内容曾被静默删掉
这一版修的是「交付出来的内容」
有人反馈:交付出来的内容,文字排版可以再优化。
查下去发现不是排版审美问题 —— 是同一个渲染器里的四个实现缺陷,其中两个会丢内容,一个会漏内部信息。
① 卡的内容被静默删掉了(最严重)
渲染时会切掉卡片末尾的「来源与版本」那一节。但代码是从该处一路切到文件结尾 ——
而这一节在卡片模板里是第六节,并不是最后一节,卡片演进中还会在它之后追加内容。
实测:123 张卡里有 45 张(36.6%)的正文被删掉,最严重的一张丢了 11 节。
读者点开卡片看到的是残缺内容,页面上没有任何提示。
→ 改成只删那一节(到下一个同级或更高级标题之前)。
② 段落结构被压平
删坐标那一步用的正则 \s{2,} 里,\s 包含换行,于是 标题\n\n正文 被压成一行。
实测:一份交付里 290 处段落结构被压平,页面上直接出现字面的 ##(75 处)和 ---(16 处)。
这条尤其阴:渲染器是按行判块的 —— 行结构一没,它整套逻辑就全废了。
→ 改成只压空格和制表符。
③ 表格不是表格
每个表格行被塞成一个小字号文字,一份交付里 92 行表格,在页面上是一叠裸竖线,
行列关系全靠读者自己数。
→ 现在输出真表格(本次实测生成 52 张 / 866 个单元格)。
④ 修好第一条,当场打开了一个泄漏
把被删的正文放回来之后,那些「⭐ 增强 / 补注」段落里带着溯源措辞和内部文档名。
已经交付出去的那份成品里就有。
→ 新增交付件脱敏:删词、不换词(保留旁边的日期 —— 读者能看出这条是后续修订,称呼对人没用)。
脱敏词表不写进脚本(脚本随包发布,写进去等于把要藏的东西写进公开包),改为读包外配置。
现在 0 / 127 张卡带内部标记。
⑤ 顺带:R 系卡永远取不到
发布前核文档数字时发现,卡解析函数里 R 分支是死代码 ——
它去找 REVIEW/001-*.md,而那些文件叫 R1-what.md,永远匹配不上。
后果:R1~R5 这 5 张卡在交付件里恒显示「(未找到卡文件)」。
效果(同一份交付案例)
| 指标 | 修前 | 修后 |
|---|---|---|
| 交付件可见文本 | 29,113 字 | 47,758 字(+64%) |
字面 ## 残留 |
75 处 | 0 |
字面 --- 残留 |
16 处 | 0 |
| 真表格 | 0 | 52 张 |
| 含内部标记的卡 | 42 张 | 0 |
| R 系卡可解析 | 0/5 | 5/5 |
多出来的那 64%,就是原来被吃掉的内容。
检查:门禁全绿(12 道)· 跨轮 13/13 · 本地包审计 22/23 实查通过 · 公开包审计 23/23 全清
(「未查 ≠ 通过」,未跑到的项在审计输出里单独列出。)
重要:如果你之前下载过这个包,建议更新 —— 旧版本的交付件里,卡的内容是不完整的。