Shared data
Reuse the same data in multiple pages
In the previous step we have created two pages using the same layout, by setting the same layout
variable in each. This can be fine for a few pages but what if you have tens, hundreds, or thousands of pages using the same layout? _data
files to the rescue!
Create a _data file
In your project directory create a _data.yml
file with the following content:
layout: layout.njk
This is a special file containing data accessible by all pages in the same directory or subdirectory. In this file we have defined the variable layout
so all pages have this variable too. There's no need to repeat it in the front matter of all pages so we can remove it there.
layout: layout.njk
---
title: This is my website
---
# Welcome to my website
This is my first page using **Lume,**
a static site generator for Deno.
I hope you enjoy it.
---
title: My second page
---
# Another page
My second page in **Lume**.
This is getting better!
_data
files (and _data
folders) are a very powerful feature of Lume. See shared data documentation for more examples. {.tip}