一、前言
虽然通过前文的基本使用,我们已经能够完成一个最基本的编辑器功能了,但离我们想要实现一个完全自定义的编辑器道路依旧很远。
想要实现这一点就需要将ProseMirror中的各种理念与细节理解明白。
首先第一个核心概念就是Schema
,前文我们用到的是其官方给出的一个最基本的Schema来创建的一个编辑器,而本文,我们就要开始自定义一个Scheme。
二、理解Schema
想要使用好它,第一步就是理解它,Schema
英文本意为模式、概要等意思,在这里我们可以将其理解为规则。
比如我们在前文中看到,其编辑器内部默认会创建一个p
标签来接收我们按键输入的文本,但如果你用过浏览器原生的contenteditable
属性,就会知道其默认的行为其实是生成一个div
标签来接受用户输入。
这便是一个规则,并且这个规则是由我们前文使用的官方提供的schema所规定的。
但仅仅这样依旧还是不够,我们还需要知道我们可以控制的规则有哪些。
空洞的讲述这些概念是很难理解的,所以我这里直接以本系列教程的目标为例,也就是制作一个Markdown编辑器,来设定这个规则,我相信在这里过程中你会将其理解的更深入。