Files
30-seconds-of-code/node_modules/hast-util-raw/readme.md
2019-08-20 15:52:05 +02:00

98 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# hast-util-raw [![Build Status][travis-badge]][travis] [![Coverage Status][codecov-badge]][codecov]
Parse a [HAST][] tree again, with support for embedded `raw` nodes.
One of the reasons to do this is for “malformed” syntax trees: for
example, say theres an `h1` element in a `p` element, this utility
will make them siblings.
Another reason to do this is if raw HTML/XML is embedded in a syntax
tree, such as markdown. If youre working with markdown, use
[`remark-rehype`][remark-rehype] and [`rehype-raw`][rehype-raw].
## Installation
[npm][]:
```bash
npm install hast-util-raw
```
## Usage
```javascript
var h = require('hastscript')
var raw = require('hast-util-raw')
var tree = h('div', [h('h1', ['Foo ', h('h2', 'Bar'), ' Baz'])])
var clean = raw(tree)
console.log(clean)
```
Yields:
```javascript
{ type: 'element',
tagName: 'div',
properties: {},
children:
[ { type: 'element',
tagName: 'h1',
properties: {},
children: [Object] },
{ type: 'element',
tagName: 'h2',
properties: {},
children: [Object] },
{ type: 'text', value: ' Baz' } ] }
```
## API
### `raw(tree[, file])`
Given a [HAST][] tree and an optional [vfile][] (for positional info),
return a new parsed-again [HAST][] tree.
## Contribute
See [`contributing.md` in `syntax-tree/hast`][contributing] for ways to get
started.
This organisation has a [Code of Conduct][coc]. By interacting with this
repository, organisation, or community you agree to abide by its terms.
## License
[MIT][license] © [Titus Wormer][author]
<!-- Definitions -->
[travis-badge]: https://img.shields.io/travis/syntax-tree/hast-util-raw.svg
[travis]: https://travis-ci.org/syntax-tree/hast-util-raw
[codecov-badge]: https://img.shields.io/codecov/c/github/syntax-tree/hast-util-raw.svg
[codecov]: https://codecov.io/github/syntax-tree/hast-util-raw
[npm]: https://docs.npmjs.com/cli/install
[license]: LICENSE
[author]: http://wooorm.com
[hast]: https://github.com/syntax-tree/hast
[remark-rehype]: https://github.com/wooorm/remark-rehype
[rehype-raw]: https://github.com/wooorm/rehype-raw
[vfile]: https://github.com/vfile/vfile
[contributing]: https://github.com/syntax-tree/hast/blob/master/contributing.md
[coc]: https://github.com/syntax-tree/hast/blob/master/code-of-conduct.md