hast-util-to-parse5

hast utility to transform hast to Parse5’s AST

Usage no npm install needed!

<script type="module">
  import hastUtilToParse5 from 'https://cdn.skypack.dev/hast-util-to-parse5';
</script>

README

hast-util-to-parse5

Build Coverage Downloads Size Sponsors Backers Chat

hast utility to transform to Parse5’s AST.

Q: Why not use a Parse5 adapter? A: Because it’s more code weight to use adapters, and much more fragile.

Install

This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

npm:

npm install hast-util-to-parse5

Use

import {toParse5} from 'hast-util-to-parse5'

var ast = toParse5({
  type: 'element',
  tagName: 'h1',
  properties: {},
  children: [{type: 'text', value: 'World!'}]
})

console.log(ast)

Yields:

{ nodeName: 'h1',
  tagName: 'h1',
  attrs: [],
  namespaceURI: 'http://www.w3.org/1999/xhtml',
  childNodes: [ { nodeName: '#text', value: 'World!', parentNode: [Circular] } ] }

API

This package exports the following identifiers: toParse5. There is no default export.

toParse5(tree[, space])

Transform a hast tree to Parse5’s AST.

space

Whether the root of the given tree is in the 'html' or 'svg' space (enum, 'svg' or 'html', default: 'html').

If an svg element is found in the HTML space, toParse5 automatically switches to the SVG space when entering the element, and switches back when exiting.

Security

Use of hast-util-to-parse5 can open you up to a cross-site scripting (XSS) attack if the hast tree is unsafe.

Related

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