Necessitates Proper Modularity
Join us to discuss the challenges, solutions and best practices for in-house JavaScript code sharing. Tuesday, 12/17 at 10am PT/1pm ET.Sign up here »

posthtml-render

1.1.5 • Public • Published

npm [node][node-url] deps tests coverage chat

PostHTML

PostHTML Render

Renders a PostHTML Tree to HTML/XML

Install

npm i -D posthtml-render

ℹ️ This module is also available for bower and as an AMD, CommonJS and IIFE (global) module, uncompressed and compressed

Usage

NodeJS

const render = require('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>

🌐 Browser

<!DOCTYPE html>
<html>
<head>
  <title>Title</title>
  <script src="./node_modules/posthtml-render/lib/browser.min.js"></script> 
  <script >
    const tree = {
      tag: 'h1',
      attrs: {
        style: 'color: red;'
      },
      content: [ 'Title' ]
    }
 
    window.onload = function () {
      document.body.innerHTML = render(tree)
    }
  </script> 
</head>
<body></body>
</html>

Options

Name Type Default Description
singleTags {Array<String\|RegExp>} [] Specify custom single tags (self closing)
closingSingleTag {String} > Specify the single tag closing format

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

<name>

{RegExp}

const render = require('posthtml-render')
 
const tree = [ { tag: '%=title%' } ]
const options = { singleTags: [ '/^%.*%$/' ] }
 
const html = render(tree, options)

result.html

<%=title%>

closingSingleTag

Specify the single tag closing format

Formats

const render = require('posthtml-render')
 
const tree = [ { tag: 'img' } ]
'tag'
const html = render(tree, { closingSingleTag: 'tag' })
<custom></custom>
'slash'
const html = render(tree, { closingSingleTag: 'slash' })
<custom />
'default' (Default)
const html = render(tree)
<img></img>

[node-url]:

Install

npm i posthtml-render

DownloadsWeekly Downloads

287,947

Version

1.1.5

License

MIT

Unpacked Size

10.5 kB

Total Files

5

Last publish

Collaborators

  • avatar
  • avatar