Page properties
Use page.* to access metadata from the current page's frontmatter. These properties let you dynamically reference page values without hardcoding them.
For project-level configuration, see Project properties.
Basic usage
---
author: Jane Smith
---
This guide was written by {{ page.author }}.
Output:
This guide was written by Jane Smith.
Common properties
Date properties
Use page.created and page.lastUpdated when you want to show when a page was first created and when it was last updated.
---
created: 2024-05-14
lastUpdated: 2026-03-01
---
Published: {{ page.created }}
Updated: {{ page.lastUpdated }}
Output:
Published: 2024-05-14
Updated: 2026-03-01
Working with arrays
Access individual items using bracket notation:
---
tags: [guide, tutorial, beginner]
authors: [Alice, Bob, Charlie]
---
First tag: {{ page.tags[0] }}
Second author: {{ page.authors[1] }}
Output:
First tag: guide
Second author: Bob
Nested properties
Access nested objects using dot notation:
---
author:
name: Jane Smith
email: jane@example.com
meta:
title: Custom SEO Title
---
Author: {{ page.author.name }}
Email: {{ page.author.email }}
Meta title: {{ page.meta.title }}
Output:
Author: Jane Smith
Email: jane@example.com
Meta title: Custom SEO Title
Escaping template syntax
Inline escaping
To display literal {{ }} syntax without the template engine processing it, wrap the content in opening {%{ and closing }%} escape tags:
{%{ {{ page.title }} }%}
This is useful when documenting template syntax or showing code samples that include double curly braces.
Page-level escaping
To disable templating for an entire page, set templating: false in the page settings:
---
templating: false
---
Project-level escaping
To disable templating project-wide, update your retype.yml with the following:
templating:
enabled: false