开发文档Umo Editor Next文档修订(BETA)核心概念

核心概念

修订标记的两种形态

Umo Editor Next 的修订标记分为两类:

  • 文本修订:以 mark 的形式附着在文本范围上(插入/删除)。
  • 节点修订:追踪“节点本身”的插入/删除,会在节点 attrs 上写入 data-revision-typedata-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:原稿(隐藏插入,删除显示为正常文本)

如果你希望内容真正定稿(不再携带修订标记),需要执行“接受/拒绝修订”。