Extensions
This page is generated from the real default stack in `src/lib/components/HybricEditor.tsx`.Default stack (enabled by default)
| Extension | Package | Configuration | Purpose |
|---|---|---|---|
StarterKit | @tiptap/starter-kit | link: false | Core marks/nodes and keymaps. |
HtmlBlock | internal extension | group: 'block', content: 'inline*' | Supports safe HTML-like block segments in document flow. |
Link | @tiptap/extension-link | openOnClick: false, autolink: true, linkOnPaste: true | Editing-friendly link behavior. |
Underline | @tiptap/extension-underline | default | Underline formatting. |
Highlight | @tiptap/extension-highlight | multicolor: false | Single-color text highlight. |
Subscript | @tiptap/extension-subscript | default | Subscript marks. |
Superscript | @tiptap/extension-superscript | default | Superscript marks. |
TaskList + TaskItem | @tiptap/extension-list | TaskItem.configure({ nested: true }) | Nested task list support. |
Image | @tiptap/extension-image | inline: false, allowBase64: true, loading: 'lazy', decoding: 'async' | Block image nodes with native lazy hints. |
TyporaTable | @tiptap/extension-table | resizable: true, lastColumnResizable: false | Resizable Typora-like table behavior. |
TableRow | @tiptap/extension-table-row | default | Table row node. |
TyporaTableHeader | @tiptap/extension-table-header | custom textAlign attribute | Header cells with alignment state. |
TyporaTableCell | @tiptap/extension-table-cell | custom textAlign attribute | Body cells with alignment state. |
Mathematics | @tiptap/extension-mathematics | throwOnError: false | Inline and block math rendering. |
UniqueID | @tiptap/extension-unique-id | custom UUID generator + typed node list | Stable block IDs for product data workflows. |
Placeholder | @tiptap/extension-placeholder | placeholder from prop | Empty document placeholder text. |
Internal behavior extensions
| Extension | What it handles |
|---|---|
KeyboardBehavior | List/task shortcuts, code block exit (`Mod+Enter`), and writing-oriented key behavior. |
HeadingHintBehavior | Shows heading hints (`h3~h6`) when focused. |
MarkdownPasteBehavior | Parses markdown-like clipboard text into rich nodes when appropriate. |
FootnoteSyntaxBehavior | Footnote token rendering, reference/back-reference interaction. |
Unique ID coverage
`UniqueID` is configured for these node types:[
'heading',
'paragraph',
'bulletList',
'orderedList',
'listItem',
'blockquote',
'codeBlock',
]Optional / not in default stack
src/lib/extensions/HybridLink.tsx
How to add your own extension
import CharacterCount from '@tiptap/extension-character-count'
<HybricEditor
content={doc}
extensions={[
CharacterCount.configure({ limit: 20000 }),
]}
/>