@starptech/rehype-webparser
v0.10.0
Published
Parses HTML via [**Webparser**](https://github.com/Prettyhtml/prettyhtml/tree/master/packages/webparser) to a [**HAST**](https://github.com/syntax-tree/hast) syntax tree.
Downloads
12,319
Readme
@starptech/rehype-webparser
Parses HTML via Webparser to a HAST syntax tree.
Installation
npm install --save @starptech/rehype-webparser
Usage
This example shows how we parse HTML with Webparser transform it into HAST compatible structure and finally compile that data back to HTML with hast-util-to-html.
Say we have the following file, example.html
:
<!DOCTYPE html>
<title>Hello!</title>
<h1 id="world">World!</h1>
And our script, example.js
, looks as follows:
const vfile = require('to-vfile')
const report = require('vfile-reporter')
const unified = require('unified')
const parse = require('@starptech/rehype-webparser')
const toHTML = require('hast-util-to-html')
// A compiler is needed to inform unified how to transform it back to HTML
function stringify() {
this.Compiler = compiler
function compiler(tree) {
return toHTML(tree)
}
}
unified()
.use(parse)
//.use(yourPlugin)
.use(stringify)
.process(vfile.readSync('example.html'), function(err, file) {
console.error(report(err || file))
console.log(String(file))
})
Now, running node example
yields:
<!doctype html>
<title>Hello!</title>
<h1 id="world">World!</h1>
API
processor.use(webparser[, options])
Configure the processor
to read HTML as input and process a
HAST syntax tree.
options.*
Webparser options.