Editor.md is an embeddable Markdown editor component for web applications that provides a real-time, dual-pane live preview alongside the raw source as the user types. It is designed as a plugin-based Markdown editor with a plugin architecture for extending functionality through custom modules, and it supports rendering LaTeX mathematical expressions using KaTeX as well as converting flowchart and sequence diagram syntax into visual diagrams within the preview.
The editor distinguishes itself through its plugin-based extension system, which allows loading additional functionality through external modules or custom plugins without modifying the core component. It supports asynchronous module loading via RequireJS or SeaJS for dependency management, and includes synchronized scrolling between the editor and preview panes with optional one-way synchronization. The editor also handles cross-origin image uploads through an iframe-based mechanism, supports drag-and-drop image uploads, and provides dialog-driven media insertion for images, links, tables, and other rich media elements.
Additional capabilities include customizable keyboard shortcuts, localization support through language packs, and theming options that allow independent customization of the editor, preview pane, and toolbar appearance. The editor can generate a clickable table of contents from heading tags, collapse and expand sections of the Markdown source, and includes HTML sanitization to filter unsafe content from rendering. It also supports text manipulation operations such as search and replace, and inserting page breaks, code blocks, emoji, and task lists through toolbar actions or syntax.