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 import
ed instead of require
d.
npm:
npm install mdast-util-from-markdown
Say 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.