Named for the Vulcanization process that turns polymers into more durable materials.
vulcanize
is available on npm. For maximium utility, vulcanize
should be installed globally.
npm install -g vulcanize
This will install vulcanize
to /usr/local/bin/vulcanize
.
-h
|--help
: print this message-v
|--version
: print version number-p <arg>
|--abspath <arg>
: use as the "webserver root", make all adjusted urls absolute--exclude <path>
: exclude a subpath from root. Use multiple times to exclude multiple paths. Tags to excluded paths are kept.--strip-excludes
: Exclude a subpath and remove any links referencing it.--implicit-strip
: Like specifying --strip-excludes for all the transitive dependencies of imports specified with--exclude
.--inline-scripts
: Inline external scripts.
The command
vulcanize target.html
will inline the HTML Imports of target.html
and print the resulting HTML to
standard output.
The command
vulcanize target.html > build.html
will inline the HTML Imports of target.html
and print the result to
build.html
.
The command
vulcanize -p "path/to/target/" /target.html
will inline the HTML Imports of target.html
, treat path/to/target/
as the
webroot of target.html, and make all urls absolute to the provided webroot.
The command
vulcanize --exclude "path/to/target/subpath/" --exclude "path/to/target/subpath2/" target.html
will inline the HTML Imports of target.html
that are not in the directory
path/to/target/subpath
nor path/to/target/subpath2
.
If the --strip-excludes
flag is used, the HTML Import <link>
tags that
point to resources in path/totarget/subpath
and path/to/target/subpath2/
will also be removed.
The command
vulcanize --inline-scripts target.html
will inline scripts in target.html
as well as HTML Imports. Exclude flags will apply to both Imports and Scripts.
Vulcanize as a library has two exported function.
vulcanize.setOptions
takes an object of options similar to the command line
options.
abspath
: A folder to treat as "webroot".- When specified, use an absolute path to
target
.
- When specified, use an absolute path to
excludes
: An array of RegExp objects to exclude paths from being inlined.stripExcludes
: Remove paths that were excluded by the regexes inexcludes
.inlineScripts
: Inline external scripts
vulcanize.process
takes a target
path to target.html
and a callback.
Example:
var vulcan = require('vulcanize');
var hydrolysis = require('hydrolysis');
vulcan.setOptions({
abspath: '',
excludes: [
],
stripExcludes: false,
inlineScripts: false
});
vulcan.process(target, function(err, inlinedHtml) {
});
--csp
mode has been moved into crisper--strip
mode was removed, use something like html-minifier or minimize