Variable Reference Guide
List of HyperFluxCMS variables
See the list of HyperFluxCMS Variables that you can use in the page code.
HyperFluxCMS allows the use of two types of variables in templates and page contents. Compile-time variables and Runtime 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.
| 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 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.
| 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. |
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.