unified

Project: syntax-tree/mdast-util-from-markdown

Package: mdast-util-from-markdown@0.6.0

  1. Dependencies: 3·Dependents: 0
  2. mdast utility to parse markdown
  1. markdown 133
  2. util 118
  3. utility 114
  4. unist 110
  5. mdast 81
  6. tree 42
  7. syntax 32
  8. ast 29
  9. mdast-util 24
  10. parse 22
  11. markup 12

mdast-util-from-markdown

Build Coverage Downloads Size Sponsors Backers Chat

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

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.

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.

License

MIT © Titus Wormer