跳到正文
QuireKit
Core 开发文档
Alpha · API 持续演进

扩展模型

理解行为、节点和文字格式分别怎样加入编辑器。

编辑器能否输入标题、加粗文字或响应快捷键,都由安装的扩展决定。扩展把一种功能的配置、命令和生命周期放在一起,再交给 Editor 使用。

选哪一种扩展

你要增加什么使用什么例子
一种行为,不增加正文结构Extension快捷键、历史记录
一种正文结构Node段落、图片、提示组
附着在文字上的格式Mark粗体、斜体、链接

StarterKit 是一组常用扩展的组合。你可以直接使用它,也可以按产品需要选择和配置其中的能力。

从快捷键开始

假设你希望用 Mod-Shift-b 执行加粗,不需要定义新节点,只需增加快捷键行为。示例的 core/shortcuts.ts 使用 Extension.create(),在 addKeyboardShortcuts() 中调用现有的 toggleBold()。

core/shortcuts.tsts

this.editor 指向安装该扩展的实例。调用现有命令以后,加粗仍使用同一个选区,也可以通过原来的历史记录撤销。将扩展加入创建时的 extensions 数组即可安装。

配置与扩展现有功能

.configure(options) 调整扩展公开的选项;.extend(config) 在已有定义上增加或替换行为。扩展里的 addOptions() 提供默认配置,addStorage() 保存实例运行状态。

配置和 storage 不会自动写入正文。需要随文档保存的业务字段,应定义为节点或标记属性。跟着行为扩展教程实现一个命令,再学习输入规则与 PM 插件和 NodeView。

当内容需要更多能力

定义 Node 只解决“文档里有什么”。HTML 输出、Canvas 布局、跨结构选择、DOCX 转换和 AI 读取分别需要对应的实现,不会由节点名自动推断。

首次开发内容扩展,可以跟着提示组教程逐项连接。接入现成功能时先查插件目录;完整钩子和类型在扩展 API。

QuireKitQuireKit · Core、插件与 Classic 文档