Black Lives Matter The Equal Justice Initiative We The Protesters Delete Facebook
Eleventy The possum is Eleventy’s mascot

Eleventy Documentation


Eleventy Supplied Data #

Here are a few data values we supply to your page that you can use in your templates:

page Variable Contents: #

let page = {

// URL can be used in <a href> to link to other templates
url: "/current/page/myFile/",

// For permalinks: inputPath filename minus template file extension (New in v0.3.4)
fileSlug: "myFile",

// For permalinks: inputPath minus template file extension (New in v0.9.0)
filePathStem: "/current/page/myFile",

// JS Date Object for current page (used to sort collections)
date: new Date(),

// The path to the original source file for the template
// Note: this will include your input directory path!
inputPath: "./current/page/",

// Depends on your output directory (the default is _site)
// You probably won’t use this: `url` is better.
outputPath: "./_site/current/page/myFile/index.html"

date #

The date associated with the page. Defaults to the content’s file created date but can be overridden. Read more at Content Dates.

fileSlug New in v0.3.4 #

The fileSlug variable is mapped from inputPath and is useful for creating your own clean permalinks.

inputPathpage.fileSlug Result

fileSlug returns information on the parent directory if the file is an index template:

inputPathpage.fileSlug Result
"""" (empty)

filePathStem New in v0.9.0 #

The filePathStem variable is mapped from inputPath and is useful if you’ve inherited a project that doesn’t use clean permalinks.

Careful with this one and remember that Cool URI’s don’t change.

If you absolutely need a file extension on your output, you might use it like this:

Syntax YAML Front Matter
permalink: "{{ page.filePathStem }}.html"

Example Output below is using the above permalink value.

inputPathpage.filePathStem ResultExample Output

Other pages in Using Data: