mdast-util-from-markdown
mdast utility to parse markdown.
Install
npm:
npm install mdast-util-from-markdown
Use
Say we have the following markdown file, example.md
:
## Hello, *World*!
And our script, example.js
, looks as follows:
var fs = require('fs')
var fromMarkdown = require('mdast-util-from-markdown')
var doc = fs.readFileSync('example.md')
var tree = fromMarkdown(doc)
console.log(tree)
Now, running node example
yields (positional info removed for brevity):
{
type: 'root',
children: [
{
type: 'heading',
depth: 2,
children: [
{type: 'text', value: 'Hello, '},
{
type: 'emphasis',
children: [{type: 'text', value: 'World'}]
},
{type: 'text', value: '!'}
]
}
]
}
API
fromMarkdown(doc[, encoding][, options])
Parse markdown to a mdast tree.
Parameters
doc
Value to parse (string
or Buffer
).
encoding
Character encoding to understand doc
as when it’s a Buffer
(string
, default: 'utf8'
).
options.extensions
Array of syntax extensions (Array.<MicromarkSyntaxExtension>
, default: []
). Passed to micromark
as extensions
.
options.mdastExtensions
Array of mdast extensions (Array.<MdastExtension>
, default: []
).
Returns
Root
.
List of extensions
syntax-tree/mdast-util-directive
— parse directivessyntax-tree/mdast-util-footnote
— parse footnotessyntax-tree/mdast-util-frontmatter
— parse frontmatter (YAML, TOML, more)syntax-tree/mdast-util-gfm
— parse GFMsyntax-tree/mdast-util-gfm-autolink-literal
— parse GFM autolink literalssyntax-tree/mdast-util-gfm-strikethrough
— parse GFM strikethroughsyntax-tree/mdast-util-gfm-table
— parse GFM tablessyntax-tree/mdast-util-gfm-task-list-item
— parse GFM task list itemssyntax-tree/mdast-util-math
— parse mathsyntax-tree/mdast-util-mdx
— parse MDX or MDX.jssyntax-tree/mdast-util-mdx-expression
— parse MDX or MDX.js expressionssyntax-tree/mdast-util-mdx-jsx
— parse MDX or MDX.js JSXsyntax-tree/mdast-util-mdxjs-esm
— parse MDX.js ESM
Security
As Markdown is sometimes used for HTML, and improper use of HTML can open you up to a cross-site scripting (XSS) attack, use of mdast-util-from-markdown
can also be unsafe. When going to HTML, use this utility in combination with hast-util-sanitize
to make the tree safe.
Related
micromark/micromark
— the smallest commonmark-compliant markdown parser that existsremarkjs/remark
— markdown processor powered by pluginssyntax-tree/mdast-util-to-markdown
— serialize mdast to markdown
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.