HyperFluxCMS

Fast. Flexible. Free.

HyperFluxCMS

HyperCode Metadata

Understand HyperCode Metadata

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

Metadata is complementary information about a post or code. In HyperCode it is useful for automatically providing page information, facilitating batch editing or off-line editing.

Using Metadata tags, it is possible to predefine some aspects of the post being written.

Most of the time, regular post editors/users on a HyperFluxCMS site will not need to know or use metadata. They are mostly used by advanced users, and in the following situations:

  • If you are writing an entire site off-line and want to upload the entire site at once and do not want to configure data such as options, title, and subtitle of each page manually;
  • When you save or restore the site backup, it saves post information in metadata;
  • If you are migrating your site to a new server and are using the save/restore backup option;
  • If you need some fine-tuning on the page, for example, to optimize it to use HTML as the main code.

Metadata is complementary information about a post or code. In HyperCode it is useful for automatically providing page information, facilitating batch editing or off-line editing.

Tag [postinfo]

postinfo indicates the main data about a page. It has nearly all the settings that can be accessed via the page properties using the HyperFluxCMS post manager.

The postinfo tag is self-contained, meaning it DOES NOT NEED and MUST NOT be used in "open/close" pairs. It should be used simply as the tag.

The postinfo tag must be the first tag of the post, with the exception of the pragma tag, which MAY come before postinfo.

Syntax:

[postinfo
title="title"
subtitle="subtitle"
categories="categories"
keywords="word1,word2"
tags="tag1,tag2,tag3"
published="true"
indexed="true"
fixed="false"
ad="false"
deleted="false"
featured="false"
allowdisplaysource="true"
allowdisplaymetadata="true"
hyperlitesyntax="true"
hyperlite="false"
protected="true"
authorid="0"
authorusername=""
creationdate="2025-01-01 15:20:00"
editiondate="2025-01-01 15:20:00"
priority="0"
permalink="metadata"
coverimage="cover.jpg"
template="default"
]

The title and permalink properties are mandatory. The others are optional.

title indicates the post title.

subtitle indicates the post subtitle.

categories is a comma-separated list of words that indicates the site categories the page belongs to.

keywords is a comma-separated list of keywords or expressions that indicates the page's keywords and helps improve its position in the search system.

tags is a comma-separated list of "labels", which are also keywords or expressions, that indicates the page's keywords and helps improve its position in the search system.

published can be true or false and indicates whether the post will be published on the site. You can leave a post as published="false" if it is not yet ready, or if it needs to be "taken down" temporarily but should not be permanently deleted.

indexed can be true or false and indicates whether the post will be indexed in the HyperFluxCMS search system. You may want to leave some pages out of the index so that they are only accessible through other means, not through the site search.

deleted can be true or false and indicates that the post has been marked for deletion. It is not deleted from the database and still can be edited or restored. But as long as it is marked as deleted="true", it will not appear in searches, nor will it be accessible to the visitor.

fixed can be true or false and indicates that the post has some special highlight and should be pinned to the home page (subject to other settings and conditions).

featured can be true or false and indicates that the post should be shown with some special highlight in searches or listings (subject to other settings and conditions).

ad can be true or false and indicates that the post is an advertisement, infomercial, or has other advertising nature.

protected can be true or false and indicates whether the post is protected against accidental deletion in the post listing;

allowdisplaysource can be true or false and indicates that the post can have its original source code shown to the visitor. Normally it should be left "false".

allowdisplaymetadata can be true or false and indicates that the post metadata can be shown to the visitor. Normally it should be left "false". It only has effect when allowdisplaysource is "true".

hyperlitesyntax can be true or false and indicates whether the post uses the HyperLite language. Posts that do not use it have more freedom to use characters like * and / without needing escape sequences.

authorid is a number that indicates the identification of the post author. Reserved for system use.

authorusername contains the username (not the full name) of the post author. Reserved for system use.

creationdate contains the date and time the post was created. It follows the format "yyyy-mm-dd hh:mm:ss", for example "2024-11-27 17:33:18" for a post created on Nov 27, 2024 at 17:33:18 (5:33:18 PM).

editiondate contains the date and time the post was last edited.

priority is a number that indicates a "priority" value for the post. Posts with higher priority tend to appear first in the HyperFluxCMS search system. Use it to highlight the posts you consider most relevant to visitors.

permalink indicates the short and permanent link to the post on your site. For example "menu" makes the post accessible at "yoursite.com/menu".

manuallinebreaks can be true or false. If true, disables the default HyperFluxCMS line and paragraph break algorithm. Line breaks must be inserted manually using HTML or HyperCode tags, like <p>, <br>, [blank], etc. See more at Lines and Paragraphs Automatic Line Breaks in HTML and Avoiding Automatic Line Breaks.

usehtmlampersand can be true or false. If true, makes the compiler not automatically convert the & character into &amp;. This allows using HTML pages with special and accented characters already expressed as HTML Named Entities, such as &aacute; for á. The default is false.

keepcrlfaftertags can be true or false. If false, makes the compiler ignore line breaks after a HyperCode or HTML tag, until it finds another HTML or HyperCode tag or the beginning of a line of text. If true, line breaks after tags are understood as part of text formatting. Normally it should only be true in special cases where the page content was imported/pasted from HTML and the site appearance does not match expectations. The default is false.

coverimage indicates the name of the post's cover image. Normally templates, searches, etc., will use this information to automatically take the informed image from the gallery. It must be an image name already existing in the gallery. Use only the file name, without the path. For example DO NOT USE "/gallery/image.jpg" nor "https://mysite.com/gallery/image.jpg". Use simply "image.jpg". Do not use external site URLs. It must mandatorily be an image from the site's gallery. If the page does not have a cover image, use "".

template indicates the name of the template that will be used to display the post. It must be a "top-level" type template.

About allowdisplaysource

Posts that have "allowdisplaysource" = "true" can have their source code displayed to the visitor by adding the suffix ":src" at the end of the page name. For example "yoursite.com/example-article:src" will show the page's source code.

On most sites, posts should have this option disabled. Typically, only test sites, deployment sites, or sites intended to teach the use of HyperCode or HyperLite should have this option on.

Posts that have "allowdisplaysource" = "true" and "allowdisplaymetadata" = "true" can have, in addition to the source code, also the metadata displayed to the visitor, by adding the suffix ":src+" at the end of the page name.

For example "yoursite.com/example-article:src+" will show the page's source code and metadata. On most sites, posts should have this option disabled. Typically, only test sites, deployment sites, or sites intended to teach the use of HyperCode or HyperLite should have this option on.

Tag [summary]

The summary tag is used to indicate a short text, usually a single paragraph, that presents an introduction to the post content. This content can be used for prominent display right after the title or subtitle, appears in search listings, is used in post indexing, and also to give a score to the post in the search algorithm.

The content inside summary must be plain text. It must not contain HTML tags, HyperCode, or HyperLite.

Example

[summary]
Metadata is complementary information about a post or code. In HyperCode it is useful for automatically providing page information, facilitating batch editing or off-line editing.
[/summary]

Tag [pragma]

The pragma tag gives the compiler instructions on how it should behave regarding certain situations. An example is replacing the automatic line and paragraph processing that is standard for HyperCode/HyperLite with one more suitable for use in HTML-based posts.

Some properties are experimental or reserved for future use and may not work as expected.

All properties are optional. Only those you wish to modify from the default need to be provided.

Syntax:

[pragma manuallinebreaks="true/false" usehtmlampersand="true/false" keepcrlfaftertags="true/false"]

manuallinebreaks can be true or false. If true, makes the compiler not automatically generate paragraph and line break tags. False enables automatic generation of paragraphs and line breaks in the text. If false, the text must manually insert line breaks using the tags [blank], [p], [block], etc., or their HTML equivalents <br>, <p>, <div>, etc. The default is false for posts (compiler generates line breaks and paragraphs), and true for templates (which often have many Tags in sequence and can create unnecessary line breaks).

usehtmlampersand can be true or false. If true, makes the compiler understand the & symbol, used to indicate special characters in HTML, in its original function. For example, the text &aacute; is transformed into 'á'. If false, the '&' character is shown in the text in its common form. Set it to true if the page has accented letters and special symbols already represented using "html entities", for example, if you are pasting text written in HTML. The default is false for both posts and templates.

keepcrlfaftertags can be true or false. If false, makes the compiler ignore line breaks after a HyperCode or HTML tag, until it finds another HTML or HyperCode tag or the beginning of a line of text. If true, line breaks after tags are understood as part of text formatting. Normally it should only be true in special cases where the page content was imported/pasted from HTML and the site appearance does not match expectations. The default is false for both posts and templates.

PRAGMA is an experimental and under development feature. At the moment it is unstable and may have unexpected behavior.