Le seul moyen que je connaisse pour créer un tableau à partir de mon modèle liquide est:
{% assign my_array = "one|two|three" | split: "|" %}
Y a-t-il un autre moyen de le faire?
Frontmatter
Ceci est une bonne solution de contournement, ajoutez en haut de votre fichier:
---
my_array:
- one
- two
- three
---
puis utilisez-le comme:
{{ page.my_array }}
Analogue pour le site site.data.my_array
large sur le _config
ou sous _data/some_file.yml
.
Mise à jour de Jekyll 3 pour les mises en page
Si la face avant est celle d'une mise en page, vous devez utiliser:
{{ layout.style }}
au lieu. Voir: https://stackoverflow.com/a/37418818/895245
Y a-t-il un autre moyen de le faire?
Nope, votre filtre split
est le moyen de le faire.
Voici une autre façon de le faire en utilisant tout d'abord capture
comme moyen convivial d'affecter des valeurs séparées par une ligne à une variable, puis en convertissant cette variable en tableau avec assign
et quelques filtres:
{% capture my_array %}
one
two
three
{% endcapture %}
{% assign my_array = my_array | strip | newline_to_br | strip_newlines | split: "<br />" %}
Les filtres ont les propriétés suivantes:
strip
supprime les espaces blancs avant one
et les derniers espaces après three
.newline_to_br
remplace les nouvelles lignes par les balises <br />
.strip_newlines
supprime les nouvelles lignes superflues possibles.split
convertit la chaîne en tableau, en utilisant <br />
comme séparateur.