Partager via


Filtres Liquid disponibles

Les filtres Liquid servent à modifier la sortie des chaînes, nombres, variables et objets. Ils sont séparés de la valeur à laquelle ils sont appliqués par une |.

{{ 'hal 9000' | upcase }} <!-- Output: HAL 9000 -->

Certains filtres acceptent des paramètres. Les filtres peuvent aussi être combinés et sont appliqués dans l’ordre de gauche à droite.

{{ 2 | times: 2 | minus: 1 }} <!-- Output: 3 -->

{{ "Hello, " | append: user.firstname }} <!-- Output: Hello, Dave -->

La section ci-dessous décrit divers filtres.

Filtres de tableau

Les filtres de tableau sont utilisés avec les tableaux.

batch

Divise un tableau en plusieurs tableaux d’une taille donnée.

Code

{% assign batches = entityview.records | batch: 2 %}

{% for batch in batches %}

<ul>

{% for item in batch %}

<li>{{ item.fullname }}</li>

{% endfor %}

</ul>

{% endfor %}

Sortie

<ul>

<li>John Smith</li>

<li>Dave Thomas</li>

</ul>

<ul>

<li>Jake Johnson</li>

<li>Jack Robinson</li>

</ul>

concat

Concatène deux tableaux en un seul tableau.

Avec un seul élément comme paramètre, concat retourne un nouveau tableau comprenant le tableau d’origine, avec l’élément donné comme dernier élément.

Code

Group #1: {{ group1 | join: ', ' }}

Group #2: {{ group2 | join: ', ' }}

Group #1 + Group #2: {{ group1 | concat: group2 | join: ', ' }}

Sortie

Group #1: John, Pete, Hannah

Group #2: Joan, Bill

Group #1 + Group #2: John, Pete, Hannah, Joan, Bill

except

Sélectionne tous les objets d’un tableau où un attribut donné n’a pas de valeur donnée. (Il s’agit de l’inverse de where.)

Code

{% assign redmond = entityview.records | except: 'address1_city', 'Redmond' %}

{% for item in redmond %}

{{ item.fullname }}

{% endfor %}

Sortie

Jack Robinson

Premier

Retourne le premier élément d’un tableau.

first peut également être utilisé avec une notation de point spéciale, dans les cas où il doit être utilisé dans une balise.

Code

{% assign words = This is a run of text | split:   %}

{{ words | first }}

{% if words.first == This %}

The first word is This.

{% endif %}

Sortie

This

The first word is This.

group_by

Regroupe les éléments d’un tableau en fonction d’un attribut donné.

Code

{% assign groups = entityview.records | group_by: 'address1_city' %}

{% for group in groups %}

{{ group.key }}:

{% for item in group.items %}

{{ item.fullname }}

{% endfor %}

{% endfor %}

Sortie

Redmond:

John Smith

Dave Thomas

Jake Johnson

New York:

Jack Robinson

join

Joint les éléments d’un tableau au caractère passé comme paramètre. Le résultat est une chaîne unique.

Code

{% assign words = This is a run of text | split:   %}

{{ words | join: ,  }}

Sortie

This, is, a, run, of, text

Dernier

Retourne le dernier élément d’un tableau.

last peut également être utilisé avec une notation de point spéciale, dans les cas où il doit être utilisé dans une balise.

Code

{% assign words = This is a run of text | split:   -%}

{{ words | last }}

{% if words.last == text -%}

The last word is text.

{% endif -%}

Sortie

text

The last word is text.

order_by

Retourne les éléments d’un tableau classés en fonction d’un attribut donné des éléments du tableau.

Vous pouvez également fournir desc comme deuxième paramètre pour trier les éléments dans l’ordre décroissant, au lieu de l’ordre croissant.

Code

{{ entityview.records | order_by: 'fullname' | join: ', ' }}

{{ entityview.records | order_by: 'fullname', 'desc' | join: ', ' }}

Sortie

Dave Thomas, Jack Robinson, Jake Johnson, John Smith

John Smith, Jake Johnson, Jack Robinson, Dave Thomas

random

Retourne un seul article sélectionné de manière aléatoire à partir du tableau.

Code

{{ group1 | join: ', ' }}

{{ group1 | random }}

Sortie

John, Pete, Hannah

Pete

select

Sélectionne la valeur d’un attribut donné pour chaque élément d’un tableau, puis retourne ces valeurs sous la forme d’un tableau.

Code

{{ entityview.records | select: 'address1_city' | join: ', ' }}

Sortie

Redmond, New York

shuffle

Appliqué à un tableau, retourne un nouveau tableau avec les mêmes éléments, dans un ordre aléatoire.

Code

{{ group1 | join: ', ' }}

{{ group1 | shuffle | join: ', ' }}

Sortie

John, Pete, Hannah

Hannah, John, Pete

size

Retourne le nombre d’éléments dans un tableau.

size peut également être utilisé avec une notation de point spéciale, dans les cas où il doit être utilisé dans une balise.

Code

{% assign words = This is a run of text | split:   -%}

{{ words | size }}

{% if words.size == 6 -%}

The text contains 6 words.

{% endif -%}

Sortie

6

The text contains 6 words.

skip

Ignore un nombre donné d’éléments dans un tableau, puis retourne le reste.

Code

{% assign words = This is a run of text | split:   %}

{{ words | skip: 3 | join: ', ' }}

Sortie

run, of, text

take

Sélectionne un nombre donné d’éléments du tableau, puis retourne les éléments sélectionnés.

Code

{% assign words = This is a run of text | split:   %}

{{ words | take: 3 | join: ', ' }}

Sortie


This, is, a

then_by

Ajoute un classement supplémentaire à un tableau déjà classé par order_by.

Vous pouvez également fournir desc comme deuxième paramètre pour trier les éléments dans l’ordre décroissant, au lieu de l’ordre croissant.

Code

{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname' | join: ', ' }}

{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname', 'desc' | join: ', ' }}

Sortie

Dave Thomas, Jack Robinson, Jake Johnson, John Smith

John Smith, Jake Johnson, Jack Robinson, Dave Thomas

Sélectionne tous les objets d’un tableau où un attribut donné a une valeur donnée.

Code

{% assign redmond = entityview.records | where: 'address1_city', 'Redmond' %}

{% for item in redmond %}

{{ item.fullname }}

{% endfor %}

Sortie

John Smith

Dave Thomas

Jake Johnson

Filtres de date

Les filtres de date peuvent être utilisés pour l’arithmétique de date ou pour convertir des valeurs DateTime dans différents formats.

Date

Met en forme une valeur DateTime à l’aide d’une chaîne au format .NET.

Chaînes au format date et heure standard

Chaînes au format date et heure personnalisées

Code

{{ now | date: 'g' }}

{{ now | date: 'MMMM dd, yyyy' }}

Sortie

5/7/2018 7:20 AM

May 07, 2018

date_add_days

Ajoute le nombre spécifié de jours entiers ou fractionnés à la valeur DateTime. Le paramètre peut être positif ou négatif.

Code

{{ now }}

{{ now | date_add_days: 1 }}

{{ now | date_add_days: -2.5 }}

Sortie

5/7/2018 7:20:46 AM

5/8/2018 7:20:46 AM

5/4/2018 7:20:46 PM

date_add_hours

Ajoute le nombre spécifié d’heures entières ou fractionnées à la valeur DateTime. Le paramètre peut être positif ou négatif.

Code

{{ now }}

{{ now | date_add_hours: 1 }}

{{ now | date_add_hours: -2.5 }}

Sortie

5/7/2018 7:20:46 AM

5/7/2018 8:20:46 AM

5/7/2018 4:50:46 AM

date_add_minutes

Ajoute le nombre spécifié de minutes entières ou fractionnées à la valeur DateTime. Le paramètre peut être positif ou négatif.

Code

{{ now }}

{{ now | date_add_minutes: 10 }}

{{ now | date_add_minutes: -2.5 }}

Sortie

5/7/2018 7:20:46 AM

5/7/2018 7:30:46 AM

5/7/2018 7:18:16 AM

date_add_months

Ajoute le nombre spécifié de mois entiers ou fractionnés à la valeur DateTime. Le paramètre peut être positif ou négatif.

Code

{{ now }}

{{ now | date_add_months: 1 }}

{{ now | date_add_months: -2 }}

Sortie

5/7/2018 7:20:46 AM

6/7/2018 7:20:46 AM

3/7/2018 7:20:46 AM

date_add_seconds

Ajoute le nombre spécifié de secondes entières ou fractionnées à la valeur DateTime. Le paramètre peut être positif ou négatif.

Code

{{ now }}

{{ now | date_add_seconds: 10 }}

{{ now | date_add_seconds: -1.25 }}

Sortie

5/7/2018 7:20:46 AM

5/7/2018 7:20:56 AM

5/7/2018 7:20:45 AM

date_add_years

Ajoute le nombre spécifié d’années entières ou fractionnées à la valeur DateTime. Le paramètre peut être positif ou négatif.

Code

{{ now }}

{{ now | date_add_years: 1 }}

{{ now | date_add_years: -2 }}

Sortie

5/7/2018 7:20:46 AM

5/7/2019 7:20:46 AM

5/7/2016 7:20:46 AM

date_to_iso8601

Met en forme une valeur DateTime selon la norme ISO 8601. Utile lors de la création de Flux Atom, ou de l’élément <time> HTML5.

Code

{{ now | date_to_iso8601 }}

Sortie

2018-05-07T07:20:46Z

date_to_rfc822

Met en forme une valeur DateTime selon la norme RFC 822. Utile lors de la création de Flux RSS.

Code

{{ now | date_to_rfc822 }}

Sortie

Mon, 07 May 2018 07:20:46 Z

Échapper filtres

Les séquences d’échappement permettent d’inclure des caractères spéciaux dans les chaînes sans entrer en conflit avec l’interprétation habituelle de ces caractères par le langage ou le format de programmation.

Les filtres d’échappement suivants remplacent les caractères de chaîne par des séquences d’échappement ou suppriment les caractères de chaîne non valides en fonction du type de destination.

escape

Échappe une chaîne au format HTML.

Code

{{ '<p>test</p>' | escape }}

Sortie

&lt;p&gt;test&lt;/p&gt;

html_safe_escape

Convertit une chaîne HTML donnée en un fragment HTML sécurisé.

Code

{{ '<img src="images/myimage.jpg" onerror="alert(1);">' | html_safe_escape }}

Sortie

<img src="images/myimage.jpg">

url_escape

Échappe une chaîne au format URI, pour l’inclure dans une URL.

Code

{{ 'This & that//' | url_escape }}

Sortie

This+%26+that%2F%2F

xml_escape

Échappe une chaîne au format XML, pour l’inclure dans la sortie XML.

Code

{{ '<p>test</p>' | xml_escape }}

Sortie

&lt;p&gt;test&lt;/p&gt;

Filtres de liste

Les filtres de liste servent à utiliser certaines valeurs d’attribut de entitylist, et à créer des vues de liste.

current_sort

Étant donnée une expression de tri, renvoie la direction de tri actuelle d’un attribut donné.

Code

{{ 'name ASC, createdon DESC' | current_sort: 'createdon' }}

Sortie

DESC

metafilters

Analyse une valeur JSON entitylist filter_definition en objets de groupe d’options de filtre.

metafilters peut être éventuellement fourni avec une requête de filtre d’attribut et une entitylist actuelles, afin que les objets retournés par le filtre soient marqués comme sélectionnés ou non sélectionnés.

Code

{% assign filters = entitylist | metafilters: params.mf, entityview %}
{% if filters.size > 0 %}
  <ul id=entitylist-filters>
    {% for filter in filters %}
      <li class=entitylist-filter-option-group>
        {% if filter.selection_mode == 'Single' %}
          {% assign type = 'radio' %}
        {% else %}
          {% assign type = 'checkbox' %}
        {% endif %}
        <h4 class=entitylist-filter-option-group-label
          data-filter-id={{ filter.id | h }}>
          {{ filter.label | h }}
        </h4>
        <ul>
          {% for option in filter.options %}
            <li class=entitylist-filter-option>
              {% if option.type == 'text' %}
                <div class=input-group entitylist-filter-option-text>
                  <span class=input-group-addon>
                    <span class=fa fa-filter aria-hidden=true></span>
                  </span>
                  <input class=form-control
                    type=text
                    name={{ filter.id | h }}
                    value={{ option.text | h }} />
                </div>
              {% else %}
                <div class={{ type | h }}>
                  <label>
                    <input
                      type={{ type | h }}
                      name={{ filter.id | h }}
                      value={{ option.id | h }}
                      {% if option.checked %}
                        checked=checked
                        data-checked=true{% endif %}
                      />
                    {{ option.label | h }}
                  </label>
                </div>
              {% endif %}
            </li>
          {% endfor %}
        </ul>
      </li>
    {% endfor %}
  </ul>
  <button class=btn btn-default data-serialized-query=mf data-target=#entitylist-filters>Apply Filters</button>
{% endif %}

reverse_sort

Étant donnée une expression de tri, renvoie la direction de tri opposée.

Code

<!-- Sort direction is not case-sensitive -->

{{ 'ASC' | reverse_sort }}

{{ 'desc' | reverse_sort }}

Sortie

DESC

ASC

Filtres mathématiques

Les filtres mathématiques vous permettent d’effectuer des opérations mathématiques sur les chiffres.

Comme avec tous les filtres, les filtres mathématiques peuvent être chaînés et sont appliqués dans l’ordre de gauche à droite.

Code

{{ 10 | times: 2 | minus: 5 | divided_by: 3 }}

Sortie

5

plafond

Arrondit une valeur jusqu’à l’entier le plus proche.

Code

{{ 4.6 | ceil }}

{{ 4.3 | ceil }}

Sortie

5

5

divided_by

Divise un nombre par un autre nombre.

Code

{{ 10 | divided_by: 2 }}

{{ 10 | divided_by: 3 }}

{{ 10.0 | divided_by: 3 }}

Sortie

5

3

3.333333

plancher

Arrondit une valeur jusqu’à l’entier inférieur.

Code

{{ 4.6 | floor }}

{{ 4.3 | floor }}

Sortie

4

4

moins

Soustrait un nombre d’un autre nombre.

Code

<!-- entityview.page = 11 -->

{{ entityview.page | minus: 1 }}

{{ 10 | minus: 1.1 }}

{{ 10.1 | minus: 1 }}

Sortie

10

9

9.1

modulo

Divise un nombre par un autre nombre et renvoie le reste.

Code

{{ 12 | modulo: 5 }}

Sortie

2

et

Ajoute un nombre à un autre nombre.

Code

<!-- entityview.page = 11 -->

{{ entityview.page | plus: 1 }}

{{ 10 | plus: 1.1 }}

{{ 10.1 | plus: 1 }}

Sortie

12

11

11.1

arrondi

Arrondit une valeur à l’entier le plus proche ou au nombre de décimales spécifié.

Code

{{ 4.6 | round }}

{{ 4.3 | round }}

{{ 4.5612 | round: 2 }}

Sortie

5

4

4.56

multiplie

Multiplie un nombre par un autre nombre.

Code

{{ 10 | times: 2 }}

{{ 10 | times: 2.2 }}

{{ 10.1 | times: 2 }}

Sortie

20

20

20.2

Filtres de chaîne

Les filtres de chaîne manipulent les chaînes.

append

Ajoute une chaîne à la fin d’une autre chaîne.

Code

{{ 'filename' | append: '.js' }}

Sortie

filename.js

capitalize

Met en majuscule chaque mot dans une chaîne.

Code

{{ 'capitalize me' | capitalize }}

Sortie

Capitalize Me

downcase

Convertit une chaîne en minuscule.

Code

{{ 'MIxed Case TExt' | downcase }}

Sortie

mixed case text

newline_to_br

Insère une balise HTML de saut de ligne <br /> à chaque saut de ligne dans une chaîne.

Code

{% capture text %}

A

B

C

{% endcapture %}

{{ text | newline_to_br }}

Sortie

A<br />

B<br />

C<br />

prepend

Ajoute une chaîne au début d’une autre chaîne.

Code

{{ 'Jane Johnson' | prepend: 'Dr. ' }}

Sortie

Dr. Jane Johnson

remove

Supprime d’une chaîne toutes les occurrences d’une sous-chaîne.

Code

{{ 'Hello, Dave. How are you, Dave?' | remove: 'Dave' }}

Sortie

Hello, . How are you, ?

remove_first

Supprime d’une chaîne la première occurrence d’une sous-chaîne.

Code

{{ 'Hello, Dave. How are you, Dave?' | remove_first: 'Dave' }}

Sortie

Hello, . How are you, Dave?

replace

Remplace toutes les occurrences d’une chaîne par une sous-chaîne.

Code

{{ 'Hello, Dave. How are you, Dave?' | replace: 'Dave', 'John' }}

Sortie

Hello, John. How are you, John?

replace_first

Remplace la première occurrence d’une chaîne par une sous-chaîne.

Code

{{ 'Hello, Dave. How are you, Dave?' | replace_first: 'Dave', 'John' }}

Sortie

Hello, John. How are you, Dave?

split

Le filtre split accepte une sous-chaîne comme paramètre. La sous-chaîne est utilisée comme délimiteur pour diviser une chaîne en tableau.

Code

{% assign words = This is a demo of the split filter | split: ' ' %}

First word: {{ words.first }}

First word: {{ words[0] }}

Second word: {{ words[1] }}

Last word: {{ words.last }}

All words: {{ words | join: ', ' }}

Sortie

First word: This

First word: This

Second word: is

Last word: filter

All words: This, is, a, demo, of, the, split, filter

strip_html

Supprime toutes les balises HTML d’une chaîne.

Code

<p>Hello</p>

Sortie

Hello

strip_newlines

Supprime les sauts de ligne d’une chaîne.

Code

{% capture text %}

A

B

C

{% endcapture %}

{{ text | strip_newlines }}

Sortie

ABC

text_to_html

Met en forme une chaîne de texte brut au format HTML simple. Le texte est codé au format HTML, les blocs de texte séparés par une ligne vide sont enveloppés dans des balises <p> de paragraphe, les sauts de ligne uniques sont remplacés par <br> et les URL sont converties en liens hypertexte.

Code

{{ note.notetext | text_to_html }}

Sortie

<p>This is the first paragraph of notetext. It contains a URL: <a href="https://example.com/" rel="nofollow">https://example.com</a></p>

<p>This is a second paragraph.</p>

truncate

Tronque une chaîne en un nombre de caractères donné. Des points de suspension (...) sont ajoutés à la chaîne et inclus dans le nombre de caractères.

Code

{{ 'This is a long run of text.' | truncate: 10 }}

Sortie

This is...

truncate_words

Tronque une chaîne en un nombre de mots donné. Des points de suspension (...) sont ajoutés à la chaîne tronquée.

Code

{{ 'This is a long run of text.' | truncate_words: 3 }}

Sortie

This is a...

upcase

Convertit une chaîne en majuscule.

Code

{{ 'MIxed Case TExt' | upcase }}

Sortie

MIXED CASE TEXT

Filtres de type

Les filtres de type vous permettent de convertir des valeurs d’un type en d’autres types.

boolean

Tente de convertir une valeur chaîne en valeur booléenne. Si la valeur est déjà booléenne, elle revient inchangée. Si la valeur ne peut pas être converti en booléen, null est renvoyé.

Ce filtre accepter également « on », « enabled » ou « yes » comme true, et « off », « disabled » et « no » comme false.

Code

{{ true | boolean }}

{{ 'false' | boolean }}

{{ 'enabled' | boolean }}

{{ settings['something/enabled'] | boolean | default: false }}

Sortie

true

false

true

false

décimal

Tente de convertir une valeur chaîne en nombre décimal. Si la valeur est déjà un nombre décimal, elle revient inchangée. Si la valeur ne peut pas être converti en nombre décimal, null est renvoyé.

Code

{{ 10.1 | decimal }}

{{ '3.14' | decimal }}

{{ 'text' | decimal | default: 3.14 }}

Sortie

10.1

3.14

3.14

integer

Tente de convertir une valeur chaîne en valeur entière. Si la valeur est déjà un entier, elle revient inchangée. Si la valeur ne peut pas être converti en entier, null est renvoyé.

Code

{{ 10 | integer }}

{{ '10' | integer }}

{{ '10.1' | integer }}

{{ 'text' | integer | default: 2 }}

Sortie

10

10

2

string

Tente de convertir une valeur dans sa représentation sous forme de chaîne. Si la valeur est déjà une chaîne, elle revient inchangée. Si la valeur est null, null est renvoyé.

Filtres d’URL

Les filtres d’URL vous permettent de créer ou d’extraire des groupes d’URL.

add_query

Ajoute un paramètre de chaîne de requête à une URL. Si le paramètre existe déjà dans l’URL, la valeur du paramètre sera mise à jour.

Si ce filtre est appliqué à une URL absolue complète, une URL absolue mise à jour en sera le résultat. S’il est appliqué à un chemin d’accès, un chemin d’accès mis à jour en sera le résultat.

Code

{{ 'https://example.com/path?page=1' | add_query: 'foo', 'bar' }}

{{ '/path?page=1' | add_query: 'page', 2 }}

Sortie

https://example.com/path?page=1&foo=bar

/path?page=2

base

Obtient l’URL de base d’une URL donnée.

Code

{{ 'https://example.com/path?foo=bar&page=2' | base }}

Sortie

https://example.com

host

Obtient la partie hôte d’une URL.

Code

{{ 'https://example.com/path?foo=bar&page=2' | host }}

Sortie

example.com

path

Obtient la partie chemin d’une URL.

Code

{{ 'https://example.com/path?foo=bar&page=2' | path }}

{{ '/path?foo=bar&page=2' | path }}

Sortie

/path

/path

path_and_query

Obtient les parties chemin et requête d’une URL.

Code

{{ 'https://example.com/path?foo=bar&page=2' | path_and_query }}

{{ '/path?foo=bar&page=2' | path_and_query }}

Sortie

/path?foo=bar&page=2

/path?foo=bar&page=2

port

Obtient le numéro de port d’une URL.

Code

{{ 'https://example.com/path?foo=bar&page=2' | port }}

{{ 'https://example.com/path?foo=bar&page=2' | port }}

{{ 'https://example.com:9000/path?foo=bar&page=2' | port }}

Sortie

80

443

9000

remove_query

Supprime un paramètre de chaîne de requête d’une URL. Si le paramètre n’est pas existe dans l’URL, l’URL est renvoyée inchangée.

Si ce filtre est appliqué à une URL absolue complète, une URL absolue mise à jour en sera le résultat. S’il est appliqué à un chemin d’accès, un chemin d’accès mis à jour en sera le résultat.

Code

{{ 'https://example.com/path?page=1' | remove_query: 'page' }}

{{ '/path?page=1' | remove_query: 'page' }}

Sortie

https://example.com/path

/path

scheme

Obtient la partie schéma d’une URL.

Code

{{ 'https://example.com/path?foo=bar&page=2' | scheme }}

{{ 'https://example.com/path?foo=bar&page=2' | scheme }}

Sortie

http

https

Filtres supplémentaires

Ces filtres fournissent une fonctionnalité générale utile.

default

Renvoie une valeur par défaut pour toute variable sans aucune valeur attribuée (c’est-à-dire null).

Code

{{ snippets[Header] | default: 'My Website' }}

Sortie

<!-- If a snippet with the name Header returns null -->

My Website

file_size

Appliqué à une valeur numérique représentant un certain nombre d’octets, renvoie une taille de fichier mise en forme avec une unité d’échelle appropriée.

Éventuellement, il est possible d’ajouter paramètre de précision pour contrôler le nombre de décimales dans le résultat. La précision par défaut est 1.

Code

{{ 10000000 | file_size }}

{{ 2050 | file_size: 0 }}

{{ entity.notes.first.filesize | file_size: 2 }}

Sortie

9.5 MB

2 KB

207.14 KB

h

Fournit une représentation HTML d’un attribut. Par exemple, afficher une représentation HTML de l’attribut XML FetchXML de la requête.

Code

{{ samplequery.xml | h }}

Sortie

<fetch mapping="logical" count="5000" page="1" returntotalrecordcount="true"> <entity name="contact"> <attribute name="fullname" /> </entity> </fetch>

has_role

Appliqué à un utilisateur, renvoie true si l’utilisateur appartient au rôle donné. Renvoie false dans le cas contraire.

Code

{% assign is_admin = user | has_role: 'Administrators' %}

{% if is_admin %}

User is an administrator.

{% endif %}

liquid

Affiche une chaîne sous forme de code Liquid. Ce code aura un accès au contexte d’exécution Liquid actuel (variables, etc.).

Note

Ce filtre doit être utilisé avec prudence et doit généralement être appliqué aux valeurs qui se trouvent sous le contrôle exclusif des rédacteurs de contenu du site, ou d’autres utilisateurs de confiance capables d’écrire du code Liquid.

Code

{{ page.adx_copy | liquid }}

Voir aussi