Skip to content

模板文档编辑器 @snail-js/editor ​

基于 Tiptap 3 的模板文档编辑器。它不是一个通用的富文本输入框, 而是一台「排版机 + 模板引擎」:文档里是真的 page 节点,有页眉、页脚、Logo、自动分页、 变量、二维码、水印和浏览器打印。

最初的设计是为了管理模板合同,现在它通用了!可以处理通用的模板排版 + 数据填写

ts
import { SEditor } from "@snail-js/editor";

它和普通富文本编辑器差在哪 ​

两点,都是设计上的取舍,不是「可以再补的功能」:

一、文档是真的分页了。 页是一等节点:doc > page > pageContent, page 上带着纸张、方向和页边距。自动分页会真的把内容切到下一页(切开的是真实的 ProseMirror 节点切片,不是视觉遮罩),页眉、页脚、Logo 是 page 的子节点,因此换页时 会被原样复制过去。所谓「一页」在 JSON 里就是一页。

二、填写模板不修改文档。 变量是内联原子节点,填写模式只是把值渲染在节点的位置上, 文档 JSON 在两种模式下永远是同一份模板。带来的直接结果是:切回设计模式是免费的(没有任何 东西被销毁过),改段落字号变量会跟着变(值继承段落),而模板可以随时重新填写。

基于 MIT 许可发布