You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.4 KiB
109 lines
3.4 KiB
# dom-serializer [![Build Status](https://travis-ci.com/cheeriojs/dom-serializer.svg?branch=master)](https://travis-ci.com/cheeriojs/dom-serializer) |
|
|
|
Renders a [domhandler](https://github.com/fb55/domhandler) DOM node or an array of domhandler DOM nodes to a string. |
|
|
|
```js |
|
import render from "dom-serializer"; |
|
|
|
// OR |
|
|
|
const render = require("dom-serializer").default; |
|
``` |
|
|
|
# API |
|
|
|
## `render` |
|
|
|
▸ **render**(`node`: Node \| Node[], `options?`: [_Options_](#Options)): _string_ |
|
|
|
Renders a DOM node or an array of DOM nodes to a string. |
|
|
|
Can be thought of as the equivalent of the `outerHTML` of the passed node(s). |
|
|
|
#### Parameters: |
|
|
|
| Name | Type | Default value | Description | |
|
| :-------- | :--------------------------------- | :------------ | :----------------------------- | |
|
| `node` | Node \| Node[] | - | Node to be rendered. | |
|
| `options` | [_DomSerializerOptions_](#Options) | {} | Changes serialization behavior | |
|
|
|
**Returns:** _string_ |
|
|
|
## Options |
|
|
|
### `encodeEntities` |
|
|
|
• `Optional` **decodeEntities**: _boolean | "utf8"_ |
|
|
|
Encode characters that are either reserved in HTML or XML. |
|
|
|
If `xmlMode` is `true` or the value not `'utf8'`, characters outside of the utf8 range will be encoded as well. |
|
|
|
**`default`** `decodeEntities` |
|
|
|
--- |
|
|
|
### `decodeEntities` |
|
|
|
• `Optional` **decodeEntities**: _boolean_ |
|
|
|
Option inherited from parsing; will be used as the default value for `encodeEntities`. |
|
|
|
**`default`** true |
|
|
|
--- |
|
|
|
### `emptyAttrs` |
|
|
|
• `Optional` **emptyAttrs**: _boolean_ |
|
|
|
Print an empty attribute's value. |
|
|
|
**`default`** xmlMode |
|
|
|
**`example`** With <code>emptyAttrs: false</code>: <code><input checked></code> |
|
|
|
**`example`** With <code>emptyAttrs: true</code>: <code><input checked=""></code> |
|
|
|
--- |
|
|
|
### `selfClosingTags` |
|
|
|
• `Optional` **selfClosingTags**: _boolean_ |
|
|
|
Print self-closing tags for tags without contents. |
|
|
|
**`default`** xmlMode |
|
|
|
**`example`** With <code>selfClosingTags: false</code>: <code><foo></foo></code> |
|
|
|
**`example`** With <code>selfClosingTags: true</code>: <code><foo /></code> |
|
|
|
--- |
|
|
|
### `xmlMode` |
|
|
|
• `Optional` **xmlMode**: _boolean_ \| _"foreign"_ |
|
|
|
Treat the input as an XML document; enables the `emptyAttrs` and `selfClosingTags` options. |
|
|
|
If the value is `"foreign"`, it will try to correct mixed-case attribute names. |
|
|
|
**`default`** false |
|
|
|
--- |
|
|
|
## Ecosystem |
|
|
|
| Name | Description | |
|
| ------------------------------------------------------------- | ------------------------------------------------------- | |
|
| [htmlparser2](https://github.com/fb55/htmlparser2) | Fast & forgiving HTML/XML parser | |
|
| [domhandler](https://github.com/fb55/domhandler) | Handler for htmlparser2 that turns documents into a DOM | |
|
| [domutils](https://github.com/fb55/domutils) | Utilities for working with domhandler's DOM | |
|
| [css-select](https://github.com/fb55/css-select) | CSS selector engine, compatible with domhandler's DOM | |
|
| [cheerio](https://github.com/cheeriojs/cheerio) | The jQuery API for domhandler's DOM | |
|
| [dom-serializer](https://github.com/cheeriojs/dom-serializer) | Serializer for domhandler's DOM | |
|
|
|
--- |
|
|
|
LICENSE: MIT
|
|
|