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

文档与 Schema

用一段加粗文字理解节点、标记、属性和内容规则。

QuireKit 把正文保存为文档树。例如一段加粗的“Hello”,包含三层节点:整份文档、段落、文字。粗体是文字上的格式,不是另一个段落。

节点、标记和属性

一段加粗文字json

节点(Node)表达结构,如段落、标题和列表。标记(Mark)表达文字格式,如粗体和链接。属性(attrs)保存附加信息,例如标题的级别或链接的地址。

content 是子节点数组。因此列表可以包含列表项,列表项里再包含段落;这种层级本身就是文档的一部分。

Schema 是内容规则

Schema 由已安装的节点和标记扩展组成,规定允许哪些节点、每种节点能包含什么、有哪些属性与格式。StarterKit 已经提供常用规则,普通文章可以从它开始。

增加一种业务结构时,先定义 Node,再提供相应的命令与显示方式。只在界面里画一个提示框,不会让它自动进入可保存的文档。

同一份内容,多种显示方式

JSON 描述文字和结构,DOM、Canvas、SVG 则是显示方式。屏幕坐标和选区高亮属于视图;它们不需要存进正文。自定义节点的 HTML 输出也不会自动提供 Canvas 布局。

常用读写入口

想做什么调用什么
保存产品自己的结构化内容editor.getJSON()
输出 HTMLeditor.getHTML()
替换普通正文editor.commands.setContent(content)
恢复包含顶层属性的完整文档editor.commands.replaceDocument(content)

读取旧内容时,要安装相容的扩展,并检查模型版本与 Schema。无法识别的内容应报错或迁移,保留原始文件。具体步骤见保存与恢复;文章与 Word 模型的选择见文档模型。

QuireKitQuireKit · Core、插件与 Classic 文档