Skip to content

Extensions overview

ProseKit ships an extension for every common editor feature. Each one lives at prosekit/extensions/<name> and exposes a define<Name>() factory you compose with union(...). Open a page to see its commands, keyboard shortcuts, and usage example.

Extension Description
Blockquote Quote blocks for citing or highlighting passages
CodeBlock Code blocks with optional syntax highlighting
Doc The top-level document node every editor needs
Hard Break Inline line break, rendered as <br>
Heading Heading nodes h1 through h6 with Markdown-style input rules
Horizontal Rule Horizontal divider lines for content separation
Image Embed images with optional dimension attributes
List Bullet, ordered, task, and toggle lists
Math Inline and block math expressions rendered with a custom function
Mention Mention nodes triggered by characters like @ or #
Page Page-break-aware container that paginates content for printing
Paragraph The default block node for body text
Table Editable tables with row, column, and cell selection
Text The text node every schema requires
Extension Description
Background Color Apply a background color to a text selection
Bold Bold text formatting backed by the standard <strong> mark
Code Inline code formatting backed by the standard <code> mark
Italic Italic text formatting backed by the standard <em> mark
Link Hyperlink mark with optional auto-detection from typed URLs
Strike Strikethrough text formatting backed by the standard <s> mark
Text Color Apply a foreground color to a text selection
Underline Underline text formatting backed by the standard <u> mark
Extension Description
Commit Track and visualize document changes between commits
Drop Cursor Visual cursor indicator during drag-and-drop operations
Enter Rule Run handlers when the Enter key matches a regex pattern
File Handle file drops and pastes with custom upload logic
Gap Cursor Cursor that lets you select positions between non-editable blocks
Input Rule Transform typed text using regex-driven input rules
Placeholder Show placeholder text in empty blocks
Readonly Make the editor read-only and prevent edits
Search In-document search and replace functionality
Text Align Add text alignment attributes to block nodes
Extension Description
Loro Real-time collaboration with the Loro CRDT
Yjs Real-time collaboration with the Yjs CRDT