Page Object
The page object contains data about the current page.
It can include user-provided page data, Markdown frontmatter, content metadata, and structural route metadata.
Structural metadata
Curvea adds these structural fields:
{{ page.route }}
{{ page.slug }}
{{ page.id }}
page.route
The public route beginning with /.
Examples:
/
/about
/blog/my-post
page.slug
The slug value.
For dynamic routes, this can come from the route parameter.
For static routes, it is usually the normalized route path.
Important: page.slug is not always only the final URL segment.
page.id
A normalized page identifier generated from the route.
Examples:
/ -> home
/about -> about
/blog/post -> blog-post
Markdown page fields
Markdown content pages may include:
{{ page.title }}
{{ page.description }}
{{ page.image }}
{{ page.content }}
{{ page.readingTime }}
{{ page.collection }}
{{ page.previous.route }}
{{ page.next.route }}
Content index pages
Collection index pages expose:
{{ collection.name }}
and:
collection.items
through loop usage:
@for item in collection.items
<a href="{{ item.route }}">{{ item.title }}</a>
@end
Reserved globals
CurrentYear is a reserved engine global provided by the Curvea Engine runtime.
It is injected at runtime and cannot be overridden by page data, shared data, or local variables.