Stand with Ukraine 🇺🇦
Eleventy
The possum is Eleventy’s mascot

Eleventy Documentation

This is an older version of Eleventy. Go to the newest Eleventy docs (current path: /docs/languages/ejs/) or the full release history.
Menu

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 (the leading slash is important). Does not process front matter in the include file.
✅ Includes (Relative Path, Preprocessor Directive)Relative paths in ejs can leave off the leading slash / or use ./ to use the template’s directory or ../ for the template’s parent directory:
<% include 'user/show' %> or <% include './user/show' %> looks for ./user/show.ejs from the template’s current directory. Does not process front matter in the include file.
✅ Include (pass in Data)<%- include('/user/show', {user: 'Ava'}) %> looks for _includes/user/show.ejs. Does not process front matter in the include file.
✅ Include (Relative Path, pass in Data)Relative paths in ejs can leave off the leading slash / or use ./ to use the template’s directory or ../ for the template’s parent directory:
<%- include('user/show', {user: 'Ava'}) %> or <%- include('./user/show', {user: 'Ava'}) %> looks for ./user/show.ejs from the template’s current directory. Does not process front matter in the include file.

Other pages in Template Languages: