Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I chain if statements in Jekyll?

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.

like image 368
motleydev Avatar asked Sep 14 '12 11:09

motleydev


1 Answers

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 %} 
like image 143
huon Avatar answered Sep 20 '22 11:09

huon