11ty

Eleventy Documentation

⚠️ This documentation is for an older version. Go to the newest Eleventy docs or check out the full release history.

Documentation Pages

Liquid

Template Languages:

Eleventy Short Name File Extension NPM Package
liquid .liquid liquidjs

You can override a .liquid file’s template engine. Read more at Changing a Template’s Rendering Engine.

Library Options #

Defaults #

Rather than constantly fixing outdated documentation, find getLiquidOptions in Liquid.js. These options are different than the default liquidjs options.

Use your own options #

New in Eleventy v0.2.15: It’s recommended to use the Configuration API to set override the default options above.

module.exports = function(eleventyConfig) {
eleventyConfig.setLiquidOptions({
dynamicPartials: true
});
};

Set your own Library instance #

New in Eleventy v0.3.0: As an escape mechanism for advanced usage, pass in your own instance of the Liquid library using the Configuration API. See all liquidjs options.

⚠️ Not compatible with setLiquidOptions above—this method will ignore any configuration set there.

module.exports = function(eleventyConfig) {
let liquidJs = require("liquidjs");
let options = {
extname: ".liquid",
dynamicPartials: true,
root: ["_includes"]
};
eleventyConfig.setLibrary("liquid", liquidJs(options));
};

Supported Features #

Feature Syntax
✅ Include {% include user %} looks for _includes/user.liquid
✅ Include {% include 'user' %} looks for _includes/user.liquid (quotes around includes require dynamicPartials: true—read more at #72)
✅ Include (pass in Data) {% include 'user' with 'Ava' %}
✅ Include (pass in Data) {% include 'user', user1: 'Ava', user2: 'Bill' %}
✅ Custom Filters {{ name | upper }} Read more about Filters
Eleventy Universal Filters {% name | filterName %} Read more about Filters
✅ Custom Tags {% upper name %} Read more about Filters