Project: micromark/micromark-extension-gfm

Package: micromark-extension-gfm@0.3.2

  1. Dependencies: 6·Dependents: 1
  2. micromark extension to support GFM (GitHub Flavored Markdown)
  1. unified 166
  2. markdown 132
  3. micromark 16
  4. micromark-extension 16
  5. gfm 16
  6. table 12
  7. github 8
  8. strikethrough 4
  9. autolink 4
  10. tagfilter 3
  11. tasklist 2


Build Coverage Downloads Size Sponsors Backers Chat

micromark extension to support GitHub flavored markdown. This extension matches either the GFM spec or github.com (default).

This package provides the low-level modules for integrating with the micromark tokenizer and the micromark HTML compiler.

You probably shouldn’t use this package directly, but instead use mdast-util-gfm with mdast or remark-gfm with remark.

Alternatively, the extensions can be used separately:



npm install micromark-extension-gfm


Say we have the following file, example.md:


## Autolink literals

www.example.com, https://example.com, and contact@example.com.

## Strikethrough

~one~ or ~~two~~ tildes.

## Table

| a | b  |  c |  d  |
| - | :- | -: | :-: |

## Tag filter


## Tasklist

* [ ] to do
* [x] done

And our script, example.js, looks as follows:

var fs = require('fs')
var micromark = require('micromark')
var gfmSyntax = require('micromark-extension-gfm')
var gfmHtml = require('micromark-extension-gfm/html')

var doc = fs.readFileSync('example.md')

var result = micromark(doc, {
  allowDangerousHtml: true,
  extensions: [gfmSyntax()],
  htmlExtensions: [gfmHtml]


Now, running node example yields:

<h2>Autolink literals</h2>
<p><a href="http://www.example.com">www.example.com</a>, <a href="https://example.com">https://example.com</a>, and <a href="mailto:contact@example.com">contact@example.com</a>.</p>
<p><del>one</del> or <del>two</del> tildes.</p>
<th align="left">b</th>
<th align="right">c</th>
<th align="center">d</th>
<h2>Tag filter</h2>
<li><input disabled="" type="checkbox"> to do</li>
<li><input checked="" disabled="" type="checkbox"> done</li>




Note: syntax is the default export of this module, html is available at micromark-extension-gfm/html.

Support GFM or markdown on github.com.

The export of syntax is a function that can be called with options and returns extension for the micromark parser (to tokenize GFM; can be passed in extensions). The export of html is an extension for the default HTML compiler (can be passed in htmlExtensions).


Passed as singleTilde in micromark-extension-gfm-strikethrough.


See contributing.md in micromark/.github for ways to get started. See support.md for ways to get help.

This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.


MIT © Titus Wormer