1.1.6 • Published 3 months ago

@homebots/parse-html v1.1.6

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

parse-html

Short and strict HTML parser.

Output format: a tree of objects, starting with a root Document node.

Element and Document nodes can have children, which are any of Text, Comment or Element.

API

import { parse, serialize, materialize, normalize } from '@homebots/parse-html';

const document = parse(`
<html>
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <div>text<br>text</div>
  </body>
</html>`);

console.log(document);

// remove empty text nodes
normalize(document);

// create HTML from document
console.log(serialize(document));

// create DOM elements from document
console.log(materialize(document, (element, node) => {
  // do something with the new element
  // return element or something new
}));

Node types

Document

{
  "type": "document",
  "docType": "html",
  "children": []
}

Comment

{
  "type": "comment",
  "text": "an html comment"
}

Text

{
  "type": "text",
  "text": "a text\nnode with line breaks"
}

Element

{
  "type": "element",
  "tag": "input",
  "selfClose": true,
  "children": [],
  "attributes": [{ "name": "type", "value": "text" }]
}
1.1.6

3 months ago

1.1.5

3 months ago

1.1.4

3 months ago

1.1.3

3 months ago

1.1.1

4 months ago

1.1.0

4 months ago

1.1.2

4 months ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago