The globals
part of a template stores data that is repeated through the template, and that can be put in a single global constant, in order to help maintainability.
It could be a color that runs through the template, a code variable, or even part of the canvas.
The globals are added at the root of the template. It consists of a list of key-value pairs. The key is the global name, the value its content.
{ "globals": { "icon-color": "#ffffff", "icon-color-old": "#fff5c4", "text-color-auto": "{{value = tinycolor.mostReadable(card[color1].toHexString(), ['#FFF', '#888', '#000']).toHexString();}}", "gradient": { "type": "linear", "coords": { "x1": 333, "y1": 333.80341, "x2": 402, "y2": 332.55273 }, "colorStops": [ { "offset": 1, "color": "$color2.hexa$", "opacity": 1 }, { "offset": 0.2832, "color": "$color1.hexa$", "opacity": 1 } ], "offsetX": -323.59766, "offsetY": -48.037109 } }, "styles": [ ] }
A global is evaluated before any other variables, so it can contain any kind of variables (from text input, choices, color picker, …) but a global can not contain another global. Also, a global is its own variable. It cannot be used inside or with another variable (code variable, advanced string, …).
A global will replace any mention of its name surrounded by two square brackets : [[global-name]]
.
{ "type": "path", "left": 0, "top": 0, "fill": "[[icon-color]]" }, { "type": "path", "left": 0, "top": 0, "fill": "[[gradient]]" }, { "type": "textbox", "left": 0, "top": 0, "text": "$text$", "fill": "[[text-color-auto]]" },