node package manager

simple-html-index

a simple HTML index through stream

simple-html-index

stable

A tiny through stream that returns a bare-bones HTML5 template with an optional <link> and <title> in the head and <script> entry-point in the body.

Example

In html.js

var html = require('simple-html-index')
 
html({ title: 'hello', entry: 'bundle.js' })
  .pipe(process.stdout)

Now run node html.js > index.html and you would end up with a file that looks like this: (after formatting)

<!DOCTYPE html>
<html lang="en">
<head>
  <title>hello</title>
  <meta charset="utf-8">
</head>
<body>
  <script src="bundle.js"></script> 
</body>
</html>

Usage

NPM

stream = html([opt])

Returns a read stream that writes a bare-bones HTML template, with the following optional features:

  • title whether to include a <title> element
  • entry if specified, will add a <script src={{entry}}> element
  • css if specified will add a <link rel="stylesheet" href={{css}}> element
  • favicon if true the favicon.ico request will be suppressed
  • lang the value of the lang attribute in the root <html> element, default 'en'
  • base if specified will add a <base href={{base}}> element

Additional properties

Combine simple-html-index with hyperstream to add additional properties to html. An example how to add an extra <script> tag to the body tag:

const hyperstream = require('hyperstream')
const html = require('simple-html-index')
 
const htmls = html({ entry: 'static/bundle.js' })
const hs = hyperstream({
  body: { _appendHtml: "<script>console.log('extra tags!')</script>" }
})
 
htmls.pipe(hs).pipe(process.stdout)

License

MIT, see LICENSE.md for details.