HyperFluxCMS

Fast. Flexible. Free.

HyperFluxCMS

Variable Reference Guide

List of HyperFluxCMS variables

published 01/01/2025 15:30, updated 04/13/2026 22:37

See the list of HyperFluxCMS Variables that you can use in the page code.

Variable Types

HyperFluxCMS allows the use of two types of variables in templates and page contents. Compile-time variables and Runtime variables.

Compile-time Variables

Compile-time variables are evaluated and replaced by their respective values at the moment the post is created or edited.

They can be used, for example, to insert the title of the page itself into the middle of the text, or the date of the last update.

A Compile-time variable is indicated using the "@" symbol followed by "C" or "c" (for Compile-time), then ":" and then the variable name, all without spaces or line breaks.

For example, @c:page.title is replaced by the page title.

Compile-Time Variables List

name meaning
page.title Returns the post title.
page.subtitle Returns the post subtitle.
page.summary Returns the post summary.
page.coverimage Returns the filename of the post's cover image.
page.category Returns the first category the post belongs to.
page.permalink Returns the permanent link to the post (without including the site name).
page.id Returns a unique and immutable identifier number for the post in the database. Note that when using the "Backup/Restore" option or migrating the site to another server, or recreating the site, page.id may change.
page.categories Returns a comma and space separated list of categories the post belongs to.
page.tags Returns a comma and space separated list of tags marked on the post.
page.keywords Returns a comma and space separated list of keywords marked on the post.
page.authorname Returns the name of the original author of the post.
page.authorusername Returns the username of the original author of the post.
page.creationdate Returns the creation date and time of the post, in the format yyyy-mm-dd hh:mm. For example, 2024-09-24 14:35.
page.editiondate Returns the date and time of the last time the post was edited, in the same format as page.creationdate. If the post was written and never edited, this value is equal to page.creationdate.
page.userdata1 Returns the data entered in User Data 1 in the page settings. Reserved for future use.
page.userdata2 Returns the data entered in User Data 2 in the page settings. Reserved for future use.
page.userdata3 Returns the data entered in User Data 3 in the page settings. Reserved for future use.

Runtime Variables

Runtime variables are evaluated and replaced by their respective values at the moment the post is accessed by the site visitor.

They can be used, for example, to insert the site name or the original Web address of the site into the middle of the text.

A Runtime variable is indicated using the "@" symbol followed by "R" or "r" (for Runtime), then ":" and then the variable name, all without spaces or line breaks.

For example, @r:site.name is replaced by the Site Name, as configured in the Site Settings options.

Runtime Variables List

name meaning
site.name Returns the site name, as provided on the site settings page.
site.subtitle Returns the site subtitle, as provided on the site settings page.
site.homeurl Returns the site name, as provided on the site settings page.
site.copyrightinfo Returns the site's copyright information text, as provided on the site settings page.
system.errorname Used on error pages. Returns the name of the error that caused the error page to load.
system.errordesc Used on error pages. Returns the description of the error that caused the error page to load.
system.errorcode Used on error pages. Returns the error code that caused the error page to load.
system.search-query-plain Returns the search query that called the page. Can be used in javascript for pages with a more interactive experience.
author.name Returns the name of the original author of the post.
author.username Returns the username of the original author of the post.
author.about Returns the text ("Bio", "About", "About me") of the original author of the post.

Author Data

There is some overlap between page.authorname and author.name. It may seem like they do the same thing. But there is a subtle difference.

The page.authorname variable is evaluated at Compile Time. If when the post was posted or updated, the author's name was John Doe, all references to the @c:page.authorname variable are replaced by "John Doe" at the moment the post is saved, and the code is written that way until it eventually gets updated again. If the author later updates their name to "John Smith Doe", posts that had already been saved with "John Doe" are not automatically updated.

The author.name variable is evaluated at Runtime. The post is saved not with the variable's current value, but with markup telling HyperFluxCMS to fetch and send the updated information whenever the post is accessed. If the post was saved when the user was called John Doe, but when it was accessed the user had already updated their name to "John Smith Doe", the page displayed to the visitor will already have the updated data.

The disadvantage of using the second form is that it implies a slightly higher overhead. That is, it requires a little more processing and memory from the server where your site is hosted. But for the vast majority of sites, the difference is imperceptible, even with thousands of daily accesses.

The same applies to the page.authorusername (Compile-time) and author.username (Runtime) variables.