Eleventy(11ty) logo Eleventy
The possum is Eleventy’s mascot
Eleventy 中文文档
Eleventy 5.81s
Remix 40.14s

The Data Cascade


In Eleventy, data is merged from multiple different sources before the template is rendered. The data is merged in what Eleventy calls the Data Cascade.

Sources of Data Jump to heading

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. Template Data Files
  4. Directory Data Files (and ascending Parent Directories)
  5. Front Matter Data in Layouts (this moved in 1.0)
  6. Configuration API Global Data
  7. Global Data Files

Example Jump to heading

Filename my-template.md
title: This is a Good Blog Post
layout: my-layout.njk
Filename _includes/my-layout.njk
title: This is a Very Good Blog Post
author: Zach
- JavaScript

Note that when my-template.md and my-layout.njk share data with the same object key (title and tags), the “leaf template” my-template.md takes precedence.

The data cascade results in the following data when my-template.md is rendered:

Syntax JavaScript
"title": "This is a Good Blog Post",
"author": "Zach",
"tags": [
"layout": "my-layout.njk"

By default in v1.0, Eleventy does a deep data merge to combine Object literals and Arrays. If you want to opt-out of this behavior and revert to a simple top level merge (Object.assign) from the different data sources, you can turn off Data Deep Merge. You can override this on a per-property basis too—read more at the Data Deep Merge documentation.

From the Community Jump to heading

×33 resources courtesy of 11tybundle.dev curated by IndieWeb Avatar for https://www.bobmonsour.com/Bob Monsour

Expand to see 28 more resources.

Other pages in Using Data: