Skip to content

5t3ph/eleventy-plugin-template

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Eleventy Plugin Template

A starter environment for creating plugins for Eleventy (11ty).

Fork this repo, or select "Use this template" to get started.

Using this template

This template is setup to run a single page 11ty site for testing your plugin functionality. The build files are excluded from the final plugin package via .npmignore.

Your plugin functionality should live in/be exported from .eleventy.js. You will find a sample of creating a filter plugin in this template, including setting up a default config and merging user options.

Be sure to update the package.json with your own details!

Testing your plugin

You can test your functionality within this project's local 11ty build by running npm start, but you'll also want to test it as a plugin.

From another local 11ty project, you can set the require() path relatively to your plugin's project directory, and then use it just as you would for a plugin coming from a package.

Example, assuming you place all your repositories within the same parent directory:

const pluginName = require("../plugin-directory");

module.exports = (eleventyConfig) => {
  eleventyConfig.addPlugin(pluginName, { optionName: 'if needed' );
};

Then, run the project to test the plugin's functionality.

Note that making changes in the plugin source will likely require restarting the test project.

Resources for creating an 11ty plugin


The following is a boilerplate for your final plugin README.

Usage

Describe how to install your plugin, such as:

npm install @scope/plugin-name

Then, include it in your .eleventy.js config file:

const pluginName = require("@scope/plugin-name");

module.exports = (eleventyConfig) => {
  eleventyConfig.addPlugin(pluginName);
};

Config Options

Option Type Default
option name type default value

Config Examples

Show examples of likely configurations.

Credits

Add credits if needed.

About

A starter environment for creating plugins for Eleventy (11ty).

Topics

Resources

Stars

Watchers

Forks