UNPKG

netlify-plugin-minify-html

Version:

A plugin to add HTML minification as a post-processing optimisation in Netlify

66 lines (40 loc) 3.3 kB
# Netlify Plugin - Minify HTML This [plugin](https://www.netlify.com/build/plugins-beta?utm_source=github&utm_medium=plugin-htmlminifier-pnh&utm_campaign=devex) adds the ability to minify the HTML generated by your build. Note: Many SSGs support this as part of their own process so this might not always be necessary. This plugin is agnostic to the tool being used to generate the markup, and acts purely on the markup it finds in `.html` files in the publish folder which [Netlify](https://www.netlify.com?utm_source=github&utm_medium=plugin-htmlminifier-pnh&utm_campaign=devex) is preparing to deploy to [its CDN](https://www.netlify.com/products/edge/?utm_source=github&utm_medium=pluginhtmlminifier-pnh&utm_campaign=devex) following a successful build. ## Installation To include this plugin in your site deployment, use the Netlify UI or file-based installation: ### UI installation You can install this plugin in the Netlify UI from this [direct in-app installation link](https://app.netlify.com/plugins/netlify-plugin-minify-html/install) or from the [Plugins directory](https://app.netlify.com/plugins). ### File-based installation #### 1. Add the plugin as a dependency ```bash # Add the plugin as a dependency of your build npm i -D netlify-plugin-minify-html ``` #### 2. Add the plugin and its options to your netlify.toml You can choose which [deploy contexts](https://docs.netlify.com/site-deploys/overview/?utm_source=github&utm_medium=plugin-htmlminfier-pnh&utm_campaign=devex#deploy-contexts) will include the HTML minification with the `targets` option. You can use the default options for the minification or use `[plugins.inputs.minifierOptions]` to pass options to the minifier. A full list of the [available options](https://www.npmjs.com/package/html-minifier#options-quick-reference) are available from the [html-minfier library](https://www.npmjs.com/package/html-minifier) ```toml # Config for the Netlify Build Plugin: netlify-plugin-minify-html [[plugins]] package = "netlify-plugin-minify-html" # Specify which deploy contexts we'll minify HTML in. # Supports any Deploy Contexts available in Netlify. # https://docs.netlify.com/site-deploys/overview/#deploy-contexts [plugins.inputs] contexts = [ 'production', 'branch-deploy', 'deploy-preview' ] # Optionally, override the default options for the minification # https://github.com/kangax/html-minifier#options-quick-reference [plugins.inputs.minifierOptions] removeComments = false collapseInlineTagWhitespace = false ``` ## Quick try-out You can try out this plugin by deploying [a simple site](https://test-plugin-html-minifer.netlify.app/) which uses it. Clicking the button below will clone [a test site repo](https://github.com/philhawksworth/test-site-netlify-plugin-minify-html), setup a new site [on Netlify](https://netlify.com?utm_source=github&utm_medium=plugin-htmlminifier-pnh&utm_campaign=devex) and deploy the site complete with the plugin configured and operational. [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/philhawksworth/test-site-netlify-plugin-minify-html&utm_source=github&utm_medium=plugin-htmlminifier-pnh&utm_campaign=devex)