Production-ready Tiptap extensions for modern React apps: advanced code blocks, drag handles with slash menus, and file upload workflows with zero boilerplate.
Docs:
- Built for real Tiptap editors, not toy demos.
- Published as separate npm packages so you only install what you need.
- Shared extension conventions:
locale,messages, and forward-compatibleuiconfig. - Built-in UI localization for
zh-CN,zh-TW,en, andja. - React + TypeScript friendly, with automatic style injection and workspace examples.
| Package | What it solves |
|---|---|
@tiptap-codeless/core |
Shared runtime helpers, i18n helpers, style injection, and React hooks |
@tiptap-codeless/extension-code-block-pro |
Syntax-highlighted code blocks with Mermaid, fullscreen, folding, line numbers, and language switching |
@tiptap-codeless/extension-drag-handle |
Block drag handle, insert handle, and slash-triggered insert menu |
@tiptap-codeless/extension-file-upload |
Drag-and-drop file upload, paste upload, image resize/alignment, video preview, and file cards |
pnpm add @tiptap-codeless/extension-code-block-pro lowlightimport { EditorContent, useEditor } from '@tiptap/react';
import StarterKit from '@tiptap/starter-kit';
import { CodeBlockPro } from '@tiptap-codeless/extension-code-block-pro';
import { createLowlight } from 'lowlight';
import javascript from 'highlight.js/lib/languages/javascript';
const lowlight = createLowlight();
lowlight.register('javascript', javascript);
export function DemoEditor() {
const editor = useEditor({
extensions: [
StarterKit.configure({
codeBlock: false,
}),
CodeBlockPro.configure({
lowlight,
locale: 'en',
theme: 'auto',
}),
],
});
return <EditorContent editor={editor} />;
}The three UI extensions now share the same internationalization entry points:
SomeExtension.configure({
locale: 'ja',
messages: {
// Override only the labels you need
},
ui: {
// Extension-specific UI layer config
},
});Supported locales:
zh-CNzh-TWenja
This repo ships workspace examples you can run locally:
pnpm install
pnpm --filter ./examples/code-block-pro dev
pnpm --filter ./examples/drag-handle dev
pnpm --filter ./examples/file-upload devpnpm install
pnpm test:run
pnpm type-check
pnpm build
pnpm --filter "./examples/**" buildpackages/core/README.mdpackages/extension-code-block-pro/README.mdpackages/extension-drag-handle/README.mdpackages/extension-file-upload/README.md
MIT © namelesserlx