自定义功能
提示
为避免理解和翻译误差,特此说明,extensions指的是编辑器配置对象中的配置项extensions
,此配置项支持 节点、标记和扩展,一般我将其称为三大件或功能,并不是单纯的指扩展一项。
介绍
Tiptap 的优势之一是它的可扩展性,您可以根据您的喜好扩展编辑器(的功能)。
Tiptap 内容有三大法宝构成:节点(node)、标记(mark)和扩展(extension),您都可去扩展丰富它们。
本章的所有内容 都是均可用于 这三大法宝上。
继承现有的功能
每个 Tiptap 的功能三大件都有一个extend()
方法,它接受一个对象,其中包含您想要更改或添加的所有内容。
比方说,您想更改无序列表扩展的键盘快捷键,那如下就会把将普通段落转为无须列表的快捷键Control+Shift+8
改为了Control+l
。
import BulletList from "@tiptap/extension-bullet-list";
// 重写该扩展里定义的快捷键设置
const CustomBulletList = BulletList.extend({
addKeyboardShortcuts() {
return {
"Mod-l": () => this.editor.commands.toggleBulletList(),
};
},
});
// 在你的编辑器中尝试一些你的新扩展吧
new Editor({
extensions: [
CustomBulletList(),
// …
],
});