Angle-bracket placeholders in prose — game commands, template variables, CLI syntax — now render as literal text instead of breaking MDX compile or API validation.
Writing `/give <player> diamond` or `<username>` in prose no longer trips the MDX compiler. Aveiro escapes stray lowercase tags at render time while leaving registered components, HTML elements, and code samples untouched.
What we shipped
MDX treats anything that looks like <tag> as JSX or HTML. That is correct for <Button> and <Feedback>, but painful for technical writing that uses angle brackets as placeholders — Minecraft commands, shell redirection examples, API path templates, and game-wiki syntax.Previously, a page with /give <player> diamond in a paragraph could fail to compile with errors like Expected a closing tag for <player>. The same content could block API syncs with 422 INVALID_MDX.Aveiro now escapes stray lowercase tags in prose at compile time:
Placeholders such as <player>, <target>, and <amount> render as literal angle brackets
Registered components with uppercase names (<Button>, <Column>) are unchanged
Standard HTML elements (<code>, <strong>, etc.) still work when you mean them
Fenced code blocks and inline code are skipped — samples stay byte-for-byte
Source mode still shows what you typed; escaping is not written back to the draft
The same transform runs in the editor preview, on published pages, and during save-time validation — so preview, live, and API checks stay aligned.
Why it matters
Docs teams, gaming wikis, and developer blogs routinely mix component blocks with command syntax. A renderer that cannot tell <Hero> (a component) from <player> (a placeholder) forces authors into workarounds — backtick-wrapping every token or splitting content across extra code fences.This change keeps the safety net for real MDX errors while letting natural technical prose through.
Recommended workflow
Use prose placeholders for short inline syntax — /tp <player> <x> <y> <z> in a sentence is fine.
Use fenced blocks for multi-line command lists or copy-paste samples.
Keep component names uppercase when you mean catalog blocks — <Feedback>, not <feedback>.
Sync via API with confidence — see Create a page for validation rules.