Package Exports
- mdast-util-gfm
- mdast-util-gfm/from-markdown
- mdast-util-gfm/to-markdown
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mdast-util-gfm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
mdast-util-gfm
Extension for mdast-util-from-markdown
and/or
mdast-util-to-markdown
to support GitHub flavored markdown in
mdast.
When parsing (from-markdown
), must be combined with
micromark-extension-gfm
.
You probably shouldn’t use this package directly, but instead use
remark-gfm
with remark.
Alternatively, the extensions can be used separately:
syntax-tree/mdast-util-gfm-autolink-literal
— support GFM autolink literalssyntax-tree/mdast-util-gfm-strikethrough
— support GFM strikethroughsyntax-tree/mdast-util-gfm-table
— support GFM tablessyntax-tree/mdast-util-gfm-task-list-item
— support GFM tasklists
Install
npm:
npm install mdast-util-gfm
Use
Say we have the following file, example.md
:
# GFM
## Autolink literals
www.example.com, https://example.com, and contact@example.com.
## Strikethrough
~one~ or ~~two~~ tildes.
## Table
| a | b | c | d |
| - | :- | -: | :-: |
## Tasklist
* [ ] to do
* [x] done
And our script, example.js
, looks as follows:
var fs = require('fs')
var fromMarkdown = require('mdast-util-from-markdown')
var toMarkdown = require('mdast-util-to-markdown')
var syntax = require('micromark-extension-gfm')
var gfm = require('mdast-util-gfm')
var doc = fs.readFileSync('example.md')
var tree = fromMarkdown(doc, {
extensions: [syntax()],
mdastExtensions: [gfm.fromMarkdown]
})
console.log(tree)
var out = toMarkdown(tree, {extensions: [gfm.toMarkdown()]})
console.log(out)
Now, running node example
yields:
{
type: 'root',
children: [
{type: 'heading', depth: 1, children: [{type: 'text', value: 'GFM'}]},
{
type: 'heading',
depth: 2,
children: [{type: 'text', value: 'Autolink literals'}]
},
{
type: 'paragraph',
children: [
{
type: 'link',
title: null,
url: 'http://www.example.com',
children: [{type: 'text', value: 'www.example.com'}]
},
{type: 'text', value: ', '},
{
type: 'link',
title: null,
url: 'https://example.com',
children: [{type: 'text', value: 'https://example.com'}]
},
{type: 'text', value: ', and '},
{
type: 'link',
title: null,
url: 'mailto:contact@example.com',
children: [{type: 'text', value: 'contact@example.com'}]
},
{type: 'text', value: '.'}
]
},
{
type: 'heading',
depth: 2,
children: [{type: 'text', value: 'Strikethrough'}]
},
{
type: 'paragraph',
children: [
{
type: 'delete',
children: [{type: 'text', value: 'one'}]
},
{type: 'text', value: ' or '},
{
type: 'delete',
children: [{type: 'text', value: 'two'}]
},
{type: 'text', value: ' tildes.'}
]
},
{type: 'heading', depth: 2, children: [{type: 'text', value: 'Table'}]},
{
type: 'table',
align: [null, 'left', 'right', 'center'],
children: [
{
type: 'tableRow',
children: [
{type: 'tableCell', children: [{type: 'text', value: 'a'}]},
{type: 'tableCell', children: [{type: 'text', value: 'b'}]},
{type: 'tableCell', children: [{type: 'text', value: 'c'}]},
{type: 'tableCell', children: [{type: 'text', value: 'd'}]}
]
}
]
},
{type: 'heading', depth: 2, children: [{type: 'text', value: 'Tasklist'}]},
{
type: 'list',
ordered: false,
start: null,
spread: false,
children: [
{
type: 'listItem',
spread: false,
checked: false,
children: [
{type: 'paragraph', children: [{type: 'text', value: 'to do'}]}
]
},
{
type: 'listItem',
spread: false,
checked: true,
children: [
{type: 'paragraph', children: [{type: 'text', value: 'done'}]}
]
}
]
}
]
}
# GFM
## Autolink literals
[www.example.com](http://www.example.com), <https://example.com>, and <contact@example.com>.
## Strikethrough
~~one~~ or ~~two~~ tildes.
## Table
| a | b | c | d |
| - | :- | -: | :-: |
## Tasklist
* [ ] to do
* [x] done
API
gfm.fromMarkdown
gfm.toMarkdown(options?)
Note: the separate extensions are also available at
mdast-util-gfm/from-markdown
andmdast-util-gfm/to-markdown
.
Support GFM.
The exports of fromMarkdown
is an extension for
mdast-util-from-markdown
.
The export of toMarkdown
is a function that can be called with options and
returns an extension for mdast-util-to-markdown
.
options
Passed as options
to mdast-util-gfm-table
.
The exports are extensions, respectively
for mdast-util-from-markdown
and
mdast-util-to-markdown
.
Related
remarkjs/remark
— markdown processor powered by pluginsremarkjs/remark-gfm
— remark plugin to support GFMmicromark/micromark
— the smallest commonmark-compliant markdown parser that existsmicromark/micromark-extension-gfm
— micromark extension to parse GFMsyntax-tree/mdast-util-from-markdown
— mdast parser usingmicromark
to create mdast from markdownsyntax-tree/mdast-util-to-markdown
— mdast serializer to create markdown from mdast
Contribute
See contributing.md
in syntax-tree/.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.