11ty

Eleventy Documentation

Documentation Pages

EJS

Template Languages:

Eleventy Short NameFile ExtensionNPM Package
ejs.ejsejs

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

EJS Options

Optional: Compile/Render Options

See “Options” on the EJS home page.

module.exports = function(eleventyConfig) {
  eleventyConfig.setEjsOptions({
    // use <? ?> instead of <% %>
    delimiter: "?"
  });
};

Optional: Set your own Library instance

As an escape mechanism for advanced usage, pass in your own instance of the EJS library using the Configuration API.

module.exports = function(eleventyConfig) {
let ejs = require("ejs");
eleventyConfig.setLibrary("ejs", ejs);
};

Supported Features

FeatureSyntax
✅ Include (Preprocessor Directive)<% include /user/show %> looks for _includes/user/show.ejs (does not process front matter)
✅ Include (pass in Data)<%- include('/user/show', {user: 'Ava'}) %> looks for _includes/user/show.ejs (does not process front matter)