核心概念
修订标记的两种形态
Umo Editor Next 的修订标记分为两类:
- 文本修订:以 mark 的形式附着在文本范围上(插入/删除)。
- 节点修订:追踪“节点本身”的插入/删除,会在节点 attrs 上写入
data-revision-type、data-revision-id等属性。
insertion / deletion(文本修订)
insertion(新增):表示这段内容是“新插入”的。deletion(删除):表示这段内容已被删除,但会保留在文档里作为可审阅对象。
可追踪范围(节点修订)
修订追踪分为“文本修订”和“节点修订”两部分:
- 文本修订覆盖面最广:绝大多数包含文本内容的节点(例如段落、标题、列表、表格单元格、脚注正文等)在发生插入/删除时都会生成
insertion/deletion标记。 - 节点修订用于追踪“节点本身”的插入/删除(更适合非纯文本内容或结构节点)。
节点修订是否生效取决于节点是否满足“节点修订目标”条件(具备修订 attrs 契约,且为 atom/leaf 非文本节点)。满足条件时,节点插入/删除会作为一条修订记录展示,并支持接受/拒绝。
当前常见可追踪节点(示例):
- image / inlineImage
- video / audio
- file / iframe
- mention
- blockMath / inlineMath
- pageBreak / toc
- datetime
- echarts
以下能力通常不作为“节点修订记录”来源:
- columns(分栏容器结构)
- hardBreak / horizontalRule(更偏文本编辑控制)
- bookmark(书签是 mark,不是节点)
- locked(内容锁定是编辑保护能力,不等价于节点插入/删除)
四种标记视图(Markup Mode)
标记视图仅影响“显示方式”,不会自动移除修订标记:
final-markup:最终稿 + 显示修订标记final:最终稿(隐藏删除,插入显示为正常文本)original-markup:原稿 + 显示修订标记(插入/删除含义与最终稿相反地呈现)original:原稿(隐藏插入,删除显示为正常文本)
如果你希望内容真正定稿(不再携带修订标记),需要执行“接受/拒绝修订”。