The reasoning for the different braces is that:
-
()
contains a simple string that the directive is free to interpret and serves as kind of the default argument (usually a URL or other identifier), and -
{}
contains generic attributes (i.e. key-value pairs similar to what in some programming languages are called named arguments) that might also be passed on directly to the HTML element, e.g.@video[title](filename.mp4){autoplay=1}
. And{#myId .myClass}
are simply shortcuts for{id=myId class=myClass}
— this syntax is taken from Pandoc.
I’m not sure I get your @style
proposal, could you make an example for the generated HTML? If it’s <span class="important">TODO</span>
, that would be [TODO]{.important}
in my proposal (see the very first code block above).