Reputation: 3447
I am using a logic operator in Jekyll but it's not working.
Page one, two and three all use the same layout (part of a multilingual solution, works good but requires logical loops for some layout control to keep things DRY.)
Here's the code:
{% if page.type == "post" %}
{% include post.html %}
{% elseif page.class == "contact" %}
{% include contact.html %}
{% else %}
{{ content }}
{% endif %}
If I break it down to just an else
and an if else
setup, with any two of the tree, everything works. But as soon as I use a third condition it breaks. Am I limited to two conditionals with Jekyll? I can potentially restructure to make a case
operator applicable, but I'd prefer to understand the fundamental problem here. Thanks all.
Upvotes: 81
Views: 39614
Reputation: 17
You can either use else if
or elsif
.
elseif
is wrong and will throw an error.
Upvotes: -2
Reputation: 102216
In Jekyll/Liquid else-if is spelt elsif
, i.e.:
{% if page.type == "post" %}
{% include post.html %}
{% elsif page.class == "contact" %}
{% include contact.html %}
{% else %}
{{ content }}
{% endif %}
Upvotes: 134