30 open-source projects similar to lunet-io/markdig, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
Goldmark is a Markdown parser and renderer written in Go that converts Markdown text into HTML or XHTML. It implements the CommonMark specification to ensure consistent parsing behavior. The project utilizes a modular extension registry, allowing for the addition of custom syntax such as tables, task lists, and footnotes. It also includes specialized support for CJK languages to handle specific line-breaking and emphasis rules for Chinese, Japanese, and Korean characters. The library parses text into an abstract syntax tree for programmatic document analysis and modification. Its capabilitie
Commonmark.js is a library designed to parse and render text formatted according to the CommonMark specification. It functions as a document processing pipeline that converts plain text into structured HTML or an abstract syntax tree, enabling developers to programmatically inspect, modify, and transform document elements. The library distinguishes itself through its strict adherence to standardized parsing rules, ensuring consistent and predictable output across different software environments. It provides a robust framework for document tree manipulation, allowing users to traverse, insert,
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
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
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
This project is a Python library and command-line tool designed to convert Markdown text and files into structured HTML fragments. It functions as a Markdown-to-HTML converter and parser that transforms piped text or source files into web-ready documents. The project is an extensible text processor featuring a pluggable API for defining custom inline and block syntax. This modular framework allows for the registration of specialized syntax extensions, such as tables and footnotes, and provides a system for managing runtime configuration settings. The conversion process covers multilingual te
Blackfriday is a Go library for parsing and converting Markdown text into HTML, LaTeX, and other structured formats. It functions as an extensible Markdown processor that transforms syntax into target markup languages. The project is distinguished by its pluggable rendering architecture, which allows for the production of diverse output targets such as Slack message styles, Confluence Wiki Markup, and GitHub Flavored Markdown. It supports custom syntax extensions including definition lists, footnotes, autolinks, and strikethroughs. The processor includes utilities for generating automatic ta
markdown-js is a JavaScript markdown parser and converter that transforms markdown text into HTML output. It functions as both a library and a command line interface tool for converting documents. The project is centered on an abstract syntax tree representation, allowing markdown to be parsed into a structured tree for programmatic inspection and modification before the final rendering process. This intermediate representation enables custom markup processing and document transformations. The toolset covers programmatic document parsing, static site generation, and CLI-based file processing
Remarkable is an extensible Markdown parser library that implements the CommonMark specification and supports GitHub Flavored Markdown through configurable rule presets. Its core architecture separates parsing into distinct inline and block rule pipelines, enabling targeted customization of text-level and structural syntax while maintaining consistent behavior across standard Markdown features. The parser is built around a plugin-based rule system where individual syntax rules can be toggled, extended, or replaced by external plugins. A preset configuration system allows users to switch betwe
Python-Markdown is a library that converts Markdown text into HTML or XHTML documents. It functions as a Unicode text processor, supporting all Unicode-based languages and bi-directional text to ensure global compatibility. The project is an extensible markdown processor that allows developers to add custom syntax and formatting rules through a plugin architecture. This system enables the registration of new parsing rules, the modification of parser behavior, and the implementation of custom document syntax such as tables and footnotes without altering the core source code. The tool provides
Markdoc is a documentation content framework that extends standard Markdown with custom tags, typed schemas, and reusable components, parsing content into an abstract syntax tree and rendering it as React elements or HTML. It provides a structured authoring system where documents are processed through an AST-based pipeline, enabling validation, transformation, and flexible output generation. The framework distinguishes itself through a schema-driven validation pipeline that checks document structure and attribute values against defined rules, and a pluggable renderer architecture that accepts
This library provides a component-based solution for parsing and rendering markdown content directly within Angular applications. It functions as a bridge between raw markdown text and formatted HTML, enabling the display of dynamic content, remote documentation, and technical guides within a framework-native environment. The library distinguishes itself through a modular pipeline that allows for deep customization of the rendering process. Developers can override default HTML generation for specific elements, integrate third-party plugins for advanced syntax support, and manage the parsing l
Redcarpet is a security-focused Markdown to HTML parser and customizable renderer. It transforms Markdown text into structured HTML output while utilizing a security layer to filter or escape user-provided HTML tags and restrict link protocols to prevent vulnerabilities. The project distinguishes itself through a framework for custom document formatting, allowing the definition of how specific Markdown elements are converted to HTML via callback functions and custom classes. It also functions as a typographic formatter that converts standard punctuation and dashes into professional curly quot
Overtype is a web-based markdown editor that provides a WYSIWYG editing experience. It allows users to manage markdown content through a real-time visual preview while maintaining the simplicity of native text input. The project focuses on secure markdown rendering by sanitizing input and neutralizing dangerous links to prevent XSS attacks. The editor is implemented as a native web component using Shadow DOM encapsulation, ensuring style isolation and framework-agnostic integration. It uses a transparent overlay rendering technique to simulate a visual editor while preserving native input beh
This project is a formal markdown specification standard that provides a detailed markup syntax definition and a definitive set of rules for parsing plain text into consistent HTML output. It establishes a standardized grammar for structural blocks and inline elements to ensure uniform rendering across different software implementations. The specification is supported by a parser conformance suite and a reference implementation in C and JavaScript to verify that implementations adhere to the standard. It includes a system for implementation verification that compares transformed input strings
Ghostwriter is a distraction-free markdown text editor and document processor. It provides a focused writing environment for composing documents using markdown syntax, separating the drafting process from final formatting. The application features a minimalist interface designed to minimize visual clutter, including the ability to disable deletion keys to enforce a forward-only drafting flow. It includes a live statistics dashboard for tracking word counts and session metrics, as well as visual highlighting that fades non-active text to focus attention on the current line, sentence, or paragr
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
Vue-markdown is a rendering library and component suite designed to transform raw markdown text into structured HTML for use within Vue applications. It functions as a parser that converts text into an intermediate tree structure, allowing for the integration of dynamic content and the application of custom formatting rules during the conversion process. The library distinguishes itself through its component-based architecture, which enables the direct injection of framework-specific components into rendered documents. It provides extensive lifecycle hooks that allow developers to monitor the
Pymdown-extensions is a collection of functional enhancements designed to extend the capabilities of standard Markdown processors. It functions as a Python-based library that integrates into the document conversion pipeline to support complex layouts, rich formatting, and specialized content structures. The library distinguishes itself through a modular extension pipeline that allows for advanced syntax transformation and configurable attribute processing. By hooking into the parsing lifecycle, it enables the creation of structured containers, the embedding of binary assets, and the dynamic i
Nextra is a documentation framework for Next.js that functions as an MDX static site generator. It enables the creation of structured technical documentation sites by transforming MDX files into themed static pages with built-in layout and navigation. It serves as a React-based documentation tool that allows the integration of custom React components directly into markdown content. The framework distinguishes itself through integrated full-text search and a localization system that manages multilingual content via language routing and translation selectors. It also includes an AI-powered chat
Racket is a general-purpose, multi-paradigm programming language in the Lisp family designed for language creation. It functions as a language workbench, providing a platform for designing and implementing custom programming languages through a flexible system of macros and modules. The system distinguishes itself by offering a comprehensive suite for semantics engineering, allowing for the construction of specialized language subsets and educational layers. It includes tools for custom language design, such as lexer and parser generation, as well as the ability to define module expansion rul
markdown-it is a token-based Markdown compiler and CommonMark-compliant parser that converts structured plaintext markup into HTML. It functions as an extensible markup processor designed to transform text into browser-ready content while managing security and preventing cross-site scripting. The project is distinguished by a modular plugin system that allows for the extension of parsing capabilities and the addition of custom syntax, such as footnotes, tables, or emojis. It utilizes a two-stage tokenization process to break documents into structural tokens before rendering them into final HT
markdown-nice is a web-based markdown editor and renderer designed to transform raw markdown text into formatted HTML. It functions as a CSS stylizer that applies custom themes to content to improve its visual presentation for publishing platforms. The tool focuses on blog post formatting and markdown content styling, allowing users to define the layout and typography of technical articles. It supports the rendering of specialized syntax, including mathematical formulas and footnotes. The editor includes capabilities for persisting user state and style settings in the browser. It utilizes a
Esprima is a JavaScript parser that converts source code into a structured abstract syntax tree. It implements a specification-driven grammar to ensure compliance with ECMAScript standards, enabling the programmatic analysis and transformation of JavaScript programs. The project provides capabilities for lexical tokenization to break source code into individual symbols and static syntax validation to verify that scripts are well-formed without executing the code. Its functional surface covers JavaScript static analysis, lexical analysis, and the generation of abstract syntax trees.
Zola is a static site generator that compiles Markdown and templates into a standalone website. It is distributed as a single binary, removing the need for external runtimes or package managers to build the final site. The project includes a built-in Sass compiler to transform styles into compressed CSS and a dedicated Markdown rendering engine that supports task lists and footnotes. It also features a client-side search indexer, enabling full-text site search without a backend server, and a multilingual content manager for organizing translated content. Additional capabilities cover asset o
The project provides a standardized abstract syntax tree specification and utility library for parsing, transforming, and serializing markdown documents. It serves as a comprehensive document processing architecture that translates between raw text markup and structured node representations in both directions. The capability surface covers syntax parsing for extended markdown features, custom syntax extensions, metadata blocks, and embedded expressions, alongside document serialization that converts syntax trees back into standard and extended markup formats. It includes node modeling and val
One Small Step is an educational resource that explains core AI and large language model concepts through short, accessible articles designed to be read in under five minutes. It covers the structure and function of key LLM components like attention mechanisms and tokenization, as well as foundational machine learning mathematics such as matrix rank and overfitting. The project also serves as a guide to the GGUF file format, which packages all model parameters and metadata into a single compact binary file for cross-platform deployment without external dependencies. It explains how this forma
Assemble is a static site generator and build pipeline system that compiles markdown, templates, and data into static HTML files. It functions as a markdown-to-HTML converter and a data format transformer capable of moving content between JSON, YAML, XML, PLIST, and CSV formats. The project features a pipeline-based build process where users can define ordered sequences of data transformations and file processing steps. It includes project scaffolding tools to bootstrap directory structures and configuration files from predefined boilerplates. The system manages content through collection-ba
Scriban is a .NET text templating engine and embedded scripting language used for dynamic text generation. It functions as an abstract syntax tree manipulation tool and a template parser, allowing for the conversion of scripts into visitable trees for analysis, modification, and rendering. The engine is specifically designed for Native AOT compatibility, utilizing a reflection-free API to execute templates in trimmed environments. It also provides a dedicated parser and conversion system for Liquid templates, enabling the migration and execution of Liquid scripts within .NET. The project cov