Node files support headers. You can define any custom headers you want, and reference them in substitution parameters.
The headers listed on this page also have special meanings, and are interpreted directly in various ways by Uriel.
Some special headers can be set on any node, while others will only take effect if they are set on the root node (index).
These headers will take effect on any node.
| Header | Default | Notes |
|---|---|---|
| Title | <inferred> | Page title |
| Escape-Title | true | HTML escape title |
| Template | default.html | Template file |
| Format | html | html or text |
| Created | date -Is / date +%FT%T | |
| Modified | node mtime | date -Is / date +%FT%T |
| Breadcrumb-Separator | » | Between breadcrumbs |
| Breadcrumb-Separator-Spaces | true | Spaces around separator |
| Flat-URL | false | Move URL path to top |
| Link-Prefix | <p> | For lists of links |
| Link-Suffix | </p> | For lists of links |
| Tags | foo, bar, baz, quux | |
| RSS-Include | false | Include node in RSS |
| RSS-Add-Node-Title-Header | true | Add node title to RSS |
| Sitemap-Include | true | Include node in sitemap |
These headers will only take effect if they are set on the root node.
| Header | Default | Notes |
|---|---|---|
| Canonical-URL | https://example.com | |
| Tag-Node | tag | |
| RSS-URL | /rss.xml | |
| RSS-Description | Site description | |
| RSS-Title | <value of Title> | Site name |
| RSS-Image-URL | /rss-icon.png | |
| RSS-Image-Width | 32 | |
| RSS-Image-Height | 32 | |
| RSS-Max-Entries | 20 | unsigned int |
| Sitemap-URL | /sitemap.xml | |
| Sitemap-Max-Entries | 50000 | unsigned int |
The content nodes form a tree hierarchy, starting with the root node (index). Generally speaking, if a header is set on a node, it will be inherited by all downstream child nodes by default.
As an exception to this general rule, the following headers are specifically not inherited:
To delete an inherited header from the current node:
-Foo: *
To set a header in child nodes, but not the current node:
+Foo: bar
To leave a header alone in the current node, but unset it in child nodes:
+-Foo: *
To set a header in the current node, but unset it in child nodes:
Foo: bar +-Foo: *
Further combinations of + and - can be chained together, but a little bit goes a long way.
The general rule is that each + at the beginning of a header name will push it down one additional level in the node tree, but the first - at the beginning of a header name that gets encountered will remove the header from that node.
By convention, headers are set using Mixed-Case-With-Dashes. However, when they are referenced in substitution parameters, they are referenced in lowercase.
For example, a node might set a header and reference the same header directly like this:
Title: Some Example Node Foo-Bar-Baz-Quux: Some Value Here is the value of Foo-Bar-Baz-Quux: {{value:foo-bar-baz-quux}}
The example above would render in the generated page as:
Here is the value of Foo-Bar-Baz-Quux: Some Value
Tags:
This page was generated by Uriel with the following settings:
Page Details
| Resource | Path | Project File |
|---|---|---|
| Node | headers/index | nodes/headers/index |
| Template | default.html | templates/default.html |
| URL | /headers/ | public/headers/index.html |
Node Headers
| Header (Lowercase) | Value |
|---|---|
| ++-tags | * |
| +tags | headers |
| title | Node Headers |
| breadcrumb-separator | » |
| canonical-url | https://documentation.uriel.foo |
| rss-description | Uriel Documentation |
| rss-image-height | 32 |
| rss-image-url | /favicon-32x32.png |
| rss-image-width | 32 |
| rss-max-entries | 50 |
| rss-title | Uriel Documentation |
| rss-url | /rss.xml |
| sitemap-max-entries | 10000 |
| sitemap-url | /sitemap.xml |
| tag-node | tag |
| template | default.html |
Node Timestamps
| Type | Value |
|---|---|
| Created | |
| Modified | 2026-06-07T23:00:45-04:00 |
Node Methods
| Method | Value |
|---|---|
| get_parent_node() | index |
| get_path() | headers/index |
| get_node_type() | file |
| get_url() | /headers/ |
| get_canonical_url() | https://documentation.uriel.foo/headers/ |
| get_name() | headers |
| get_display_name() | Headers |
| get_title() | Node Headers |
| get_escaped_title() | Node Headers |
| get_link() | <a href="/headers/">Node Headers</a> |
| get_canonical_link() | <a href="https://documentation.uriel.foo/headers/">Node Headers</a> |
| get_link_prefix() | <p> |
| get_link_suffix() | </p> |
| get_tags() | [] |
| get_dest_dir() | ./public/headers |
| get_dest_file() | ./public/headers/index.html |
| get_breadcrumb_separator() | » |