Skip to main content

Components & Aliases

Micropage markup has a small set of components, with a few aliases for flexibility and readability. This page lists the canonical syntax and all supported aliases.

Use the canonical forms in new markup, but all aliases shown here are supported and not deprecated.

Structure & headings

PurposeCanonicalAliasesNotes
Section/// section/// hero, /// container, /// htmlSection type is the first line after ///.
Section modifiers/// section bg:primaryalign:center, text:light, centerSpace-separated key:value tokens after the section type. bg: and text: apply to section, container, and hero. align: applies to section and container. See Site Colors & Section Modifiers.
Heading 1h1:h:h: is an explicit alias for h1:.
Heading 2–6h2:h6:Standard heading levels.
Paragraphp:bare textIf no prefix is present, a line is treated as a paragraph.

Media

ElementCanonicalAliasesNotes
Imageimg:image:Used with <- for keyword, filename, or URL.
Iconicon:Bootstrap Icons class list (e.g. bi bi-heart). Optional size:sm or size:lg. Optional text:<token> for Bootstrap text utilities: primary, secondary, success, warning, info, danger, muted, light, dark, body-secondary (e.g. icon: text:primary bi bi-gap). Modifiers may appear in any order before <- if using an icon link.
Media objectmedia:Flex layout: figure left, body center, optional action right. See Media Object.

Image references

Use <- with img: or image::

  • Keyword (Unsplash search): img: <- coffee
  • Filename (project file): img: <- hero.png
  • Direct URL: img: <- https://example.com/screenshot.png

Site logo and favicon inside [site] can use shorthands:

  • logo: logo.png (equivalent to img: <- logo.png)
  • favicon: favicon.png (equivalent to img: <- favicon.png)

You can combine image lookup and a click-through URL:

img: Hero <- hero.png -> /pricing

This resolves the image using <- hero.png and treats /pricing as the link target for that image.

ElementCanonicalAliasesNotes
Page linkText -> /pathlink: Text -> /path, a: Text -> /pathAll forms produce a link element.
Nav bar CTA (button style)Same prefixes as Buttons (e.g. btn:, btn-outline-primary:)Inside [nav], these lines still produce link JSON with a variant so the preview renders Bootstrap btn styles. Indented dropdown children may use the same prefixes.
Nav dropdownIndented child links under [nav]2 spaces or 1 tab indent makes a link a dropdown child. See Nav Dropdowns.
Vertical nav listnav-list:In-section vertical link list. Child items use bare links or nav-item: alias. See Nav Containers.
Horizontal nav barnav-bar:Horizontal pill-style link bar. See Nav Containers.
Tab-styled navnav-tabs:Horizontal tab styling (no JS). See Nav Containers.

Forms

Form fields are nested under a form: block.

form: Contact

input: Name*
textarea: Message
submit: Send

Form container

PurposeCanonicalAliasesNotes
Formform:Starts a form; fields that follow are nested inside.

Field elements

Field typeCanonicalAliasesNotes
Text inputinput:textfield:Single-line text.
Text areatextarea:text:Multi-line text.
Selectselect:select: Label [one, two]
Checkboxescheckboxes:multichoice:, multi-choice:Multiple choice; all aliases are fully supported.
Radiosradios:choice:, singlechoice:, single-choice:Single choice; all aliases are fully supported.
Submitsubmit:save:Both create a submit button.

Fields ending in * are required in all forms and aliases.

Buttons

Buttons are links with variants (sizes/styles) controlled by the prefix.

button: Get Started -> /signup
btn-secondary: Learn more -> /features

Button prefixes and variants

PrefixVariantTypical use
button:primaryMain call to action.
btn:primaryShorthand for primary buttons.
btn-secondary:secondarySecondary actions.
btn-info:infoInformational actions.
btn-warning:warningDestructive or cautionary actions.
btn-danger:dangerStrongly destructive actions.
btn-outline-primary:outline-primaryOutlined primary emphasis.
btn-outline-secondary:outline-secondaryOutlined secondary.
btn-outline-success:outline-successOutlined success tone.
btn-outline-info:outline-infoOutlined info tone.
btn-outline-warning:outline-warningOutlined warning tone.
btn-outline-danger:outline-dangerOutlined danger tone.
btn-outline:outline-secondaryGeneric outline (maps to Bootstrap outline-secondary; there is no bare btn-outline class).

All prefixes above work in section body and in [nav]. Choose the variant that best matches the importance of the action.

HTML & small text

ElementCanonicalAliasesNotes
Raw HTML section/// htmlSection type html returns raw HTML.
Inline HTMLhtml:Inline HTML element inside a section.
Small textsmall:Small-print or helper text.

Inline html:

The line with html: must begin with that token—no leading spaces or tabs. The parser matches html: only at the start of the line, so an indented line like html: <div>… is not recognized as inline HTML (unlike p:, h1:, and other elements under col:, which are parsed from the stripped line). Keep html: flush left, including inside column blocks. See Hero With YouTube Embed for an embed example with //// column and col:.