30 open-source projects similar to syntax-tree/mdast, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Mdast alternative.
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
Remark is a markdown processor and transformer that converts markdown text into a structured JSON abstract syntax tree for programmatic manipulation. It functions as a plugin-based tool within the unified ecosystem, allowing users to parse, transform, and stringify markdown content. The project is distinguished by its extensibility through a plugin system that supports custom markdown syntax extensions, the introduction of new markup elements, and the definition of custom processing logic. This framework enables the modification of content through a visitor-pattern traversal of the syntax tre
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
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
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
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
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
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
This project is a document transformation pipeline that compiles Markdown files into executable JavaScript components. By integrating JSX directly into standard text documents, it enables the creation of interactive content that functions as a component-based engine for modern frontend applications. The system distinguishes itself through a unified, plugin-driven architecture that processes content by converting it into an abstract syntax tree. This allows for deep customization of the compilation logic, enabling developers to map standard Markdown elements to custom interface components, inj
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
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
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
This project is a static site generator and documentation builder designed to transform markdown files into styled HTML documents. It functions as a programmatic conversion engine, allowing developers to integrate markdown processing and layout rendering directly into automated build scripts and content workflows. The tool distinguishes itself through a pipeline-oriented architecture that supports custom plugin integration and metadata-driven template injection. Users can define global or per-file metadata to dynamically populate page content, while the system’s template-based generation allo
Markdown-toc is a utility for generating and maintaining tables of contents within markdown files. It functions as both a command-line interface and a programmatic library, enabling the automated creation of structured navigation links based on the heading hierarchy of a document. The tool distinguishes itself through its marker-based injection system, which allows for the precise placement and updating of navigation blocks within existing files. It includes a dedicated transformation pipeline for slugifying heading text into URL-friendly identifiers, ensuring that generated links remain cons
This project is a modular rich text editing component for React applications, built on the ProseMirror framework. It provides a visual interface for composing and formatting content using markdown, while maintaining a structured document model that serializes back into clean markdown code. The editor is designed for high extensibility, allowing developers to inject custom behaviors and formatting commands through a plugin-driven architecture. It supports granular control over the editing environment, including the ability to override default styles, localize interface text, and configure spec
yn is a markdown text editor and knowledge management tool designed as an interactive document canvas. It functions as a networked note-taking system for organizing information via wiki-links, hashtags, and local file repositories, while integrating an AI writing assistant for automated text generation and completion. The project is distinguished by its multi-engine diagramming capabilities, which render text-based syntax into visuals using Mermaid, PlantUML, and ECharts. It employs an extensible plugin framework that allows for the addition of custom UI elements and features through JavaScri
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
This project is a Markdown static site generator and documentation server that converts files and folder structures into responsive websites. It functions as a Confluence documentation publisher, enabling the direct upload and synchronization of processed Markdown content to enterprise knowledge base servers. The system distinguishes itself through its technical rendering capabilities, transforming Mermaid syntax into visual diagrams and TeX expressions into mathematical formulas. It supports multilingual documentation by creating localized versions of a site with dedicated navigation structu
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
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
ESTree is a formal schema and set of object interfaces used to represent JavaScript source code as a standardized abstract syntax tree. It serves as a common tree format and parser standard to ensure interoperability between different JavaScript parsers and transformation tools. The specification provides a consistent way to model language constructs, including statements, expressions, and module declarations. It includes detailed representations for modern language features such as classes, private identifiers, and short-circuiting logic like nullish coalescing and optional chaining. The pr
Markdown Here is a browser extension that enables rich text composition within web-based editors that lack native formatting support. By transforming plain text markdown syntax into rendered HTML, it allows users to draft professional emails and documents using standard markup, including headers, tables, and footnotes, directly inside their browser. The tool distinguishes itself through a bidirectional transformation engine that supports both the conversion of markdown to HTML and the reversion of rendered content back into its original source code. This state-preserving functionality allows
Showdown is a JavaScript library designed to convert Markdown syntax into HTML markup. It functions as a processor for both client-side and server-side environments, transforming plain text into web-ready code suitable for rendering in browsers and digital applications. The project distinguishes itself through a plugin-driven architecture that allows for the injection of custom parsing rules. This extensibility enables developers to modify the standard conversion pipeline, supporting unique syntax patterns or specialized formatting requirements beyond the default implementation. Users can ma
react-markdown is a React renderer that converts markdown text into a virtual DOM to safely display formatted content. It functions as a markdown syntax parser and renderer that transforms markdown strings into structural elements, ensuring XSS-safe content delivery. The project allows for the mapping of standard markdown elements to custom React components for specialized styling and behavior. It supports syntax extensions through a plugin system, enabling additional formatting features such as tables, footnotes, and tasklists. The system includes security primitives for HTML and URL saniti
The Common Expression Language specification is a formal standard for a non-Turing-complete expression language designed for safe, portable, and fast logic evaluation. It serves as a cross-language logic standard and a declarative policy language, providing a consistent semantic framework for executing boolean expressions and data transformations across different programming environments. This specification acts as an embedded expression engine that allows applications to integrate portable logic for evaluating user-defined configurations. It is specifically designed to enable safe user-defin
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
Pelican is a Python-based static site generator that converts Markdown and reStructuredText files into static HTML websites. It functions as a blog and page orchestrator, managing chronological posts and independent static pages while providing built-in support for RSS and Atom feed generation. The system is designed as a plugin-based web framework, allowing for the addition of custom functionality through a community-driven plugin architecture. It also includes capabilities for producing localized versions of articles and pages to support multilingual content delivery. The tool covers a bro
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
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
Parsedown is a PHP library that converts Markdown text and common extensions into structured HTML output for web browsers. It functions as a Markdown to HTML converter that processes both block-level and inline elements to generate valid web content. The library includes a PHP HTML sanitizer designed to escape HTML and scripting vectors. This security layer provides input sanitization to prevent attacks when processing untrusted user-generated content.