html-to-obj-mk
v1.0.0
Published
This JavaScript library allows you to parse HTML and convert it into a structured JavaScript object. It's designed to work both in Node.js and in the browser environment.
Readme
HTML to Object Parser
This JavaScript library allows you to parse HTML and convert it into a structured JavaScript object. It's designed to work both in Node.js and in the browser environment.
Installation
You can install this library via npm:
npm install html-to-object-parser
## Usage
### In Node.js
```javascript
const fs = require("fs");
const parseHTML = require("html-to-object-parser");
const fileName = process.argv[2];
if (!fileName) {
console.error("Please provide an HTML file as an argument.");
process.exit(1);
}
fs.readFile(fileName, "utf8", (err, data) => {
if (err) {
console.error(`Error reading file: ${err.message}`);
process.exit(1);
}
const htmlObject = parseHTML(data);
console.log(JSON.stringify(htmlObject, null, 2));
});
```
### In the Browser
```html
<!DOCTYPE html>
<html>
<head>
<script src="htmlToObj.js"></script>
</head>
<body>
<div style="background-color: yellow; font-size: 14px" id="first-div">
Hello, friends
<p class="para" style="font-family: monospace; font-size: 11px">
Lorem ipsum dolor sit
</p>
<footer style="width: auto; height: 100px; color: blue">
<span> This is the end </span>
</footer>
</div>
<script>
const htmlString = document.querySelector("#first-div").outerHTML;
const htmlObject = parseHTML(htmlString);
console.log(JSON.stringify(htmlObject, null, 2));
</script>
</body>
</html>
```
## API
### `parseHTML(html)`
This function parses the given HTML string and returns an object representing the HTML structure.
- `html`: The HTML string to parse.
### `parseElement(element, Node)`
This function recursively parses an HTML element into an object. It's used internally by `parseHTML`.
- `element`: The HTML element to parse.
- `Node`: The Node object from the window environment.
### `parseStyle(style)`
This function parses the CSS style of an HTML element into an object. It's used internally by `parseElement`.
- `style`: The CSS style of an HTML element.