This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
en:template:start [2017/06/19 14:40] Nicolas Ronvel [Template's Overview] |
en:template:start [2017/06/22 11:00] Nicolas Ronvel [Globals] |
||
---|---|---|---|
Line 14: | Line 14: | ||
"sharedOptions": [ ], | "sharedOptions": [ ], | ||
"styles" : [ ], | "styles" : [ ], | ||
+ | "globals": [ ] | ||
}; | }; | ||
</code> | </code> | ||
Line 60: | Line 61: | ||
See the [[styles|Styles]] section for a more complete description of a Style. | See the [[styles|Styles]] section for a more complete description of a Style. | ||
+ | |||
+ | ===== 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 : | ||
+ | |||
+ | <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> | ||
+ | |||
+ | 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> | ||