A super small (only 3.1kB) javascript library to make html by chaining javascript functions.
var test = html()
    .add('div', {className: 'container', data: { info: 'extraInformation' }})
        .contains('div', {className: 'header'})
            .contains('h5', {className: 'headerTitle', text: 'This is a header'}).end()
        .and('div', {className: 'content'})
            .contains('p', {text: 'This is the content'}).end()
        .end()
    .build();Produces -
<div class="container" data-info="extraInformation">
    <div class="header">
        <h5 class="headerTitle">This is a header</h5>
    </div>
    <div class="content">
        <p>This is the content</p>
    </div>
</div>Run
npm install --save html-chain
You can then access it with var html = require('html-chain');
Download and include the html.js script in your html.
<script type="text/javascript" src="_PATH_TO_html.js_"></script>