We The Protesters
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/data-global-custom/) or the full release history.
Menu

Global Data from the Configuration API New in v1.0.0 #

In addition to Global Data Files global data can be added to the Eleventy config object using the addGlobalData method. This is especially useful for plugins.

The first value of addGlobalData is the key that will be available to your templates and the second value is the value of the value returned to the template.

Example #

module.exports = function (eleventyConfig) {
// Values can be static:
eleventyConfig.addGlobalData("myStatic", "static");
// functions:
eleventyConfig.addGlobalData("myFunction", () => new Date());
// or a promise:
eleventyConfig.addGlobalData(
"myFunctionPromise",
() => {
return new Promise((resolve) => {
setTimeout(resolve, 100, "foo");
})
}
);
// or async:
eleventyConfig.addGlobalData(
"myAsyncFunction",
async () => {
return Promise.resolve("hi");
}
);
};

Sources of Data #

When the data is merged in the Eleventy Data Cascade, the order of priority for sources of data is (from highest priority to lowest):

  1. Computed Data
  2. Front Matter Data in a Template
  3. Front Matter Data in Layouts (only in 0.x)
  4. Template Data Files
  5. Directory Data Files (and ascending Parent Directories)
  6. Front Matter Data in Layouts (moved in 1.0)
  7. Configuration API Global Data
  8. Global Data Files

Other pages in Data Cascade: