As soon as you want to pass something to a macro that is not in a value format you can use the macrocall widget, even on your own macros
<$macrocall $name=“image-card” img=<> width="" align:“left” caption="" title="" text="" footer="" pos=“top” alt=""/>
But you man not even need to pass the nul values
<$macrocall $name=“image-card” img=<> width="" align:“left” pos=“top”/>
Tony
fellow Aussie see https://www.meetup.com/sydney-twig-tiddlywiki-interest-group/