Note
This plugin is a continuation of eleventy-plugin-files-minifier by Benjamin Rancourt. This repo was seemingly abandoned and left projects with an unresolvable npm vulnerability. All we've done is forked the repo, updated the dependencies, and maintained this repo going forward. All credit goes where it is due!
This plugin allows you to automatically minify files when builting with Eleventy.
It currently supports css
, html
, json
, xml
, xsl
and webmanifest
files.
Why should you minify your files? Simply to reduce the data transfered between your hosting servers and your visitors, even if some of them maybe some bots.
Under the hood, this plugin use the following plugins to minify code:
- pretty-data:
css
,json
,xml
andwebmanifest
- html-minifier-terser:
html
andxsl
Install the dependency with NPM:
npm install @codestitchofficial/eleventy-plugin-minify --save-dev
Open up your Eleventy config file (probably .eleventy.js
) and use addPlugin
:
const eleventyPluginFilesMinifier = require("@codestitchofficial/eleventy-plugin-minify");
module.exports = (eleventyConfig) => {
eleventyConfig.addPlugin(eleventyPluginFilesMinifier);
};
The plugin will automatically minify supported files, you don't need to do anything except the installation!
Make sure that the files you want to minify are currently written by Eleventy. If not, you can easily rename it and add
Front matter options. For example, for the manifest.webmanifest
file, I could rename it as manifest.webmanifest.njk
and add the following code at his top:
---
eleventyExcludeFromCollections: true
permalink: /manifest.webmanifest
---
Increment the version
defined in the package.json
file and run the command below to publish the module in the
registry:
# Dry run
npm publish --dry-run
# For real (are you really sure?)
npm publish --access public
The MIT License (MIT)