What can an 11ty plugin do?
An 11ty plugin is, at its core, a portable configuration file that can be installed via npm into new projects. Each plugin defines a set of functionality in the eleventy.config.js
file.
Anything possible in a regular 11ty project is possible in an 11ty plugin, such as the following:
- Custom filters
- Custom shortcodes
- Global data creation
- 11ty events
- Custom template language support (e.g., adding Sass support or JavaScript compiling support)
- 11ty output transformations (e.g., minifying HTML)
- Conditionally adding or removing files
Anything you can do from within the eleventy.config.js
file is possible. While the preceding list has many common use cases, there are plenty more. After going through the examples in this chapter, set your sights on other common use cases that you’d like to streamline for yourself.
Let’s start by creating a basic plugin to allow a project to have access to three shortcodes...