Antora & AsciiDoc Feature Reference

Comprehensive reference of Antora and AsciiDoc features. Legend: ✓ = Currently Using | ○ = Available (Not Using) | ✗ = Not Applicable

Antora Component Features

Status Feature Purpose Current Usage

name

Component identifier for xrefs

captures

title

Display name in UI

Work Chronicles

version

Version identifier (~=versionless)

~

display_version

Friendly name in version selector

Chronicles 2026

start_page

Landing page for component

ROOT:index.adoc

nav

Navigation file references

modules/ROOT/nav.adoc

prerelease

Mark version as prerelease

Not using - stable content

asciidoc.extensions

Load Asciidoctor extensions

Available for custom extensions

Page-Level Features

Status Feature Purpose How to Use

page-aliases

URL redirects for moved pages

:page-aliases: old-name.adoc

page-partial

Include page as partial elsewhere

:page-partial:

page-component-*

Component-specific page attributes

:page-component-title: Custom

page-toclevels

Sidebar TOC depth

Set to 3 in antora.yml

AsciiDoc Document Attributes

Core Features (Currently Enabled)

Status Attribute Purpose Current Value

icons

Enable icon rendering

font (Font Awesome)

experimental

Enable ]+btn:[, menu:[]

Enabled (empty string)

source-highlighter

Syntax highlighting engine

highlight.js

xrefstyle

Cross-reference display format

short

sectanchors

Clickable ¶ anchors on headings

Enabled

sectlinks

Make headings clickable links

Enabled

hide-uri-scheme

Hide https:// in displayed URLs

Enabled

lang

Document language (accessibility)

en

attribute-missing

Handle undefined attributes

warn (catches typos)

keywords

SEO metadata

worklog, engineering, infrastructure…​

Available But Not Using

Status Attribute Purpose How to Enable

stem

Enable math/science notation

:stem: asciimath or :stem: latexmath

eqnums

Automatic equation numbering

:eqnums: all

sectnums

Automatic section numbering

:sectnums:

sectnumlevels

Depth of section numbering

:sectnumlevels: 3

toc

In-document TOC (Antora handles)

:toc: left (use sparingly)

toclevels

In-document TOC depth

:toclevels: 3

reproducible

Omit last-modified timestamps

:reproducible:

showtitle

Show document title as heading

:showtitle:

nofooter

Suppress footer output

:nofooter:

partnums

Number parts (book doctype)

:partnums:

Custom Admonitions (Currently Using)

Type Current Caption Example

TIP

💡 Tip

TIP: This is a tip

NOTE

📝 Note

NOTE: This is a note

WARNING

⚠️ Warning

WARNING: This is a warning

CAUTION

🔥 Caution

CAUTION: Proceed carefully

IMPORTANT

❗ Important

IMPORTANT: Don’t miss this

Usage Examples

Inline Admonition
TIP: Use `subs=attributes+` for code blocks with attributes.
Block Admonition
[NOTE]
====
This is a block admonition.
It can contain multiple paragraphs.
====

UI Macros (experimental attribute)

Macro Purpose Example

kbd:[]

Keyboard keys

Ctrl+Shift+T → Press Ctrl+Shift+T

btn:[]

Buttons

Submit → Click Submit

menu:[]

Menu navigation

File  Export  PDF → Select File  Export  PDF

Usage
Press kbd:[Ctrl+C] to copy.
Click btn:[Save] to confirm.
Navigate to menu:Edit[Preferences > Display].

Icon Macros (icons: font)

Syntax Renders As Use Case

Completed items

Failed/removed items

Active status

In progress

Archived

Caution indicators

External links

Currently Defined Status Icons

status-active: icon:circle[role=green] Active
status-complete: icon:check-circle[role=blue] Complete
status-archived: icon:archive[role=gray] Archived
status-planned: icon:clock[role=gray] Planned
status-in-progress: icon:spinner[role=blue]
status-done: icon:check[role=green]
Usage in Documents
| Project Alpha | {status-active} |
| Project Beta | {status-complete} |

Code Blocks & Callouts

Source Block with Highlighting

[source,bash]
----
#!/bin/bash
echo "Hello, World!"
----

Callouts (Line Annotations)

[source,bash]
----
vault write pki_int/issue/domus-client \ (1)
  common_name="host.example.com" \ (2)
  ttl="8760h" (3)
----
<1> PKI mount path and role
<2> Common name for certificate
<3> Time to live (1 year)

Copy-Friendly Callouts (Comment Style)

[source,bash]
----
export VAULT_ADDR="https://vault.example.com" (1)
vault login -method=ldap username="$USER" (2)
----
<1> Set Vault address
<2> Authenticate with LDAP

Attribute Substitution in Code

[source,bash,subs=attributes+]
----
ssh {person-evan}@{ise-hostname}
vault status -address=https://{vault-ip}:{vault-port}
----

Include Directive Features

Basic Include

include::partial$trackers/work/adhoc.adoc[]

Tagged Regions

Define tags in source file:
// tag::carryover[]
| Task 1 | 5 days |
| Task 2 | 3 days |
// end::carryover[]
Include specific tag:
include::partial$trackers/work/adhoc.adoc[tag=carryover]

Multiple Tags

include::partial$trackers/work/projects.adoc[tags=p0;p1]

Line Ranges

include::example$script.sh[lines=10..20]

Level Offset

include::partial$section.adoc[leveloffset=+1]

Conditional Directives

ifdef/ifndef

ifdef::env-github[]
This only appears on GitHub.
endif::[]

ifndef::backend-html5[]
This appears for non-HTML output.
endif::[]

ifeval (Expressions)

ifeval::[{sectnums} == true]
Sections are numbered.
endif::[]

ifeval::["{backend}" == "html5"]
HTML-specific content here.
endif::[]

Block Types Reference

Block Delimiter Purpose Status

Listing

----

Preformatted text

✓ Using

Source

---- + [source,lang]

Syntax highlighted code

✓ Using

Literal

…​.

Literal text (no formatting)

✓ Using

Sidebar

****

Supplementary content

○ Available

Example

====

Illustrative examples

✓ Using (admonitions)

Quote

__

Block quotations

○ Available

Verse

[verse] + __

Poetry/verse formatting

○ Available

Passthrough

Raw HTML/SVG/unprocessed

○ Available

Comment

////

Hidden comments

✓ Using

Open

--

Generic container

○ Available

Table

|===

Data tables

✓ Using

Table Features

Column Specifiers

Spec Meaning Example

1,2,3

Proportional widths

cols="1,2,3" (6 units total)

<

Left align

cols="<,^,>"

^

Center align

cols="^2"

>

Right align

cols=">1"

a

AsciiDoc content

cols="1a,2a" (processes AsciiDoc)

h

Header style

cols="h,1,1" (first col as header)

e

Emphasis (italic)

cols="e,1"

m

Monospace

cols="m,1"

s

Strong (bold)

cols="s,1"

Table Options

[cols="1,2,3",options="header,footer,autowidth"]
|===
| Header 1 | Header 2 | Header 3
| Cell | Cell | Cell
| Footer 1 | Footer 2 | Footer 3
|===

Cell Spanning

|===
| Cell 1 | Cell 2 | Cell 3

2+| Spans 2 columns | Cell 3

.2+| Spans 2 rows
| Cell 2
| Cell 3

2.3+| Spans 2 cols, 3 rows
|===

STEM (Math/Science) - Not Currently Using

Enable STEM

= Document Title
:stem: asciimath

Inline Math

The formula stem:[sqrt(4) = 2] is simple.
Water (stem:[H_2O]) is essential.

Block Math

[stem]
++++
sum_(i=1)^n i^3=((n(n+1))/2)^2
++++

LaTeX Math

latexmath:[\lim_{n \to \infty}\frac{n}{\sqrt[n]{n!}} = e]

Text Formatting Quick Reference

Markup Renders As Notes

*bold*

bold

Strong emphasis

_italic_

italic

Emphasis

`monospace`

monospace

Code/literal

*_bold italic_*

bold italic

Combined

^super^

super

Superscript

~sub~

sub

Subscript

#highlight#

highlight

Marked text

[.line-through]#struck#

struck

Strikethrough

[.underline]#underlined#

underlined

Underline

Cross-References

Same Component

xref:page.adoc[Link Text]
xref:folder/page.adoc#section[Section Link]

Cross-Component (Double Colon)

// TODO: Enable when infra-ops component is in playbook
// xref:infra-ops::runbooks/vyos-deployment.adoc[VyOS Runbook]
// TODO: Enable when ise-linux component is in playbook
// xref:ise-linux::02-pki/certificate-enrollment.adoc[Cert Enrollment]

With Attributes

See the xref:page.adoc[official documentation,role=external,window=_blank].

Lists

Unordered

* Item 1
** Nested item
*** Deep nested
* Item 2

Ordered

. First
. Second
.. Sub-item a
.. Sub-item b
. Third

Checklists

* [x] Completed task
* [ ] Pending task
* [*] Also completed (alternative)

Description Lists

Term 1:: Definition 1
Term 2:: Definition 2
Nested term::: Nested definition

Feature Wishlist (Not Yet Explored)

Feature Description Potential Use

stem

Math/science notation

Algorithm documentation

Sidebar blocks

Supplementary content

Tips, callouts, definitions

Quote blocks

Block quotations

Reference materials

Verse blocks

Poetry formatting

Song lyrics, structured text

Passthrough blocks

Raw HTML/SVG

Custom visualizations

Collapsible blocks

Expandable content

Long examples, optional detail

Automatic IDs

Custom section anchors

Deep linking control

sectnums

Section numbering

Formal documents

Maintenance Notes

Where Features Are Enabled

Location Features Controlled

docs/antora.yml

All global document attributes, icons, experimental, source-highlighter

Individual .adoc files

Page-specific overrides, page-aliases

domus-docs/antora-playbook.yml

Kroki extension, search, UI bundle

Feature Dependencies

Feature Requires

]+btn:[, menu:[]

:experimental: attribute

Font icons

:icons: font attribute

Code highlighting

:source-highlighter: highlight.js

Section anchors

:sectanchors: attribute

Attribute warnings

:attribute-missing: warn

AsciiDoc Escape Patterns

AsciiDoc interprets {text} as attribute references. This causes build warnings when documenting shell/awk commands.

Problem

// WRONG - Antora interprets {print} as missing attribute
awk '/ERROR/ {print}'

Build warning:

WARN (asciidoctor): skipping reference to missing attribute: print

Solution: Escape Opening Brace

// CORRECT - backslash escapes the brace
awk '/ERROR/ \{print}'

Common Patterns to Escape

Pattern Escaped Context

{print}

\{print}

awk print statements

{text}

\{text}

shell variable references in docs

{0}, {1}

\{0}, \{1}

awk field references

\{n,m}

\\{n,m}

regex quantifiers

\{foo:-bar}

\\{foo:-bar}

bash parameter expansion

Inline Code Escaping

// WRONG
The `{print}` function outputs text.

// CORRECT
The `\{print}` function outputs text.

Alternative: Passthrough

For complex cases, use passthrough macros:

pass:c[{print $1}]