====== Globals ======
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 [[en:template:code_variables|code variable]], or even part of the canvas.
===== Adding a global =====
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": [ ]
}
===== Using a global =====
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 ([[en:template:code_variables|code variable]], [[en:template:advanced_string_variables|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]]"
},