np1
netlify-plugin-11ty
npm i netlify-plugin-11ty
np1

netlify-plugin-11ty

A plugin to make building with Eleventy and Netlify a joy!

by Aravind Reddy V

1.1.0 (see all)License:MITTypeScript:Not Found
npm i netlify-plugin-11ty
Readme

Netlify 11ty Build Plugin

A plugin to make building with Eleventy and Netlify a joy!

Speed up your builds ⚡

Install

Install plugin via npm as dependency:

Note: Till https://github.com/11ty/eleventy-img/pull/116 is merged, please use this fork instead of @11ty/eleventy-img.

npm r @11ty/eleventy-img
npm i zeroby0/eleventy-img#cache
npm i netlify-plugin-11ty

And add the plugin to your netlify.toml file

[[plugins]]
    package = "netlify-plugin-11ty"

Configuration

Optionally, you can configure the plugin to suit your project's needs.

Example:

[[plugins]]
    package = "netlify-plugin-11ty"
    [plugins.inputs]
        cache_img = './img'
        cache_img_httpHeader = false

        cache_assets = '../.cache'
        cache_other = []

The following inputs options are available:

1. cache_img

Type: String or Array of Strings
Default: './img' (relative to the publish directory)

The folder(s) in which files generated by @11ty/eleventy-img are stored, relative to the publish directory. Can be a String or an array of Strings.

If set to false, files generated by @11ty/eleventy-img are not saved in Netlify cache.

2. cache_img_httpHeader

Type: Boolean
Default: false

If set to true, files generated by @11ty/eleventy-img will be served with http header cache-control: public, max-age=31536000, immutable.

Files generated by eleventy_img have a hash calculated using file content and Sharp plugin options in their name by default (starting from #116), so you can cache them indefinitely.

If you are using custom filenames that don't include a hash, this option should be left false (default).

3. cache_assets

Type: String or Array of Strings
Default: '../.cache' (relative to the publish directory)

The folder(s) in which remote assets fetched by @11ty/eleventy-cache-assets are cached, relative to publish directory. Can be a String or an array of Strings.

If set to false, assets fetched by @11ty/eleventy-cache-assets are not saved in Netlify cache.

4. cache_other

Type: String or Array of Strings
Default: [] (relative to the publish directory)

Any other folder(s) you'd like to cache across Netlify builds. If these folders exist before restoring Nelify cache, their content will be merged and overwritten with content from the cached folders.

FAQs

I rimraf my _site on every build

If your images are written to _site/img (default), use rimraf '_site/!(img)'.

If they are in a subdirectory, say _site/assets/images, use rimraf '_site/!(assets)' '_site/assets/!(images)'.

Are there any Benchmarks?

Yes!

The speed-up, ofcourse, depends on how many images your website has, but here is a benchmark I used when developing this plugin:

RunNo cache persistenceWith cache persistence
1st run (empty cache)11.74 seconds11.52 seconds
2nd run (filled cache)11.32 seconds131.82 milliseconds

Read more

Bug Reports, Feature Requests, and Ideas

Please create an issue :)

License

MIT

If you need this repository with a different License, please create an issue.

Downloads/wk

154

GitHub Stars

22

LAST COMMIT

1yr ago

MAINTAINERS

1

CONTRIBUTORS

1

OPEN ISSUES

0

OPEN PRs

0
VersionTagPublished
1.1.0
latest
1yr ago
No alternatives found
No tutorials found
Add a tutorial

Rate & Review

100
No reviews found
Be the first to rate