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.

ExtensionDescription
BlockquoteQuote blocks for citing or highlighting passages
CodeBlockCode blocks with optional syntax highlighting
DocThe top-level document node every editor needs
Hard BreakInline line break, rendered as <br>
HeadingHeading nodes h1 through h6 with Markdown-style input rules
Horizontal RuleHorizontal divider lines for content separation
ImageEmbed images with optional dimension attributes
ListBullet, ordered, task, and toggle lists
MathInline and block math expressions rendered with a custom function
MentionMention nodes triggered by characters like @ or #
PagePage-break-aware container that paginates content for printing
ParagraphThe default block node for body text
TableEditable tables with row, column, and cell selection
TextThe text node every schema requires
ExtensionDescription
Background ColorApply a background color to a text selection
BoldBold text formatting backed by the standard <strong> mark
CodeInline code formatting backed by the standard <code> mark
ItalicItalic text formatting backed by the standard <em> mark
LinkHyperlink mark with optional auto-detection from typed URLs
StrikeStrikethrough text formatting backed by the standard <s> mark
Text ColorApply a foreground color to a text selection
UnderlineUnderline text formatting backed by the standard <u> mark
ExtensionDescription
CommitTrack and visualize document changes between commits
Drop CursorVisual cursor indicator during drag-and-drop operations
Enter RuleRun handlers when the Enter key matches a regex pattern
FileHandle file drops and pastes with custom upload logic
Gap CursorCursor that lets you select positions between non-editable blocks
Input RuleTransform typed text using regex-driven input rules
PlaceholderShow placeholder text in empty blocks
ReadonlyMake the editor read-only and prevent edits
SearchIn-document search and replace functionality
Text AlignAdd text alignment attributes to block nodes
ExtensionDescription
LoroReal-time collaboration with the Loro CRDT
YjsReal-time collaboration with the Yjs CRDT