This shows you the differences between two versions of the page.
— |
en:template:global [2017/06/22 11:04] (current) Nicolas Ronvel created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== 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. | ||
+ | |||
+ | <code javascript> | ||
+ | { | ||
+ | "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": [ ] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ===== 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]]%%''. | ||
+ | |||
+ | <code javascript> | ||
+ | { | ||
+ | "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]]" | ||
+ | }, | ||
+ | </code> | ||
+ | |||