unified

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

Package: mdast-util-from-markdown@0.8.5

  1. Dependencies: 0·Dependents: 17
  2. mdast utility to parse markdown
  1. markdown 142
  2. util 128
  3. utility 124
  4. unist 120
  5. mdast 89
  6. tree 41
  7. syntax 30
  8. mdast-util 29
  9. ast 29
  10. parse 22
  11. markup 17

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