mdast utility to parse markdown.
Use this if you want to use micromark but need an AST. Use remark instead, which includes both to provide a nice interface and hundreds of plugins.
This package is ESM only:
Node 12+ is needed to use it and it must be imported instead of required.
npm:
npm install mdast-util-from-markdownSay we have the following markdown file, example.md:
## Hello, *World*!And our script, example.js, looks as follows:
import fs from 'node:fs'
import {fromMarkdown} from 'mdast-util-from-markdown'
const doc = fs.readFileSync('example.md')
const 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: '!'}
]
}
]
}This package exports the following identifier: fromMarkdown.
There is no default export.
The export map supports the endorsed
development condition.
Run node --conditions development module.js to get instrumented dev code.
Without this condition, production code is loaded.
Parse markdown to a mdast tree.
Value to parse (string or Buffer).
Character encoding to understand doc as when it’s a
Buffer (string, default: 'utf8').
Array of syntax extensions (Array.<MicromarkSyntaxExtension>, default: []).
Passed to micromark as extensions.
Array of mdast extensions (Array.<MdastExtension>, default: []).
Root.
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
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.
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
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.