mdast-util-gfm-task-list-item
Extension for mdast-util-from-markdown and/or mdast-util-to-markdown to support GitHub flavored markdown task list items in mdast. When parsing (from-markdown), must be combined with micromark-extension-gfm-task-list-item.
You probably shouldn’t use this package directly, but instead use remark-gfm with remark.
Install
npm:
npm install mdast-util-gfm-task-list-item
Use
Say we have the following file, example.md:
* [ ] To do
* [x] Done
1. Mixed…
2. [x] …messages
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-task-list-item')
var taskListItem = require('mdast-util-gfm-task-list-item')
var doc = fs.readFileSync('example.md')
var tree = fromMarkdown(doc, {
extensions: [syntax],
mdastExtensions: [taskListItem.fromMarkdown]
})
console.log(tree)
var out = toMarkdown(tree, {extensions: [taskListItem.toMarkdown]})
console.log(out)
Now, running node example yields (positional info removed for the sake of brevity):
{
type: 'root',
children: [
{
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'}]}
]
}
]
},
{
type: 'list',
ordered: true,
start: 1,
spread: false,
children: [
{
type: 'listItem',
spread: false,
checked: null,
children: [
{type: 'paragraph', children: [{type: 'text', value: 'Mixed…'}]}
]
},
{
type: 'listItem',
spread: false,
checked: true,
children: [
{type: 'paragraph', children: [{type: 'text', value: '…messages'}]}
]
}
]
}
]
}
* [ ] To do
* [x] Done
1. Mixed…
2. [x] …messages
API
taskListItem.fromMarkdown
taskListItem.toMarkdown
Note: the separate extensions are also available at
mdast-util-gfm-task-list-item/from-markdownandmdast-util-gfm-task-list-item/to-markdown.
Support task list items. 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-task-list-item— micromark extension to parse GFM task list itemssyntax-tree/mdast-util-from-markdown— mdast parser usingmicromarkto 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.