tiptap

v2026.09.24

Builds rich text editors with Tiptap, a headless ProseMirror-based editor framework for React with Tailwind v4 support. Covers SSR-safe setup, image uploads, prose styling, collaborative editing, and markdown support. Use when adding a rich text editor, configuring Tiptap extensions, handling image uploads in editors, or setting up collaborative editing with Y.js. Use for tiptap, rich text, editor, prosemirror, react, tailwind.

GitHub
安装命令
npx skhub add oakoss/tiptap
Markdown
SKILL.md

Tiptap Rich Text Editor

Overview

Tiptap is a headless rich text editor built on ProseMirror, providing a modular extension system for React applications. It supports React 19, Tailwind v4, and SSR frameworks like Next.js. Use when building blog editors, comment systems, documentation tools, or Notion-like collaborative apps. Do NOT use with Create React App (CRA is incompatible with Tiptap v3 ESM module structure; use Vite instead).

Quick Reference

PatternAPI / Key Point
Create editoruseEditor({ extensions: [StarterKit], immediatelyRender: false })
Render editor<EditorContent editor={editor} />
Prose stylingAdd className="prose dark:prose-invert max-w-none" to container
Configure StarterKitStarterKit.configure({ heading: { levels: [1, 2, 3] } })
Disable undo/redoStarterKit.configure({ undoRedo: false }) (required for Y.js collab)
Image uploadSet allowBase64: false, use upload handler with URL replacement
Markdown supportimport { Markdown } from '@tiptap/markdown' (official, open-source)
shadcn componentnpx shadcn@latest add https://raw.githubusercontent.com/Aslam97/shadcn-minimal-tiptap/main/registry/block-registry.json
Null guarduseEditor() returns Editor | null — guard before calling methods

Core Dependencies

PackagePurpose
@tiptap/reactReact integration (React 19 supported since v2.10.0)
@tiptap/starter-kitBundled extensions: marks, nodes, and functionality
@tiptap/pmProseMirror peer dependency (required, not auto-installed)
@tailwindcss/typographyProse styling for headings, lists, links

StarterKit v3 Contents

CategoryIncluded
MarksBold, Italic, Strike, Code, Link (v3), Underline (v3)
NodesDocument, Paragraph, Text, Heading, BulletList, OrderedList, ListItem, Blockquote, CodeBlock, HorizontalRule, HardBreak
FunctionalityUndo/Redo, Dropcursor, Gapcursor, ListKeymap (v3), TrailingNode (v3)

Common Additional Extensions

ExtensionPackageUse Case
Image@tiptap/extension-imageImage support with resize
Color@tiptap/extension-colorText color (requires TextStyle)
Typography@tiptap/extension-typographySmart quotes, dashes, ellipsis
Placeholder@tiptap/extension-placeholderPlaceholder text (requires CSS)
Table@tiptap/extension-tableTable support (+ Row, Cell, Header)
TaskList@tiptap/extension-task-listCheckbox task lists
CodeBlockLowlight@tiptap/extension-code-block-lowlightSyntax-highlighted code
Collaboration@tiptap/extension-collaborationReal-time multi-user editing (Y.js)
Markdown@tiptap/markdownBidirectional markdown (open-source)

Common Mistakes

MistakeFix
Missing immediatelyRender: falseAdd to useEditor() config — required for SSR/Next.js
No prose classes on editor containerAdd className="prose prose-sm dark:prose-invert max-w-none"
Images stored as base64Set allowBase64: false, use upload handler with URL replacement
Using EditorProvider + useEditor togetherChoose one — EditorProvider wraps useEditor internally
Undo/Redo enabled with CollaborationSet undoRedo: false in StarterKit when using Y.js
ProseMirror version conflictsAdd resolutions for prosemirror-model/view/state in package.json
Using Create React AppSwitch to Vite — CRA incompatible with v3 ESM modules
Not checking editor for nulluseEditor() returns Editor | null — guard before use
Using history: false for collabConfig key renamed to undoRedo in v3
Importing @tiptap/extension-markdownCorrect package is @tiptap/markdown

Delegation

  • Tailwind styling: see tailwind skill
  • Form integration: see tanstack-form skill

References

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

未指定

源路径

skills/tiptap

默认分支

main

最新提交

85e3a39

Tree SHA

a4c9e7b