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
remarkjs avatar

remarkjs/remark

0
View on GitHub↗
8,911 stars·375 forks·JavaScript·MIT·21 viewsremark.js.org↗

Remark

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 tree.

The toolset covers a broad range of capabilities including markdown linting and formatting to ensure style consistency, as well as the conversion of markdown content to HTML. It provides command line interfaces for automating these processing and formatting tasks across projects.

Features

  • Markdown Abstract Syntax Trees - Converts markdown text into a structured abstract syntax tree to facilitate programmatic inspection and modification.
  • Markdown Processors - Functions as a comprehensive tool that parses and transforms lightweight markup syntax into structured document types.
  • Markdown Processing - Provides comprehensive libraries for parsing and converting Markdown content into structured data.
  • Parsing and Serialization - Enables the conversion of markdown text into a structured syntax tree and back again for programmatic manipulation.
  • Markdown Extensions - Supports custom markdown flavors and syntax extensions through a flexible plugin system.
  • Plugin-Based Syntax Extensions - Enables the introduction of new syntax elements like abbreviations and directives into the parsing process.
  • Tree-to-Text Serializers - Converts structured abstract syntax trees back into plain markdown text strings.
  • Markdown Parsers - Provides an engine that interprets markdown syntax to produce a structured JSON abstract syntax tree.
  • AST Transformations - Allows for automated structural changes and content updates by modifying the markdown syntax tree.
  • Transformation Frameworks - Provides a framework for extending Markdown syntax and modifying content through a customizable system of plugins.
  • Unified Document Models - Uses internal data structures that abstract different document formats into a single representation for unified processing.
  • Bidirectional Serializers - Provides the ability to translate between raw markdown strings and structured trees for non-destructive editing.
  • Content Node Transformers - Provides a system for modifying content by inspecting and changing nodes within the abstract syntax tree using plugins.
  • Plugin-Based Architectures - Employs an architecture that extends core functionality through a system of external plugins.
  • AST Transformation Pipelines - Implements a linear sequence of functions that programmatically modify a markdown abstract syntax tree.
  • Serialization - Implements the ability to serialize a structured syntax tree back into a markdown string.
  • Content Transformers - Provides programmatic capabilities to modify markdown elements, such as adjusting heading depths and capitalizing titles.
  • Markdown - Allows the addition of non-standard extensions, flavored markdown, and frontmatter via a plugin system.
  • Markdown Formatting - Checks markdown files for style inconsistencies and automatically rewrites them to ensure consistent formatting.
  • Transformation Logic Definitions - Provides a framework for defining new processing logic to inspect or modify the syntax tree.
  • Markdown to HTML Converters - Transforms Markdown plaintext markup into structured HTML for web display.
  • External Configuration Loading - Supports loading external settings from files to customize plugin behavior and processing runs.
  • Markdown Formatters - Provides a command line interface to enforce consistent formatting and style standards for markdown files.
  • AST Visitor Patterns - Utilizes the visitor design pattern to traverse and transform specific nodes within the markdown abstract syntax tree.
  • Third-Party Plugins - Implements a system for loading external extensions through programmatic methods, CLI flags, or configuration files.
  • Interoperable Syntax Pipelines - Standardizes the flow of data between different syntax trees to enable interoperability with other content processors.
  • Content Linting Pipelines - Provides automated workflows that enforce quality standards and polish documentation content.
  • Markdown Linters - Inspects Markdown files to find style inconsistencies and ensure adherence to best practice guidelines.
  • Parsing Utilities - Markdown processor with plugin support.

Star history

Star history chart for remarkjs/remarkStar history chart for remarkjs/remark

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 remarkjs/remark do?

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.

What are the main features of remarkjs/remark?

The main features of remarkjs/remark are: Markdown Abstract Syntax Trees, Markdown Processors, Markdown Processing, Parsing and Serialization, Markdown Extensions, Plugin-Based Syntax Extensions, Tree-to-Text Serializers, Markdown Parsers.

Which projects share features with remarkjs/remark?

Projects with overlapping indexed features include: xoofx/markdig — Markdig is a markdown parser library that converts text into structured HTML, plain text, or other formats using a… markdown-it/markdown-it — markdown-it is a token-based Markdown compiler and CommonMark-compliant parser that converts structured plaintext… wooorm/remark — Remark is a markdown processor that parses markdown text into a structured JSON abstract syntax tree for programmatic… waylan/python-markdown — Python-Markdown is a library that converts Markdown text into HTML or XHTML documents. It functions as a Unicode text… syntax-tree/mdast — The project provides a standardized abstract syntax tree specification and utility library for parsing, transforming,… russross/blackfriday — Blackfriday is a Go library for parsing and converting Markdown text into HTML, LaTeX, and other structured formats.…

Projects sharing features with Remark

These projects share indexed features with Remark. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
  • markdown-it/markdown-itmarkdown-it avatar

    markdown-it/markdown-it

    21,575View on GitHub↗

    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

    JavaScriptcommonmarkjavascriptmarkdown
    View on GitHub↗21,575
  • 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
  • waylan/python-markdownwaylan avatar

    waylan/Python-Markdown

    4,215View on GitHub↗

    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

    Python
    View on GitHub↗4,215
  • Compare all 30 related projects→