====== 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]]" },