We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
There are several aspects of twig.js that can be extended with custom functionality.
They are:
Custom functions can be added through Twig.extendFunction(name, definition)
Twig.extendFunction(name, definition)
For example, a function that repeats a value could look like:
Twig.extendFunction("repeat", function(value, times) { return new Array(times+1).join(value); });
And you can use it in a template like:
{{ repeat("_.", 10) }} {# output: _._._._._._._._._._. #}
Custom filters can be added through Twig.extendFilter(name, definition)
Twig.extendFilter(name, definition)
For example, if you wanted to add a filter that reversed words in a sentence, you could do the following:
Twig.extendFilter("backwords", function(value) { return value.split(" ").reverse().join(" "); });
Then, in your templates you can use:
{{ "a quick brown fox"|backwords }} outputs: fox brown quick a
Custom filters with arguments are also supported:
Twig.extendFilter('catify', (value, args) => args.reduce( (newString, toCatify) => newString.replace(toCatify, 'cat'), value ) );
{{ "the quick brown fox jumps over the lazy dog"|catify('fox', 'dog') }} outputs: the quick brown cat jumps over the lazy cat
See Extending twig.js with Custom Tags