remarkable
Markdown parser, done right. Commonmark support, extensions, syntax plugins, high speed - all in one. Gulp and metalsmith plugins available. Used by Facebook, Docusaurus and many others! Use https://github.com/breakdance/breakdance for HTML-to-markdown conversion. Use https://github.com/jonschlinkert/markdown-toc to generate a table of contents.
A JavaScript library that converts Markdown text into HTML, with support for CommonMark, GitHub-Flavored Markdown extras like tables and strikethrough, and optional code highlighting via plugins.
Remarkable is a JavaScript library that converts Markdown text into HTML. Markdown is the lightweight notation used in README files, comment boxes, and documentation systems where you write things like "# Title" or "bold" and they render as formatted text. Remarkable takes that raw Markdown and turns it into the HTML that a browser can display.
It supports the CommonMark specification, which is a formal, well-tested standard for how Markdown should be parsed, along with several popular extensions from GitHub-Flavored Markdown such as tables, strikethrough, and footnotes. A typographer option can automatically convert straight quotes to curly quotes, dashes to proper em-dashes in the output, and common abbreviations like (c) into the copyright symbol.
The library is designed to be configurable. You can turn individual syntax rules on or off, add your own custom rules, or swap in a code-highlighting library to color-code fenced code blocks in the output. Plugins install with a single method call. There are three preset configurations: a default mode similar to GitHub Markdown, a strict CommonMark mode, and a "full" mode that enables everything available.
Remarkable works in both Node.js (installed via npm) and directly in a browser via a CDN script tag. The description notes it is used by Facebook and the Docusaurus documentation platform, among others.
The README is aimed at developers who are integrating a Markdown parser into a project, not at end users composing Markdown. There is no standalone application to run. You import the library into your code, create an instance, call the render method with a Markdown string, and get HTML back.
Where it fits
- Parse user-written Markdown in a web app or Node.js backend and render it as formatted HTML for display.
- Add Markdown support to a documentation system, blog, or comment box by integrating Remarkable into your JavaScript project.
- Enable syntax-highlighted code blocks in your Markdown output by connecting a code-highlighting library as a plugin.
- Use the typographer option to automatically convert straight quotes and dashes to proper typographic characters in rendered output.