pattern-lab-minify-html
Version:
The Minify HTML Plugin allows [Pattern Lab Node](https://github.com/pattern-lab/patternlab-node) users to minify and beautify the HTML template of all patterns. If the right options are passed, HTML errors like empty attributes can be prevented (id="" and
83 lines (59 loc) • 2.67 kB
Markdown
# Minify and Beautify Plugin for Pattern Lab Node
The Minify HTML Plugin allows [Pattern Lab Node](https://github.com/pattern-lab/patternlab-node) users to minify and beautify the HTML template of all patterns. If the right options are passed, HTML errors like empty attributes can be prevented (id="" and class="") and the production code size can be reduced.
## Installation
To add the Tab Plugin to your project using [npm](http://npmjs.com/) type:
npm install pattern-lab-minify-html
Or add it directly to your project's `package.json` file and run `npm install`
During installation, the plugin is added as a key to the `plugins` object in your main Pattern Lab project's `patternlab-config.json` file
> If you don't see this object, try running `npm run postinstall` within the root of your project.
## Configuration
Post-installation, you will see the following in your `patternlab-config.json`:
Example:
```
"pattern-lab-minify-html": {
"enabled": true,
"initialized": false,
"options": {
"minify": { },
"beautify": { },
"pluginOptions": {
"verbose": false
}
}
}
```
### Minification
The generated HTML will be minified using [html-minifier](https://github.com/kangax/html-minifier). The following options can be used as an example:
```
"options": {
"minify": {
"removeEmptyAttributes": true,
"preserveLineBreaks": true,
"keepClosingSlash": true,
"removeComments": true,
"conservativeCollapse": true,
"collapseWhitespace": true
},
...
},
```
To use custom [html-minifier options](https://github.com/kangax/html-minifier#options-quick-reference)
pass an object to `minify`
To disable minification during production mode set the `minify` option to `false`.
### Beautification
The generated HTML will be beautified using [js-beautify](https://github.com/beautify-web/js-beautify). The following options can be used as an example:
```
"options": {
...
"beautify": {
"intent_size": 4,
"end_with_newline": true,
"inline": true
}
},
```
To use custom [js-beautify options](https://github.com/beautify-web/js-beautify#css--html)
pass an object to `beautify`
To disable beatification during production mode set the `beautify` option to `false`.
## Enabling / Disabling the Plugin
After install, you may manually enable or disable the plugin by finding the `plugin-node-minify-html` key within your main Pattern Lab project's `patternlab-config.json` file and setting the `enabled` flag. In the future this will be possible via CLI.