Markdown Editor

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.


Basic

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…


Pre-filled content

Pass an initial value to pre-populate the editor. All standard Markdown elements — headings, lists, blockquotes, code, horizontal rules — are rendered in the preview.

Release Notes

Welcome to v2.0! This release brings major improvements:

  • Faster rendering engine
  • New dark mode support
  • Redesigned settings panel

Breaking change: the old API has been removed. See migration guide.


Keyboard shortcuts

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.


Programmatic focus

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.