mcpField
T
tiptap

tiptap

github.com/oakoss开发21112 次安装12 周前更新
代码仓库

关于 tiptap

tiptap 是基于 ProseMirror 的无头富文本编辑器,提供面向 React 应用的模块化扩展系统,适用于构建内容编辑器及协作功能。

主要功能

  1. 01模块化扩展系统
  2. 02React 集成
  3. 03内置文本与列表功能
  4. 04Markdown 支持
  5. 05可选实时协作

适用场景

  1. 01构建博客和文档编辑器
  2. 02添加评论或任务列表界面
  3. 03创建协作编辑应用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oakoss/agent-skills --skill tiptap

安装后在 Claude Code 中输入/tiptap确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
extensions.md
image-upload.md
known-issues.md
patterns.md
prose-styling.md
setup.md

详细介绍

Tiptap 富文本编辑器

概览

Tiptap 是一款基于 ProseMirror 构建的无头富文本编辑器,为 React 应用提供模块化扩展系统。它支持 React 19、Tailwind v4,以及 Next.js 等 SSR 框架。适用于构建博客编辑器、评论系统、文档工具或类似 Notion 的协作应用。请勿与 Create React App 一起使用(CRA 与 Tiptap v3 的 ESM 模块结构不兼容;请改用 Vite)。

快速参考

模式API / 要点
创建编辑器useEditor({ extensions: [StarterKit], immediatelyRender: false })
渲染编辑器<EditorContent editor={editor} />
Prose 样式在容器中添加 className="prose dark:prose-invert max-w-none"
配置 StarterKitStarterKit.configure({ heading: { levels: [1, 2, 3] } })
禁用撤销/重做StarterKit.configure({ undoRedo: false })(Y.js 协作所必需)
图片上传设置 allowBase64: false,使用上传处理程序替换 URL
Markdown 支持import { Markdown } from '@tiptap/markdown'(官方开源)
shadcn 组件npx shadcn@latest add https://raw.githubusercontent.com/Aslam97/shadcn-minimal-tiptap/main/registry/block-registry.json
空值检查useEditor() 返回 Editor | null — 调用方法前先进行检查

核心依赖项

包用途
@tiptap/reactReact 集成(自 v2.10.0 起支持 React 19)
@tiptap/starter-kit捆绑扩展:标记、节点和功能
@tiptap/pmProseMirror 对等依赖项(必需,不会自动安装)
@tailwindcss/typography用于标题、列表和链接的 Prose 样式

StarterKit v3 包含内容

类别包含内容
标记粗体、斜体、删除线、代码、链接(v3)、下划线(v3)
节点文档、段落、文本、标题、项目符号列表、有序列表、列表项、引用块、代码块、水平线、硬换行
功能撤销/重做、Dropcursor、Gapcursor、ListKeymap(v3)、TrailingNode(v3)

常用附加扩展

扩展包使用场景
Image@tiptap/extension-image支持调整大小的图像
Color@tiptap/extension-color文本颜色(需要 TextStyle)
Typography@tiptap/extension-typography智能引号、破折号、省略号
Placeholder@tiptap/extension-placeholder占位文本(需要 CSS)
Table@tiptap/extension-table表格支持(以及 Row、Cell、Header)
TaskList@tiptap/extension-task-list复选框任务列表
CodeBlockLowlight@tiptap/extension-code-block-lowlight语法高亮代码
Collaboration@tiptap/extension-collaboration多用户实时协作编辑(Y.js)
Markdown@tiptap/markdown双向 Markdown(开源)

常见错误

错误修正
缺少 immediatelyRender: false将其添加到 useEditor() 配置中——SSR/Next.js 必需
编辑器容器缺少 prose 类添加 className="prose prose-sm dark:prose-invert max-w-none"
图像以 base64 格式存储设置 allowBase64: false,使用上传处理程序通过 URL 替换
同时使用 EditorProvider 和 useEditor二选一——EditorProvider 内部会封装 useEditor
启用 Collaboration 时启用 Undo/Redo使用 Y.js 时,在 StarterKit 中设置 undoRedo: false
ProseMirror 版本冲突在 package.json 中为 prosemirror-model/view/state 添加 resolutions
使用 Create React App切换到 Vite——CRA 与 v3 ESM 模块不兼容
未检查 editor 是否为 nulluseEditor() 返回 Editor | null——使用前进行保护
协作时使用 history: falsev3 中配置键已重命名为 undoRedo
导入 @tiptap/extension-markdown正确的包是 @tiptap/markdown

委派

  • Tailwind 样式:参阅 tailwind 技能
  • 表单集成:参阅 tanstack-form 技能

参考资料

评论

支持 Markdown