npm i -D posthtml-renderimport { 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>| 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 | 
Specify custom single tags (self closing)
const render = require('posthtml-render')
const tree = [ { tag: 'name' } ]
const options = { singleTags: [ 'name' ] }
const html = render(tree, options)result.html
<name>const render = require('posthtml-render')
const tree = [ { tag: '%=title%' } ]
const options = { singleTags: [ /^%.*%$/ ] }
const html = render(tree, options)result.html
<%=title%>Specify the single tag closing format
const render = require('posthtml-render')
const tree = [ { tag: 'img' } ]const html = render(tree, { closingSingleTag: 'tag' })<custom></custom>const html = render(tree, { closingSingleTag: 'slash' })<custom />const html = render(tree)<img>const tree = [ {
  tag: 'custom',
  closeAs: 'default' // Available types: `tag` | `slash` | `default`
} ]
const html = render(tree, { closingSingleTag: 'closeAs' })<custom>Specify if all attributes should be quoted.
<i src="index.js"></i><i src=index.js></i>Replaces quotes in attribute values with "e;.
<img src="<?php echo $foo["e;bar"e;] ?>"><img src="<?php echo $foo["bar"] ?>">Attribute values are wrapped in double quotes:
<img src="https://example.com/example.png" onload="testFunc("test")">Attribute values are wrapped in single quote:
<img src='https://example.com/example.png' onload='testFunc("test")'>Quote style is based on attribute values (an alternative for replaceQuote option):
<img src="https://example.com/example.png" onload='testFunc("test")'>