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
·
pulldown-cmark avatar

pulldown-cmark/pulldown-cmark

0
View on GitHub↗
2,610 stars·288 forks·Rust·MIT·7 viewspulldown-cmark.github.io/pulldown-cmark↗

Pulldown Cmark

pulldown-cmark is a pull-parsing library that transforms Markdown text into a stream of events based on the CommonMark specification. It functions as an event-based processor that represents document structure as an iterator of events rather than a concrete syntax tree, serving as both a parser and a renderer to convert Markdown into HTML strings.

The library is designed for memory efficiency by processing text as a stream to minimize resource usage. It supports programmatic document transformation, allowing users to map or filter the event stream before final rendering.

The project includes capabilities for tracking source offsets to link rendered output back to original byte ranges. It also supports extended Markdown syntax, providing the ability to parse and process non-standard elements such as tables and task lists.

Features

  • CommonMark Compliant Parsers - Implements a pull-parsing library that strictly adheres to the CommonMark specification for consistent markdown processing.
  • Markdown to HTML Converters - Converts parsed Markdown events into HTML strings for web browser display.
  • Markdown Processors - Processes Markdown text as a stream of events to transform lightweight markup into structured document types.
  • Markdown Parsing Pipelines - Provides a pull-parsing pipeline to convert Markdown text into a structured event stream.
  • Event-Based Converters - Transforms Markdown text into a stream of iterator-based events for rendering or modification.
  • Structural Event Streaming - Uses a pull-parsing approach to stream documents as a sequence of structural events, minimizing memory usage.
  • Event-Based Stream Processing - Processes Markdown as an event stream to ensure low memory overhead and high speed.
  • Markdown Extensions - Extends standard CommonMark with support for custom elements like tables and task lists.
  • Document Transformation Pipelines - Provides a framework for programmatically filtering and transforming the event stream before final rendering.
  • Pull Parsers - Provides a memory-efficient pull-parsing architecture that processes text as a stream to reduce resource usage.
  • Iterable Transformation Utilities - Provides functional iterator combinators to map or filter the stream of parsed Markdown events.
  • Source Tracking - Identifies the original byte ranges for each parsed event to enable accurate source mapping.
  • Event-to-Source Mapping - Tracks the original byte offsets of parsed Markdown elements to link output back to source text.
  • Event-to-State Transformations - Allows users to apply custom logic to the Markdown event stream via iterator combinators.
  • Single-Pass Tokenizers - Employs a single-pass linear parsing strategy to identify Markdown structures efficiently.
  • Offset Tracking - Maintains byte range offsets during parsing to map rendered output back to original source positions.
  • Syntax Parsing Engines - Implements parsing logic for non-standard Markdown features like footnotes and flavored tables.
  • Event-Driven Renderers - Implements an event-driven rendering process to convert structural Markdown events into HTML strings.
  • Syntax Extensions - Supports extended Markdown syntax including tables and task lists.

Star history

Star history chart for pulldown-cmark/pulldown-cmarkStar history chart for pulldown-cmark/pulldown-cmark

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 pulldown-cmark/pulldown-cmark do?

pulldown-cmark is a pull-parsing library that transforms Markdown text into a stream of events based on the CommonMark specification. It functions as an event-based processor that represents document structure as an iterator of events rather than a concrete syntax tree, serving as both a parser and a renderer to convert Markdown into HTML strings.

What are the main features of pulldown-cmark/pulldown-cmark?

The main features of pulldown-cmark/pulldown-cmark are: CommonMark Compliant Parsers, Markdown to HTML Converters, Markdown Processors, Markdown Parsing Pipelines, Event-Based Converters, Structural Event Streaming, Event-Based Stream Processing, Markdown Extensions.

What are some open-source alternatives to pulldown-cmark/pulldown-cmark?

Open-source alternatives to pulldown-cmark/pulldown-cmark include: lunet-io/markdig — Markdig is a high-performance Markdown processor for .NET applications that converts Markdown text into HTML or other… xoofx/markdig — Markdig is a markdown parser library that converts text into structured HTML, plain text, or other formats using a… wooorm/remark — Remark is a markdown processor that parses markdown text into a structured JSON abstract syntax tree for programmatic… tencent/cherry-markdown — Cherry Markdown is a web-based Markdown editor and parsing engine that converts markup text into sanitized HTML with a… commonmark/commonmark.js — Commonmark.js is a library designed to parse and render text formatted according to the CommonMark specification. It… waylan/python-markdown — Python-Markdown is a library that converts Markdown text into HTML or XHTML documents. It functions as a Unicode text…

Open-source alternatives to Pulldown Cmark

Similar open-source projects, ranked by how many features they share with Pulldown Cmark.
  • 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
  • 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
  • wooorm/remarkwooorm avatar

    wooorm/remark

    8,923View on GitHub↗

    Remark is a markdown processor that parses markdown text into a structured JSON abstract syntax tree for programmatic analysis and transformation. It functions as a markdown AST parser and processor, utilizing a plugin framework to manage extensible syntax and transformation rules. The project enables custom markdown syntax extensions and content transformation through a plugin system, allowing for the addition of non-standard markup and metadata. It also includes a markdown linter to identify style inconsistencies and ensure adherence to writing standards. The toolset covers markdown docume

    JavaScript
    View on GitHub↗8,923
  • tencent/cherry-markdownTencent avatar

    Tencent/cherry-markdown

    4,727View on GitHub↗

    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 p

    JavaScripteditorjavascriptmarkdown
    View on GitHub↗4,727
  • See all 30 alternatives to Pulldown Cmark→