[6a3a178] | 1 | # dom-serializer [![Build Status](https://travis-ci.com/cheeriojs/dom-serializer.svg?branch=master)](https://travis-ci.com/cheeriojs/dom-serializer)
|
---|
| 2 |
|
---|
| 3 | Renders a [domhandler](https://github.com/fb55/domhandler) DOM node or an array of domhandler DOM nodes to a string.
|
---|
| 4 |
|
---|
| 5 | ```js
|
---|
| 6 | import render from "dom-serializer";
|
---|
| 7 |
|
---|
| 8 | // OR
|
---|
| 9 |
|
---|
| 10 | const render = require("dom-serializer").default;
|
---|
| 11 | ```
|
---|
| 12 |
|
---|
| 13 | # API
|
---|
| 14 |
|
---|
| 15 | ## `render`
|
---|
| 16 |
|
---|
| 17 | ▸ **render**(`node`: Node \| Node[], `options?`: [_Options_](#Options)): _string_
|
---|
| 18 |
|
---|
| 19 | Renders a DOM node or an array of DOM nodes to a string.
|
---|
| 20 |
|
---|
| 21 | Can be thought of as the equivalent of the `outerHTML` of the passed node(s).
|
---|
| 22 |
|
---|
| 23 | #### Parameters:
|
---|
| 24 |
|
---|
| 25 | | Name | Type | Default value | Description |
|
---|
| 26 | | :-------- | :--------------------------------- | :------------ | :----------------------------- |
|
---|
| 27 | | `node` | Node \| Node[] | - | Node to be rendered. |
|
---|
| 28 | | `options` | [_DomSerializerOptions_](#Options) | {} | Changes serialization behavior |
|
---|
| 29 |
|
---|
| 30 | **Returns:** _string_
|
---|
| 31 |
|
---|
| 32 | ## Options
|
---|
| 33 |
|
---|
| 34 | ### `decodeEntities`
|
---|
| 35 |
|
---|
| 36 | • `Optional` **decodeEntities**: _boolean_
|
---|
| 37 |
|
---|
| 38 | Encode characters that are either reserved in HTML or XML, or are outside of the ASCII range.
|
---|
| 39 |
|
---|
| 40 | **`default`** true
|
---|
| 41 |
|
---|
| 42 | ---
|
---|
| 43 |
|
---|
| 44 | ### `emptyAttrs`
|
---|
| 45 |
|
---|
| 46 | • `Optional` **emptyAttrs**: _boolean_
|
---|
| 47 |
|
---|
| 48 | Print an empty attribute's value.
|
---|
| 49 |
|
---|
| 50 | **`default`** xmlMode
|
---|
| 51 |
|
---|
| 52 | **`example`** With <code>emptyAttrs: false</code>: <code><input checked></code>
|
---|
| 53 |
|
---|
| 54 | **`example`** With <code>emptyAttrs: true</code>: <code><input checked=""></code>
|
---|
| 55 |
|
---|
| 56 | ---
|
---|
| 57 |
|
---|
| 58 | ### `selfClosingTags`
|
---|
| 59 |
|
---|
| 60 | • `Optional` **selfClosingTags**: _boolean_
|
---|
| 61 |
|
---|
| 62 | Print self-closing tags for tags without contents.
|
---|
| 63 |
|
---|
| 64 | **`default`** xmlMode
|
---|
| 65 |
|
---|
| 66 | **`example`** With <code>selfClosingTags: false</code>: <code><foo></foo></code>
|
---|
| 67 |
|
---|
| 68 | **`example`** With <code>selfClosingTags: true</code>: <code><foo /></code>
|
---|
| 69 |
|
---|
| 70 | ---
|
---|
| 71 |
|
---|
| 72 | ### `xmlMode`
|
---|
| 73 |
|
---|
| 74 | • `Optional` **xmlMode**: _boolean_ \| _"foreign"_
|
---|
| 75 |
|
---|
| 76 | Treat the input as an XML document; enables the `emptyAttrs` and `selfClosingTags` options.
|
---|
| 77 |
|
---|
| 78 | If the value is `"foreign"`, it will try to correct mixed-case attribute names.
|
---|
| 79 |
|
---|
| 80 | **`default`** false
|
---|
| 81 |
|
---|
| 82 | ---
|
---|
| 83 |
|
---|
| 84 | ## Ecosystem
|
---|
| 85 |
|
---|
| 86 | | Name | Description |
|
---|
| 87 | | ------------------------------------------------------------- | ------------------------------------------------------- |
|
---|
| 88 | | [htmlparser2](https://github.com/fb55/htmlparser2) | Fast & forgiving HTML/XML parser |
|
---|
| 89 | | [domhandler](https://github.com/fb55/domhandler) | Handler for htmlparser2 that turns documents into a DOM |
|
---|
| 90 | | [domutils](https://github.com/fb55/domutils) | Utilities for working with domhandler's DOM |
|
---|
| 91 | | [css-select](https://github.com/fb55/css-select) | CSS selector engine, compatible with domhandler's DOM |
|
---|
| 92 | | [cheerio](https://github.com/cheeriojs/cheerio) | The jQuery API for domhandler's DOM |
|
---|
| 93 | | [dom-serializer](https://github.com/cheeriojs/dom-serializer) | Serializer for domhandler's DOM |
|
---|
| 94 |
|
---|
| 95 | ---
|
---|
| 96 |
|
---|
| 97 | LICENSE: MIT
|
---|