All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Public ProseMirror API - Full access to ProseMirror internals via
editor.pm.* - Block-based JSON document format - Notion-like structure with full TypeScript support
- Schema System
- Block nodes: paragraph, heading (h1-h6), blockquote, callout, codeBlock, divider, bulletList, orderedList, listItem, checkList, checkListItem, columnList, column, table, tableRow, tableCell, tableHeader, image, embed
- Mark types: bold, italic, underline, strikethrough, code, link, textColor, backgroundColor
- Plugin System
- Slash menu plugin (
/command palette) - Bubble menu plugin (floating toolbar)
- Drag & drop plugin for block reordering
- Table plugin with row/column manipulation
- Media menu plugin for image/video controls
- Keyboard shortcuts plugin
- Input rules for auto-formatting (markdown shortcuts)
- Block ID management plugin
- Checklist plugin
- Multi-block selection plugin
- Slash menu plugin (
- Table Commands - addRowAfter, addRowBefore, deleteRow, addColumnAfter, addColumnBefore, deleteColumn, deleteTable, goToNextCell, goToPreviousCell
- Document Operations - getDocument, setDocument, getBlock, insertBlocks, updateBlock, removeBlocks
- Text Formatting Commands - toggleBold, toggleItalic, toggleUnderline, toggleStrikethrough, toggleCode, setTextColor, setBackgroundColor
- History Support - Undo/redo via ProseMirror history
- CSS Auto-injection - Automatic style injection with opt-out support
- Hooks
useOpenBlock- Create and manage editor instancesuseEditorContent- Subscribe to document changesuseEditorSelection- Track selection changesuseEditorFocus- Monitor focus stateuseCustomSlashMenuItems- Generate menu items from custom blocks
- Components
OpenBlockView- Main editor view componentSlashMenu- Command palette UIBubbleMenu- Floating formatting toolbarTableHandles- Row/column manipulation handlesTableMenu- Table cell operations menuMediaMenu- Image/video controlsColorPicker- Color selection UILinkPopover- Link editing popover
- Custom Blocks API -
createReactBlockSpecfor creating React-based custom blocks - Custom Block Hooks -
useBlockEditoranduseUpdateBlockfor custom block implementations
- React integration guide
- Custom blocks guide
- Custom marks guide
- Plugins guide
- Styling and theming guide
- Comprehensive README with API reference
- Initial project setup
- Basic editor functionality
- ProseMirror integration
- React bindings foundation