Stand with Ukraine 🇺🇦
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-frontmatter/) or the full release history.

Front Matter Data Jump to heading


Add data in your template front matter, like this:

Syntax YAML
title: My page title

<!doctype html>

The above is using YAML syntax. You can use other formats too.

Locally assigned front matter values override things further up the layout chain. Note also that layouts can contain front matter variables that you can use in your local template. Leaf template front matter takes precedence over layout front matter. Read more about Layouts.

Note that only the permalink and eleventyComputed front matter values can contain variables and shortcodes like you would use in the body of your templates. If you need to use variables or shortcodes in other front matter values, use eleventyComputed to set them.

Template Configuration Jump to heading

Eleventy allows many options to control how your template works. The most popular is permalink, which allows you to change where the file goes on the file system. You can set these options in your front matter, or anywhere else in the Data Cascade. Read more about Template Configuration.

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. 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

Alternative Front Matter Formats Jump to heading

Eleventy uses the gray-matter package for front matter processing. gray-matter includes support for YAML, JSON, and even arbitrary JavaScript front matter.

JSON Front Matter Jump to heading

"title": "My page title"
<!doctype html>

JavaScript Front Matter Jump to heading

Note that Liquid templates do not allow executing a function in output {{ currentDate() }}. However, the following example does work in Nunjucks:

Syntax Nunjucks
title: "My page title",
currentDate: function() {
// You can have a JavaScript function here!
return (new Date()).toLocaleString();
<!doctype html>
<!-- … -->
<h1>{{ title }}</h1>
<p>Published on {{ currentDate() }}</p>
<!-- … -->

Add your own format Jump to heading

You can customize Front Matter Parsing in Eleventy to add your own custom format. We have an example to do this with support for TOML.

Advanced: Customize Front Matter Parsing Jump to heading

Configure front matter for customized excerpts, TOML parsing, and more.

Other pages in Data Cascade: