Prosemirror是一款基于 ContentEditable 的所见即所得富文本编辑器。支持协作编辑和自定义文档模式。

Prosemirror通过一系列模块配合组成一个富文本编辑器,核心的模块主要有四个:

  • prosemirror-model:负责prosemirror的内容结构。定义了编辑器的文档模型,用于描述编辑器内容的数据结构,并实现了对编辑器内容的一原子的操作。实现了一套索引系统,用于处理位置信息。
  • prosemirror-transfrom:负责对编辑内容的修改操作。通过StepMap记录了改动的信息,可用于追溯位置的变化。
  • prosemirror-state:负责描述整个编辑器的状态。包括文档内容,选区信息。同时提供了强大的插件系统,实现用户对状态更新流程干预的可能性。
  • prosemirror-view:负责视图的渲染。监听用户的操作并提供自动修正。

主要特性:

  • 协作编辑:ProseMirror 内建多人实时协作编辑
  • 模块化
  • 功能丰富,方便集成到已有的应用
  • 可扩展
  • 可插拔

https://github.com/ProseMirror/prosemirror

[repo owner=”ProseMirror” name=”prosemirror”]