tiptap 协作编辑
协作扩展允许您在一个文档中与他人协同工作。实现基于 Kevin Jahns 的 Y.js ,它是将协作编辑集成到您的项目中最酷的方法。
在协作编辑环境中,历史记录处理方式完全不同。如果您撤销更改,您不希望撤销其他用户的更改。为此,此扩展提供了自己的 undo
和 redo
命令。在使用 StarterKit 时,请确保禁用默认的 History
扩展,以避免冲突。
安装
npm install @tiptap/extension-collaboration yjs y-websocket y-prosemirror
配置
document
一个初始化的 Y.js 文档。
默认值: null
Collaboration.configure({
document: new Y.Doc(),
});
field
Y.js 片段的名称,可以更改为与单个 Y.js 文档同步多个字段。
默认值: 'default'
Collaboration.configure({
document: new Y.Doc(),
field: "title",
});
fragment
一个原始的 Y.js 片段,可以用作 document
和 field
的替代品。
默认值: null
Collaboration.configure({
fragment: new Y.Doc().getXmlFragment("body"),
});
命令
Collaboration
扩展自带了自己的历史扩展。在使用 StarterKit 时,请确保禁用默认扩展。
undo()
撤销最后一次更改。
editor.commands.undo();
redo()
重做最后一次更改。
editor.commands.redo();
键盘快捷键
命令 | Windows/Linux | macOS |
---|---|---|
undo() | Ctrl Z |
Cmd Z |
redo() | Shift Ctrl Z Ctrl Y |
Shift Cmd Z Cmd Y |
源代码
packages/extension-collaboration/
使用示例
警告 公开
此编辑器的内容与其他用户共享。