清洗合并会破坏源格式语义

**把飞书导出的原文清洗、合并成 Markdown 时,格式语义会静默丢失 —— 而验收标准是「渲染出来的样子」,不是「文本内容对不对」。** 内容一字不差,结构仍可能全错。

一、三类现象(你当场逐个抓出来的)

你看到的现象根因
4 条编号条目被渲染成一整段,没分成 4 行Markdown 单个换行不产生新段落,需要空行或行尾两个空格
列表前两项序号消失,第三项掉出列表变成普通段落3. 后缺空格 → 该项不被识别为列表项,连带前面几项的解析一起错乱
「有序列表都是 1.」飞书里手写的 1. 由显示端自动编号,导出成 Markdown 后原样保留 —— 编号是假的

你连问三轮(「这里的换行不是没变化吗」「为什么还有空行」「有序列表都是 1.」)才把三类问题区分开:它们根因不同,不能用一个修法糊过去。

二、两条可迁移的判断

  1. 显示端生成的信息,导出即失真。 自动编号、列表样式这类不属于源数据,一旦离开原编辑器就必须自己重建。
  2. 格式验收只能看渲染。 只 grep / diff 文本会漏掉整类结构问题;必须看渲染后的 DOM 或截图,再决定是否算修好。

三、修法

  • \d+. 后补空格(与 - 后补空格同理),让列表项被正确识别
  • 连续列表项之间补空行,避免被当成同一段落
  • 源里全为 1. 的「小标题式」条目,按语义重新编号(RBAC0/1/2/3 是同一序列)

相关