Filtres et variables globales Liquid
Les filtres transforment les valeurs à l’intérieur de {{ }}. Seekdown enregistre un jeu de filtres adapté à l’assistant : ce sont les briques que vous utiliserez en permanence.
| Filtre | Rôle | Exemple |
|---|---|---|
t | Traduit à partir d’une clé, avec une valeur de repli. | {{ 'ask' | t: 'Ask' }} |
r | Résout l’URL d’une ressource de l’assistant. | {{ 'img/search.svg' | r }} |
markdown | Convertit du markdown en HTML (à associer à safe). | {{ result.payload.reply | markdown | safe }} |
safe / raw_html | Affiche du HTML sans échappement. | {{ html | safe }} |
ellipsis | Tronque un texte avec des points de suspension. | {{ reference.summary | ellipsis: 160 }} |
default | Valeur de repli si vide. | {{ reference.title | default: 'Untitled' }} |
hasTemplate | Vrai si un template de ce nom existe. | {% if reference.type | hasTemplate %} |
fromNow | Temps relatif. | {{ result.date | fromNow }} |
dateToString / dateFormat | Formate une date. | {{ date | dateToString: 'YYYY-MM-DD' }} |
length | Longueur d’une chaîne, d’un tableau ou d’un objet. | {{ state.results | length }} |
entries | Transforme un objet en paires clé/valeur à parcourir. | {% for e in form.fields | entries %} |
lower | Met en minuscules. | {{ type | lower }} |
sanitize | Échappe les guillemets pour un usage dans des attributs. | data-x="{{ text | sanitize }}" |
randomId | Génère un identifiant unique. | {{ 'field_' | randomId }} |
log | Affiche une valeur (JSON) pour le débogage. | {{ state | log }} |
Variables globales
Au-delà de state, la variable globale skdwn donne aux templates accès à l’instance active (son config, ses helpers, ses templates et ses startOptions) : un template peut ainsi lire un paramètre ou référencer un helper directement.