documentify

Modular HTML bundler

Usage no npm install needed!

<script type="module">
  import documentify from 'https://cdn.skypack.dev/documentify';
</script>

README

documentify stability

npm version build status downloads js-standard-style

Modular HTML bundler.

Usage

  $ documentify [entry-file] [options]

  Options:

    -h, --help        print usage
    -v, --version     print version

  Examples:

    Start bundling HTML
    $ documentify .

    Bundle HTML from a stream
    $ cat index.html | documentify

  Running into trouble? Feel free to file an issue:
  https://github.com/stackhtml/documentify/issues/new

  Do you enjoy using this software? Become a backer:
  https://opencollective.com/choo

Configuring transforms

Command Line

$ documentify ./index.html -t my-transform -t another-transform

package.json

{
  "name": "my-app",
  "version": "1.0.0",
  "private": true,
  "documentify": {
    "transform": [
      "my-transform",
      "another-transform"
    ]
  }
}

Writing transforms

A transform is a regular function that returns a through stream. The through stream can modify the HTML stream, which in turn passes data to the next stream. Together the streams form a pipeline.

var through = require('through2')

module.exports = transform

function transform (opts) {
  return through()
}

API

document = documentify(entry, [html], [opts])

Create a new documentify instance. If entry is a .html file, it'll be used as the source. If entry is falsy and html is a string or readable stream, that will be used as the input instead. Otherwise if entry is falsy and html is omitted, an empty HTML file with just a body and head will be used as the source.

document.transform(fn, [opts])

Pass a transform to the document instance

readableStream = document.bundle()

Create a new readable stream, and start flowing the html through the transforms.

See Also

License

MIT