An sbt-web plugin that uses html-minifier to minify HTML template files.
Add the plugin to the project/plugins.sbt
of your project:
addSbtPlugin("com.slidingautonomy.sbt" % "sbt-html-minifier" % "1.0.0")
Your project's build file also needs to enable sbt-web plugins. For example with build.sbt:
lazy val root = (project in file(".")).enablePlugins(SbtWeb)
As with all sbt-web asset pipeline plugins, you must declare their order of execution. For example:
pipelineStages := Seq(htmlMinifier)
The plugin is configured with sensible defaults, but can be customized to meet individual requirements. Most of the same configutation options used by the html-minifier package may be specified. For example, to disable comment stripping:
HtmlMinifierKeys.removeComments := false
See the html-minifier home page for information on available options.
By default, the plugin scans the assets directory for any file ending in .htm
or .html
and creates new minified
versions of those files. The files to be processed can be filtered using the includeFilter and excludeFilter settings.
For example, to limit minification to just .tpl.html
template files:
includeFilter in htmlMinifier := "*tpl.html"
The plugin requires that your project have the html-minifier Node module install. The easiest way to do this is to include a package.json file at the root of your project:
{
"dependencies": {
"html-minifier": "^0.6.3"
}
}