So, Iām brand new to Hugo. Itās 2026, and things may have changed here but..
It strikes me that once youāve set unsafe=true the parser will let just about anything through, and you can just add HTML directly to the markdown and it passes. And in the case of my use - for a coloured paragraph of highlighted text - thatās actually shorter than the short code in terms of input and overall codebaseā¦
Input Markdown
## Paragraph
Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
<p class="danger">This is DANGER text with \*\*bold\*\*, \*italic\* and \~\~strikethrough\~\~ demonstrated.</p>
Output HTML
<h2 id="paragraph">Paragraph</h2>
<p>Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.</p>
<p>Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.</p>
<p class="danger">This is DANGER text with **bold**, *italic* and ~~strikethrough~~ demonstrated.</p>
<p class="danger"></p> = 17 chars
A well named short code would be similar to:
{{< p-danger >}}{{< /p-danger >}} = 33 chars + the needed HTML.
Seems like the minimalist solution here is to enable unsafe parsing and call it a day?