Renders PostHTML Tree to HTML/XML
npm install posthtml-render[![npm][npm]][npm-url]
[![node]]()
[![tests][tests]][tests-url]
[![coverage][cover]][cover-url]
Renders a PostHTML Tree to HTML/XML
``bash`
npm i -D posthtml-render
`js
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);
`
`html`
|Name|Type|Default|Description|
|:--:|:--:|:-----:|:----------|
|singleTags|{Array|[]|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)
`js
const render = require('posthtml-render')
const tree = [ { tag: 'name' } ]
const options = { singleTags: [ 'name' ] }
const html = render(tree, options)
`
result.html
`html`
#### {RegExp}
`js
const render = require('posthtml-render')
const tree = [ { tag: '%=title%' } ]
const options = { singleTags: [ /^%.*%$/ ] }
const html = render(tree, options)
`
result.html
`html`
<%=title%>
Specify the single tag closing format
#### Formats
`js
const render = require('posthtml-render')
const tree = [ { tag: 'img' } ]
`
##### 'tag'
`js`
const html = render(tree, { closingSingleTag: 'tag' })
`html`
##### 'slash'
`js`
const html = render(tree, { closingSingleTag: 'slash' })
`html`
##### 'default' (Default)
`js`
const html = render(tree)
`html`
##### 'closeAs'
`jstag
const tree = [ {
tag: 'custom',
closeAs: 'default' // Available types: | slash | default`
} ]
const html = render(tree, { closingSingleTag: 'closeAs' })
`html`
Specify if all attributes should be quoted.
##### true (Default)
`html`
##### false
`html`
Replaces quotes in attribute values with "e;.
##### true (Default)
`html`
##### false
`html`">
##### 2 (Default)
Attribute values are wrapped in double quotes:
`html`
##### 1
Attribute values are wrapped in single quote:
`html`
##### 0
Quote style is based on attribute values (an alternative for replaceQuote option):
`html``
[npm]: https://img.shields.io/npm/v/posthtml-render.svg
[npm-url]: https://npmjs.com/package/posthtml-render
[node]: https://img.shields.io/node/v/posthtml-render.svg
[node-url]: https://img.shields.io/node/v/posthtml-render.svg
[tests]: http://img.shields.io/travis/posthtml/posthtml-render.svg
[tests-url]: https://travis-ci.org/posthtml/posthtml-render
[cover]: https://coveralls.io/repos/github/posthtml/posthtml-render/badge.svg
[cover-url]: https://coveralls.io/github/posthtml/posthtml-render