web-dev-qa-db-fra.com

Comment chaîner des instructions if dans Jekyll?

J'utilise un opérateur logique dans Jekyll mais cela ne fonctionne pas.

Les pages un, deux et trois utilisent toutes la même mise en page (partie d'une solution multilingue, fonctionne bien mais nécessite des boucles logiques pour un certain contrôle de mise en page pour garder les choses au SEC.)

Voici le code:

{% if page.type == "post" %}
{% include post.html %}
{% elseif page.class == "contact" %}
{% include contact.html %}
{% else %}
{{ content }}
{% endif %}

Si je le décompose en un else et un if else configuration, avec deux de l'arbre, tout fonctionne. Mais dès que j'utilise une troisième condition, elle se casse. Suis-je limité à deux conditions avec Jekyll? Je peux potentiellement restructurer pour rendre un opérateur case applicable, mais je préférerais comprendre le problème fondamental ici. Merci a tous.

69
motleydev

Dans Jekyll/Liquid else-if s'écrit elsif, c'est-à-dire:

{% if page.type == "post" %}
{% include post.html %}
{% elsif page.class == "contact" %}
{% include contact.html %}
{% else %}
{{ content }}
{% endif %}
120
huon