Как связать операторы if в Jekyll?

Я использую логический оператор в Jekyll, но он не работает.

Первая, вторая и третья страницы используют один и тот же макет (часть многоязычного решения, работает хорошо, но требует логических циклов для некоторого управления макетом, чтобы все было СУХИМ).

Вот код:

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

Если я разобью его только на установку else и if else, с любыми двумя из дерева, все будет работать. Но как только я использую третье условие, оно ломается. Я ограничен двумя условными предложениями с Jekyll? Я потенциально могу изменить структуру, чтобы сделать применимым оператор case, но я бы предпочел понять здесь основную проблему. Спасибо всем.


person motleydev    schedule 14.09.2012    source источник
comment
Используйте elsif вместо elseif   -  person pjumble    schedule 14.09.2012


Ответы (2)


В Jekyll/Liquid else-if пишется как elsif, то есть:

{% if page.type == "post" %}
{% include post.html %}
{% elsif page.class == "contact" %}
{% include contact.html %}
{% else %}
{{ content }}
{% endif %}
person huon    schedule 14.09.2012
comment
Можете ли вы продолжать использовать {% else %} для еще большего количества утверждений? - person whatsnewsaes; 10.01.2016

Вы можете использовать else if или elsif. elseif неверно и выдаст ошибку.

person Asaizumi    schedule 29.05.2021