CR-2026-02-25: AsciiDoc Attribute Refactor — Implementation
Conversion Rules
Convert to Attributes
// Prose text
The server at 10.50.1.60
→ The server at \{vault-01-ip}
// Inline code
`vault-01.inside.domusdigitalis.dev`
→ `\{vault-01-hostname}`
// Code blocks - add subs=attributes+
[source,bash,subs=attributes+]
Escape Shell Variables
// In code blocks with subs=attributes+
${HOSTNAME} → $\{HOSTNAME\}
${USER} → $\{USER\}
%{http_code} → %\{http_code\}
CLI Mastery: Attribute Verification
Find All Attributes in antora.yml
grep -E "^\s+[a-z]+-[a-z]+:" docs/asciidoc/antora.yml | head -50
Verify Attribute Exists Before Using
grep -i "vault" docs/asciidoc/antora.yml
Find Undefined Attributes in Document
grep -oE '\{[a-z0-9-]+\}' document.adoc | \
tr -d '{}' | sort -u | while read attr; do
grep -q "^\s*${attr}:" docs/asciidoc/antora.yml && \
echo "✓ $attr" || echo "✗ $attr MISSING"
done
Build and Check for Warnings
make 2>&1 | grep -c "missing attribute"
# Expected: 0