# jonschlinkert/remarkable

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jonschlinkert-remarkable).**

5,835 stars · 376 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/jonschlinkert/remarkable
- Homepage: https://jonschlinkert.github.io/remarkable/demo/
- awesome-repositories: https://awesome-repositories.com/repository/jonschlinkert-remarkable.md

## Topics

`commonmark` `compile` `docusaurus` `gfm` `javascript` `jonschlinkert` `markdown` `markdown-it` `markdown-parser` `md` `node` `nodejs` `parse` `parser` `syntax-highlighting`

## Description

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 between strict CommonMark, full GFM, or custom rule bundles, while a typographic replacement engine post-processes rendered text to substitute plain punctuation with typographic equivalents. The library also exposes a syntax highlighting hook on fenced code blocks for integration with external highlighting libraries.

Beyond its core parsing capabilities, Remarkable provides automatic URL linking, extended syntax support for tables, footnotes, definition lists, and abbreviations, and configurable typographic enhancements. The documentation covers installation, preset switching, and plugin loading through chained methods for custom parsing and rendering behavior.

## Tags

### Content Management & Publishing

- [Markdown Renderers](https://awesome-repositories.com/f/content-management-publishing/markdown-renderers.md) — Converts Markdown text into HTML with support for CommonMark, extensions, and syntax plugins.
- [CommonMark Compliant Parsers](https://awesome-repositories.com/f/content-management-publishing/commonmark-compliant-parsers.md) — Implements the CommonMark specification for consistent Markdown parsing and HTML rendering.
- [Plugin-Based Syntax Extensions](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/content-processing/markup-attribute-processors/plugin-based-syntax-extensions.md) — Loads third-party or custom plugins to add new syntax rules or transform output. ([source](https://cdn.jsdelivr.net/gh/jonschlinkert/remarkable@master/README.md))
- [Markdown-to-HTML Transpilers](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/markdown-markup-tools/markdown-processors/html-to-markdown-reversion-tools/markdown-to-html-transpilers.md) — Parses Markdown text and outputs HTML using a configurable parser with syntax extensions. ([source](https://cdn.jsdelivr.net/gh/jonschlinkert/remarkable@master/README.md))
- [Markdown Parsers](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/markdown-markup-tools/markdown-processors/markdown-parsers.md) — Provides an extensible Markdown parser implementing CommonMark with plugin-based syntax rules and configurable rendering.
- [Markdown to HTML Converters](https://awesome-repositories.com/f/content-management-publishing/markdown-to-html-converters.md) — Converts Markdown text into HTML output using a configurable parser supporting CommonMark and GFM. ([source](https://cdn.jsdelivr.net/gh/jonschlinkert/remarkable@master/README.md))
- [Extended Syntax Renderers](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/markdown-markup-tools/markdown-tools/markdown-renderers/multi-syntax-renderers/technical-extended-syntax/extended-syntax-renderers.md) — Renders extended Markdown syntax including tables, footnotes, definition lists, and abbreviations. ([source](http://jonschlinkert.github.io/remarkable/demo/))

### Software Engineering & Architecture

- [Parsing Pipeline Plugins](https://awesome-repositories.com/f/software-engineering-architecture/parsing-pipeline-plugins.md) — Loads external plugins through a chained method to add custom parsing or rendering behavior. ([source](https://cdn.jsdelivr.net/gh/jonschlinkert/remarkable@master/README.md))
- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures.md) — Composes parsing and rendering from individually toggleable rules that can be extended by plugins.
- [Inline and Block Rule Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/domain-specific/language-support-definitions/language-parsing-rules/block-level-parsing-rules/inline-and-block-rule-pipelines.md) — Separates parsing into distinct inline and block rule pipelines for targeted customization.

### Web Development

- [Markdown Parser Extensions](https://awesome-repositories.com/f/web-development/web-standards/typography-systems/inline-text-styles/markdown-parser-extensions.md) — Built around a plugin-based rule system where inline and block syntax rules can be toggled, extended, or replaced.
- [GFM Presets](https://awesome-repositories.com/f/web-development/web-standards/typography-systems/inline-text-styles/markdown-parser-extensions/gfm-presets.md) — Ships a preset configuration that enables GitHub Flavored Markdown syntax through toggleable rule bundles.

### Part of an Awesome List

- [Clickable Link Detections](https://awesome-repositories.com/f/awesome-lists/ai/coreference-resolution/link-detection/clickable-link-detections.md) — Automatically converts plain URLs in Markdown content into clickable anchor links.

### Data & Databases

- [Typographic Enhancement](https://awesome-repositories.com/f/data-databases/text-formatting/typographic-enhancement.md) — Ships a configurable engine that replaces plain punctuation with typographic equivalents like smart quotes and dashes.

### Development Tools & Productivity

- [Syntax Rule Presets](https://awesome-repositories.com/f/development-tools-productivity/strictness-preset-configurators/syntax-rule-presets.md) — Provides predefined rule configurations for switching between CommonMark, GFM, or custom presets.
- [Individual Rule Toggles](https://awesome-repositories.com/f/development-tools-productivity/strictness-preset-configurators/syntax-rule-presets/individual-rule-toggles.md) — Allows fine-grained control over which Markdown syntax rules are active during parsing. ([source](https://cdn.jsdelivr.net/gh/jonschlinkert/remarkable@master/README.md))

### User Interface & Experience

- [Markdown and Syntax Highlighting](https://awesome-repositories.com/f/user-interface-experience/markdown-and-syntax-highlighting.md) — Exposes a syntax highlighting hook on fenced code blocks for integration with external highlighting libraries.
- [Code Block Highlighting Hooks](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/code-presentation-utilities/code-line-highlighting/syntax-highlighting/code-block-highlighting-hooks.md) — Provides a callback hook on fenced code blocks for delegating syntax highlighting to external libraries.
- [Syntax Highlighting Integrations](https://awesome-repositories.com/f/user-interface-experience/syntax-highlighting-integrations.md) — Applies syntax highlighting to code blocks by integrating with external highlighter libraries. ([source](http://jonschlinkert.github.io/remarkable/demo/))
