tera icon indicating copy to clipboard operation
tera copied to clipboard

`default` filter: make the `value` optionnal and add `d` alias

Open nevermille opened this issue 1 year ago • 1 comments

I have to manage lots of templates where I have to apply the default filter on every single variable. Today, I need to write |default(value=""). I won't ask for an auto-default because it already was discussed before, but would it be possible to make the filter more like what's in jinja to speed up the process?

Let's use this basic call as an example :

// Returns "Hello !"
Tera::one_off("Hello {{ name|default(value=\"\") }}!", &Context::default(), false);

First, make the value parameter optional and return an empty string if not present:

// Returns "Hello !"
Tera::one_off("Hello {{ name|default }}!", &Context::default(), false);

Second, add the d alias:

// Returns "Hello !"
Tera::one_off("Hello {{ name|d }}!", &Context::default(), false);

nevermille avatar Apr 11 '24 06:04 nevermille

v2 will allow you to do {{ name or "" }}, I don't think we'll change the default filter until then

Keats avatar Apr 14 '24 19:04 Keats