To keep shortcut reference links readable, how about double brackets?
In other words, links would use external brackets for a reference label [foo][bar]
, and nested brackets if the link text is its own label [[foo]]
.
That makes it immediately clear there’s a link, not just a span or literal brackets; and it’s more natural-looking than appending empty brackets [foo][]
.
[[foo]]
[foo]: https://example.com
<a href="https://example.com">foo</a>
If there’s no link reference definition, the double-bracketed text would still be a link. It could fall back to an implicit page link:
[[foo]]
<a href="foo">foo</a>