Balises, filtres & fonctions Twig
Bien que Twig fournisse déjà une longue liste de filtres, de fonctions et de balises, Grav propose également une sélection d'ajouts utiles pour faciliter le processus de thématisation.
Balises
Une balise fournit des fonctionnalités Twig de haut niveau. Des exemples de balises intégrées incluent des constructions telles que include
, block
, for
, if
et bien d'autres. Les tags sont identifiés dans Twig par l'utilisation de la syntaxe {% tagname %}
. De plus, la plupart des balises sont fermées par un {% endtagname %}
.
Grav inclut plusieurs balises personnalisées utiles qui fournissent des fonctionnalités telles que cache
, markdown
, script
, style
, switch
, etc.
Filtres
Les filtres Twig vous permettent d'appliquer des fonctionnalités à la variable qui apparaît sur le côté gauche du symbole du pipe (|)
. Ils sont particulièrement utiles lorsqu'il s'agit de manipuler du texte ou des variables. Le premier argument du filtre est toujours l'élément de gauche, mais les arguments suivants peuvent être passés entre parenthèses. Les filtres ont des capacités spéciales, notamment la capacité d'être sensibles au contexte et à l'environnement.
Des exemples de filtres Twig intégrés incluent date
, escape
, join
, lower
, slice
et bien d'autres. Un exemple serait :
{% set foo = "one,two,three,four,five"|split(',', 3) %}
Grav inclut plusieurs filtres personnalisés utiles qui fournissent des fonctionnalités telles que hypernize
, nicetime
, starts_with
, contains
, base64_decode
et bien d'autres.
Fonctions
Les fonctions Twig sont un autre moyen d'implémenter des fonctionnalités dans Twig. Ils sont similaires aux filtres, mais plutôt que d'agir sur une variable via un |
vous appelleriez ces fonctions directement et passeriez tous les attributs qu'elles prennent en charge entre parenthèses après le nom de la fonction. Souvent, Grav fournit à la fois un filtre et une fonction pour la même logique et laisse à l'utilisateur le soin de choisir la méthode qu'il préfère.
Des exemples de filtres Twig intégrés incluent block
, dump
, parent
random
, range
, etc. Un exemple serait :
{{ random(['apple', 'orange', 'citrus']) }}
Grav inclut plusieurs fonctions personnalisées utiles qui fournissent des fonctionnalités telles que authorize
, debug
, evaluate
, regex_filter
, medias
et bien d'autres.