Prosemirror是一款基于 ContentEditable 的所见即所得富文本编辑器。支持协作编辑和自定义文档模式。
Prosemirror通过一系列模块配合组成一个富文本编辑器,核心的模块主要有四个:
prosemirror-model:负责prosemirror的内容结构。定义了编辑器的文档模型,用于描述编辑器内容的数据结构,并实现了对编辑器内容的一原子的操作。实现了一套索引系统,用于处理位置信息。
prosemirror-transfrom:负责对编辑内容的修改操作。通过StepMap记录了改动的信息,可用于追溯位置的变化。
prosemirror-state:负责描述整个编辑器的状态。包括文档内容,选区信息。同时提供了强大的插件系统,实现用户对状态更新流程干预的可能性。
prosemirror-view:负责视图的渲染。监听用户的操作并提供自动修正。
主要特性:
协作编辑:ProseMirror 内建多人实时协作编辑
模块化
功能丰富,方便集成到已有的应用
可扩展
可插拔