配置一个编辑器
从头开始设置一个完整的编辑器,仅使用核心库,需要相当多的代码。为了能够快速开始使用预配置的编辑器,我们提供了prosemirror-example-setup
包,它为您创建了一组插件,配置为为给定的模式创建一个合格的编辑界面。在这个例子中,我们使用基本模式并通过列表进行扩展。
import {EditorState} from "prosemirror-state"
import {EditorView} from "prosemirror-view"
import {Schema, DOMParser} from "prosemirror-model"
import {schema} from "prosemirror-schema-basic"
import {addListNodes} from "prosemirror-schema-list"
import {exampleSetup} from "prosemirror-example-setup"
// 将prosemirror-schema-list中的节点混合到基本模式中
// 创建一个支持列表的模式。
const mySchema = new Schema({
nodes: addListNodes(schema.spec.nodes, "paragraph block*", "block"),
marks: schema.spec.marks
})
window.view = new EditorView(document.querySelector("#editor"), {
state: EditorState.create({
doc: DOMParser.fromSchema(mySchema).parse(document.querySelector("#content")),
plugins: exampleSetup({schema: mySchema})
})
})
这就是它的样子:
这些插件是由示例设置创建的: