A markdown editor with Edit, Split, and Preview modes. Split mode pairs a plain-text source pane with a rendered preview on the right.
Supports bold, italic, headings, lists, blockquotes, and inline code — no toolbar needed.
Integrates seamlessly with the Block Editor via the onnavigate callback.
Pass value and update it in onchange to track the markdown string.
The left pane shows plain-text Markdown source; the right pane renders the live HTML preview via marked.
Preview will appear here…
Pass an initial value to pre-populate the editor.
All standard Markdown elements — headings, lists, blockquotes, code, horizontal rules — are rendered in the preview.
Welcome to v2.0! This release brings major improvements:
dark mode supportBreaking change: the old API has been removed. See migration guide.
Ctrl+B / ⌘B wraps the selection (or inserts an empty pair) in **bold**. Ctrl+I / ⌘I wraps in *italic*. Tab and Shift+Tab call onnavigate instead of inserting whitespace —
when embedded in the Block Editor this moves focus to the next or previous block.
Bind the component instance with bind:this and call editorRef.focus() to move focus to the textarea from outside. This is how the Block Editor focuses a markdown block when activated.