Content Dates #
Setting a Content Date in Front Matter #
Add a date
key to your front matter to override the default date (file creation) and customize how the file is sorted in a collection.
---
date: 2016-01-01
---
---
date: Last Modified
---
Valid date
values:
Last Modified
: automatically resolves to the file’s last modified dateCreated
: automatically resolves to the file’s created date (default, this is what is used whendate
is omitted).2016-01-01
or any other valid YAML date value (leaving off the time assumes midnight in UTC, or00:00:00Z
)"2016-01-01"
or any other valid UTC string that Luxon’sDateTime.fromISO
can parse (see also the Luxon API docs).
If a date
key is omitted from the file, the date is assumed to be:
- If the file name has a
YYYY-MM-DD
format (anywhere), this date is used. - File creation date.
date
in your templates? The date
value will likely not be of much use, since Eleventy performs no transformation on this front matter value. You probably want page.date
instead. Check out the values available in the page
variable.Dates off by one day? #
You’re probably displaying UTC dates in a local time zone.
Many date formats in Eleventy (when set in your content‘s filename as YYYY-MM-DD-myfile.md
or in your front matter as date: YYYY-MM-DD
) assume midnight in UTC. When displaying your dates, make sure you’re using the UTC time and not your own local time zone, which may be the default.
Example #
---
date: 2018-01-01
---
{{ page.date }} will display a local time zone date.
Mon Jan 01 2018 00:00:00 GMT+0000 (Coordinated Universal Time)
{{ page.date.toString() }} will display a local time zone date.
Mon Jan 01 2018 00:00:00 GMT+0000 (Coordinated Universal Time)
{{ page.date.toUTCString() }} will display a UTC time zone date.
Mon, 01 Jan 2018 00:00:00 GMT
Collections out of order when you run Eleventy on your Server? #
Be careful relying on the default date
associated with a piece of content. By default Eleventy uses file creation dates, which works fine if you run Eleventy locally but may reset in some conditions if you run Eleventy on a Continuous Integration server. Work around this by using explicit date assignments, either in your front matter or your content’s file name. Read more at Content Dates.