web-dev-qa-db-ja.com

Jekyllでifステートメントをチェーンするにはどうすればよいですか?

Jekyllで論理演算子を使用していますが、機能していません。

1ページ目、2ページ目、3ページ目はすべて同じレイアウトを使用しています(多言語ソリューションの一部はうまく機能しますが、レイアウトを制御するために論理ループを使用してDRYを維持します)。

コードは次のとおりです。

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

elseif elseのセットアップのみに分解すると、ツリーの任意の2つですべてが機能します。しかし、3番目の条件を使用するとすぐに壊れます。 Jekyllでは2つの条件に制限されていますか?潜在的に再構築してcase演算子を適用可能にすることもできますが、ここで根本的な問題を理解したいと思います。皆さんありがとう。

69
motleydev

Jekyll/Liquidでは、else-ifのスペルはelsifです。つまり:

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