awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Tencent avatar

Tencent/cherry-markdown

0
View on GitHub↗
4,727 stars·551 forks·JavaScript·38 viewsgithub.com/Tencent/cherry-markdown/wiki↗

Cherry Markdown

Cherry Markdown is a web-based Markdown editor and parsing engine that converts markup text into sanitized HTML with a real-time synchronized preview pane. It functions as a rich text interface and WYSIWYG tool, providing a system for transforming markup strings into HTML documents or portable formats.

The project distinguishes itself through high-performance rendering and a flexible extensibility model. It uses virtual DOM diffing and partial rendering to maintain responsiveness in large documents, and it allows for the creation of custom parsing rules and specialized HTML components via a plugin system.

The editor's capability surface includes comprehensive content management for mathematical formulas, diagrams, and rich media, as well as advanced input controls such as multi-cursor editing and Vim-style modal navigation. It also features a robust document export workflow and a design token system for deep visual customization of the editor and preview areas.

The system includes a security layer that uses whitelist-based HTML sanitization to prevent injection attacks.

Features

  • Web Markdown Editors - Provides a browser-based Markdown editor with a synchronized real-time preview pane for document creation.
  • Markdown Editors - Provides a full-featured web-based editor for writing and previewing Markdown content in real-time.
  • Markdown to HTML Converters - Functions as a parsing engine that transforms Markdown markup strings into sanitized HTML for web display.
  • Side-by-Side Editor Previews - Implements a side-by-side interface that synchronizes a Markdown editor with a live rendered preview pane.
  • HTML Element Filters - Employs a whitelist-based mechanism to remove unsafe HTML tags from the rendered output.
  • Document Element Insertion - Provides tools for inserting structural and visual elements like checklists, tables, and quotes into the document.
  • Markdown Parsing Pipelines - Uses a configurable parsing pipeline to convert Markdown text into a structured visual preview.
  • Editor State Management - Manages the operational state of the editor, including undo/redo history and full-screen toggling.
  • Plugin & Integration Systems - Integrates a plugin system that allows for the addition of custom Markdown syntax and menu behaviors.
  • Syntax Transformation Rules - Uses regular expressions to define custom inline and paragraph rules for transforming Markdown into HTML.
  • Custom Parsing Rules - Allows for the creation of custom parsing rules and specialized HTML components via a plugin system.
  • HTML Sanitization - Filters rendered output through a security scanner to prevent cross-site scripting and injection attacks.
  • Editor Plugin Integrations - Implements a flexible plugin system to integrate custom syntax and specialized menu behaviors into the editor.
  • Virtual DOM Optimizations - Utilizes virtual DOM diffing to identify changed paragraphs and update only affected sections of the preview area.
  • DOM Patching Engines - Uses paragraph-level diffing to apply minimal changes to the DOM, preventing unnecessary layout operations.
  • Extensible Interfaces - Features an extensible interface that allows plugins to add new capabilities and modify editor behavior.
  • High-Performance Rendering - Uses virtual DOM diffing and partial rendering to maintain high responsiveness when editing large documents.
  • Partial DOM Updates - Implements partial rendering by assigning unique signatures to blocks and updating only modified segments.
  • Scroll Synchronization - Synchronizes the scroll position between the Markdown source text and the rendered HTML preview pane.
  • Syntax Extensions - Defines custom inline and paragraph rules using regular expressions to extend the base Markdown specification.
  • Segmented Rendering Engines - Implements partial rendering and targeted updates to keep the interface responsive when handling large documents.
  • Rich Text Element Embedding - Provides a comprehensive interface for managing and embedding formulas, diagrams, and other rich-text elements.
  • Text Formatting Tools - Includes utilities for applying inline text styles such as bold, italic, and strikethrough.
  • Virtual DOM Diffing - Uses virtual DOM diffing to identify changed paragraphs and minimize browser overhead during preview updates.
  • Cursor-Positioned Insertions - Inserts specific text or formatted Markdown syntax directly at the user's active cursor position.
  • Markdown Authoring Interfaces - Ships a rich text interface with toolbars and multi-cursor editing for managing markdown content.
  • Document Exporting - Allows users to export edited Markdown content into portable formats such as PDF or image files.
  • Markdown Extensions - Supports custom syntax and rendering rules via plugins to extend standard Markdown with specialized UI components.
  • Diagram Renderers - Visualizes complex diagrams and charts from text definitions using external rendering libraries.
  • Diagram Syntax Insertion - Enables the insertion of syntax for various chart types including flowcharts, sequence diagrams, and Gantt charts.
  • Mathematical Notation Renderers - Supports the rendering of complex mathematical formulas and notation using LaTeX-like syntax within Markdown.
  • Real-Time Streaming Renderers - Stabilizes the rendering of tables and code blocks during real-time text streams.
  • Multi-Format Document Exports - Supports exporting a single source document into multiple output formats including PDF, HTML, and images.
  • Content Change Tracking - Tracks changes to editor content and notifies the system after asynchronous rendering tasks complete.
  • Modal Text Manipulation - Integrates command and insert modes with keyboard-driven motion keys for faster navigation and editing.
  • Modal Text Navigation - Moves the cursor across lines and words using standard Vim motion keys for faster editing.
  • Automatic Table of Contents - Automatically generates navigational outlines based on the document's heading hierarchy.
  • Debounce and Throttle Utilities - Optimizes performance by adjusting the debounce interval for input rendering based on document length.
  • Modal Input Systems - Provides a modal input system allowing users to toggle between command and insert modes for keyboard-driven editing.
  • Multi-Cursor Editing - Supports simultaneous text manipulation across multiple document locations using multi-cursor selection.
  • Syntax Priority Management - Determines the execution order of custom syntax rules relative to built-in rules to ensure correct element nesting.
  • Asynchronous Rendering Engines - Offloads the rendering of complex charts and diagrams to background threads to maintain UI responsiveness.
  • HTML Content Sanitization - Includes a security layer that uses whitelist-based sanitization to remove unsafe HTML tags and prevent XSS attacks.
  • Modal Input Switching - Toggles between a command mode for navigation and an insert mode for typing text.
  • Segmented Rendering Updates - Implements a system that assigns signatures to rendered blocks to update only modified segments of the view.
  • Syntax Rule Conflict Prevention - Uses caching and placeholders to stop multiple syntax rules from conflicting when processing text.
  • Editor Toolbar Configurations - Configures the layout of editing buttons across top bars, sidebars, and floating selection bubbles.
  • Custom Color Theme Definitions - Enables the definition of new visual appearances using style files with specific color variables and layout properties.
  • Design Token Systems - Implements a design token system and variables to consistently override colors, spacing, and typography.
  • Editor Themes - Applies visual styles to the editor and preview areas by toggling specific classes on the container.
  • Editor View Toggles - Toggles the interface between edit-and-preview, edit-only, and preview-only viewing modes.
  • Custom Code Block Rendering - Allows defining custom rendering rules to transform code blocks into specialized components or styled output.
  • Image Dimension Specifiers - Supports specifying image width and height using attribute syntax for precise layout control in the preview.
  • Code Block Annotations - Enhances code blocks with interactive visual elements like line numbers and copy buttons.
  • Custom Editor Toolbar Buttons - Allows the creation of programmable toolbar buttons with custom icons and click handlers to extend editor actions.
  • Text Selection Control - Provides APIs to programmatically adjust the cursor and selection range for wrapping text in Markdown syntax.
  • Application CSS Overrides - Supports modifying the appearance of the editor and output by overriding default styles with custom CSS.
  • Keyboard Shortcut Mapping - Provides a programmatic interface for mapping keyboard combinations to specific editor actions.
  • Code Block Themes - Provides the ability to change the visual syntax highlighting for code blocks using predefined or custom styles.
  • WYSIWYG Editors - Provides an interactive visual editing surface where the output matches the final rendered version.
  • Rich Media Insertions - Provides commands for inserting rich media such as images, audio, video, and interactive diagrams.
  • Image Lazy Loading - Defers the loading of images until they enter the viewport to optimize initial page performance.
  • Lazy Loading Schedulers - Controls image loading via a scheduler that supports concurrency limits and proximity-based preloading.
  • Configurable Editor Embeddings - Enables the embedding of the interactive Markdown editor into specific web elements with custom dimensions.
  • Media Insertion Integrations - Integrates capabilities to insert images, videos, audio files, PDFs, and Word documents into the editing area.
  • Markdown 编辑器 - Listed in the “Markdown 编辑器” section of the Great Open Source Project awesome list.

Star history

Star history chart for tencent/cherry-markdownStar history chart for tencent/cherry-markdown

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does tencent/cherry-markdown do?

Cherry Markdown is a web-based Markdown editor and parsing engine that converts markup text into sanitized HTML with a real-time synchronized preview pane. It functions as a rich text interface and WYSIWYG tool, providing a system for transforming markup strings into HTML documents or portable formats.

What are the main features of tencent/cherry-markdown?

The main features of tencent/cherry-markdown are: Web Markdown Editors, Markdown Editors, Markdown to HTML Converters, Side-by-Side Editor Previews, HTML Element Filters, Document Element Insertion, Markdown Parsing Pipelines, Editor State Management.

Which projects share features with tencent/cherry-markdown?

Projects with overlapping indexed features include: vanessa219/vditor — Vditor is a browser-based Markdown editor and rendering engine that supports multiple editing interfaces, including a… lunet-io/markdig — Markdig is a high-performance Markdown processor for .NET applications that converts Markdown text into HTML or other… joemccann/dillinger — Dillinger is a browser-based Markdown HTML5 editor designed for real-time text editing and visual rendering. It… xoofx/markdig — Markdig is a markdown parser library that converts text into structured HTML, plain text, or other formats using a… markedit-app/markedit — MarkEdit is a high-performance Markdown text editor and document navigator. It provides a scriptable editing… pulldown-cmark/pulldown-cmark — pulldown-cmark is a pull-parsing library that transforms Markdown text into a stream of events based on the CommonMark…

Projects sharing features with Cherry Markdown

These projects share indexed features with Cherry Markdown. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • vanessa219/vditorVanessa219 avatar

    Vanessa219/vditor

    11,074View on GitHub↗

    Vditor is a browser-based Markdown editor and rendering engine that supports multiple editing interfaces, including a visual rich-text experience, instant rendering, and a traditional side-by-side split-view preview. It serves as an authoring tool for technical documentation and a component for web-based editor integration. The project is distinguished by its support for complex technical content, utilizing specialized rendering for mathematical formulas, flowcharts, sequence diagrams, and mind maps. It also functions as a collaborative document review tool, enabling users to attach anchored

    TypeScriptcommonmarkeditorgfm
    View on GitHub↗11,074
  • lunet-io/markdiglunet-io avatar

    lunet-io/markdig

    5,257View on GitHub↗

    Markdig is a high-performance Markdown processor for .NET applications that converts Markdown text into HTML or other target formats. It is a CommonMark compliant parser and extensible engine that can transform Markdown into a searchable and manipulatable abstract syntax tree. The library provides a framework for adding custom syntax and rendering logic through a modular pipeline of parsers and renderers. It supports native ahead-of-time compilation and trimming to minimize binary size. Capabilities include the generation of structured HTML with custom attributes and styling, the extraction

    C#
    View on GitHub↗5,257
  • joemccann/dillingerjoemccann avatar

    joemccann/dillinger

    8,256View on GitHub↗

    Dillinger is a browser-based Markdown HTML5 editor designed for real-time text editing and visual rendering. It functions as a cloud-synced writing tool that transforms markup syntax into live HTML previews, utilizing OAuth-integrated authentication to connect users with third-party services. The project distinguishes itself by integrating cloud document synchronization with external storage providers and offering direct publishing capabilities to platforms such as Medium. It also includes a dedicated Markdown-to-PDF converter for generating professional documents and a focus mode to create a

    TypeScript
    View on GitHub↗8,256
  • xoofx/markdigxoofx avatar

    xoofx/markdig

    5,127View on GitHub↗

    Markdig is a markdown parser library that converts text into structured HTML, plain text, or other formats using a configurable pipeline. It functions as a CommonMark compliant parser and an abstract syntax tree generator that transforms markdown into a hierarchical tree of block and inline nodes with precise source location mapping. The project is distinguished by a decoupled renderer architecture that separates parsing logic from output generation, enabling the transformation of the syntax tree into non-HTML formats such as LaTeX or XAML. It also serves as a lossless markdown processor by t

    C#commonmarkcommonmark-parsingcsharp
    View on GitHub↗5,127
Compare all 30 related projects→

Curated searches featuring Cherry Markdown

Hand-picked collections where Cherry Markdown appears.
  • Side-by-Side Markdown Editors
  • Word Alternatives and Synonym Finders
  • a minimalist note taking application