Add "Globals" Twig Extension Support #47
Open
+48
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://twig.symfony.com/doc/2.x/advanced.html#id1
This update will continue to unlock even more interesting options for us in cross-platform Design System interoperability -- especially with things like shared Design Tokens, schema data, default inherited properties (cough Drupal Attributes cough), and more. Addresses #46
Example of this being used out in the wild (ex. sharing the default responsive img srcset breakpoint sizes): https://github.com/bolt-design-system/bolt/blob/develop/packages/bolt-twig-extensions/globals/bolt-image-sizes.global.php
CC @aleksip @bradfrost
Side question / point of interest:
Note that this extension, unlike the other Twig extension integrations in Pattern Lab, doesn't require us to use some
$function = new Twig_SimpleFunction('NAME', function ($params) { ... });
wrapper -- potentially allowing opening the door for other Twig functions, filters, tags, tests and operators to get added in the same manner (ie. the same extension getting used in another environment supporting Twig could perhaps just get dropped in verbatim)