# Layout front matter data inheritance

**URL:** <https://talk.jekyllrb.com/t/layout-front-matter-data-inheritance/10284>\
**Category:** Help\
**Created:** [February 9, 2026, 2:11am UTC](https://talk.jekyllrb.com/t/layout-front-matter-data-inheritance/10284 "2026-02-09T02:11:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![arghc](https://avatars.discourse-cdn.com/v4/letter/a/9fc348/32.png) [@arghc](https://talk.jekyllrb.com/u/arghc)\
**Post date:** [February 9, 2026, 2:11am UTC](https://talk.jekyllrb.com/t/layout-front-matter-data-inheritance/10284/1 "2026-02-09T02:11:17Z")

</div>

Created a test to check inheritance of front matter variables to check how it works before programming something that depends on that.

There are 3 layers of templates like so:

outer.html

```auto
---
layout: middle
vari: "outer test vari"
---
<h1>outer</h1>
<h2>{{ page.vari }}</h2>
<h3>{{ layout.vari }}</h3>
{{ content }}

```

middle.html

```auto
---
layout: inner
vari: "middle test vari"
---
<h1>middle</h1>
<h2>{{ page.vari }}</h2>
<h3>{{ layout.vari }}</h3>
{{ content }}

```

inner.html

```auto
---
layout: default
vari: "inner test vari"
---
<h1>inner</h1>
<h2>{{ page.vari }}</h2>
<h3>{{ layout.vari }}</h3>
{{ content }}

```

default.html

```auto
<html>
<body>
<h1>default</h1>
<h2>{{ page.vari }}</h2>
<h3>{{ layout.vari }}</h3>
    {{ content }}
</body>
</html>

```

layertest.html

```auto
---
title: Layer Test
layout: outer
vari: "layer test vari"
---
<p>Layer test content.</p>
<h1>page: {{ page.vari }}</h1>
<h2>layout: {{ layout.vari }}</h2>

```

The `page.vari`, as expected is what was set in the page itself. Now, I was expecting that for each template, the `layout.vari` would be as set in the front matter of the respective file OR the `vari` as set in the previous template. Not so, the `layout.vari` comes only from the outermost/first layout as called from the page itself.

Is it just me, or is that a bug?

```auto
Layer Test
default
layer test vari
outer test vari

inner
layer test vari
outer test vari

middle
layer test vari
outer test vari

outer
layer test vari
outer test vari

Layer test content.
page: layer test vari
layout: outer test vari

```
