Install
Usage
NodeJS
import { render } from 'posthtml-render'; const tree = []; const node = {}; node.tag = 'ul'; node.attrs = { class: 'list' }; node.content = [ 'one', 'two', 'three' ].map((content) => ({ tag: 'li', content })); tree.push(node); const html = render(tree, options);
<ul class="list"> <li>one</li> <li>two</li> <li>three</li> </ul>
Options
| Name | Type | Default | Description |
|---|---|---|---|
singleTags |
{Array<String|RegExp>} |
[] |
Specify custom single tags (self closing) |
closingSingleTag |
{String} |
> |
Specify the single tag closing format |
quoteAllAttributes |
{Boolean} |
true |
Put double quotes around all tags, even when not necessary. |
replaceQuote |
{Boolean} |
true |
Replaces quotes in attribute values with "e;. |
quoteStyle |
{0 or 1 or 2} |
2 |
Specify the style of quote arround the attribute values |
singleTags
Specify custom single tags (self closing)
{String}
const render = require('posthtml-render') const tree = [ { tag: 'name' } ] const options = { singleTags: [ 'name' ] } const html = render(tree, options)
result.html
{RegExp}
const render = require('posthtml-render') const tree = [ { tag: '%=title%' } ] const options = { singleTags: [ /^%.*%$/ ] } const html = render(tree, options)
result.html
closingSingleTag
Specify the single tag closing format
Formats
const render = require('posthtml-render') const tree = [ { tag: 'img' } ]
'tag'
const html = render(tree, { closingSingleTag: 'tag' })
'slash'
const html = render(tree, { closingSingleTag: 'slash' })
'default' (Default)
const html = render(tree)
'closeAs'
const tree = [ { tag: 'custom', closeAs: 'default' // Available types: `tag` | `slash` | `default` } ] const html = render(tree, { closingSingleTag: 'closeAs' })
quoteAllAttributes
Specify if all attributes should be quoted.
true (Default)
false
replaceQuote
Replaces quotes in attribute values with "e;.
true (Default)
<img src="<?php echo $foo["e;bar"e;] ?>">
false
<img src="<?php echo $foo["bar"] ?>">
quoteStyle
2 (Default)
Attribute values are wrapped in double quotes:
<img src="https://example.com/example.png" onload="testFunc("test")">
1
Attribute values are wrapped in single quote:
<img src='https://example.com/example.png' onload='testFunc("test")'>
0
Quote style is based on attribute values (an alternative for replaceQuote option):
<img src="https://example.com/example.png" onload='testFunc("test")'>