That doesn’t work that way, since the height and width are directly defined in the SVG element. You need to do the following.
Create 2 tiddlers eg: my-styles and my-macros
title: my-styles
tags: $:/tags/Stylesheet
code-body: yes
.my-icon svg {
height: 1em;
}
title: my-macros
tags: $:/tags/Macro
code-body: yes
\define my-icon(title) <span class="my-icon"><$transclude tiddler=<<__title__>>/></span>
Call the macro with: <<my-icon "$:/core/images/tip">>
… That should do the trick.
The first tiddler my-styles defines a CSS stylesheet, that allows you to define the hight of the SVG element. Since it keeps the aspect ratio, it will scale properly if you only change hight.
The second tiddler defines a macro named: my-icon, that covers the SVG inside an HTML SPAN element and defines it’s class=“my-icon”. Which allows the browser to assign the CSS stylesheet settings.
I did add a little ZIP file that contains a JSON file, which can be drag & drop imported into a wiki. You can test it with tiddlywiki.com. It should work there since I did mace the macros with it.
have fun!
mario
svg-macro-call.json (542 Bytes)