SuperAPI AI 工具集

tiptap-editor

编程与开发

查看项目

更新于 10-15 22:10

技能介绍

用途:该技能整理 vmark 开发中 Tiptap 编辑器的正确 API 使用模式,帮助区分何时使用 Tiptap 高层 API、何时直接访问 ProseMirror。

主要能力与用法:格式命令(加粗、斜体、下划线等)、块类型切换(标题、段落、代码块)、列表操作(无序、有序、切换、缩进/反缩进)、通过 Tiptap 表格扩展进行表格操作、内容插入与替换、编辑器状态查询(isActive、getAttributes)应优先使用 Tiptap API。单次操作使用 editor.commands.xxx(),需要聚焦或链式调用时使用 editor.chain().focus().xxx().run()。节点遍历使用 doc.resolve(pos) 获取 $pos 辅助方法;状态查询使用 editor.isActive() 或 editor.getAttributes()。

直接使用 ProseMirror 的场景:Markdown 转换层(proseMirrorToMdast.ts、mdastToProseMirror.ts)、多光标/选区子类化(MultiSelection.ts)、自定义节点视图、底层事务操作、Schema 级操作。

已知问题:cursorHandlers.ts 使用 doc.textContent 会扁平化文档并丢失块边界,应改用 $pos 辅助方法(doc.resolve(from)、$pos.parent、$pos.before($pos.depth)、$pos.after($pos.depth));sourceLine 属性仅在初始解析时设置,所见即所得编辑增删块后行号不再匹配源文件,属已知限制;HtmlNodeView.ts 将光标信息写入错误的 store。

限制:资料未提供安装命令、依赖版本、平台与收费信息。