Jekyll 嵌套的;至于;“内部循环”;如果;液体/凝胶状态

Jekyll 嵌套的;至于;“内部循环”;如果;液体/凝胶状态,jekyll,liquid,Jekyll,Liquid,我在尝试生成站点时遇到语法错误。你知道这里会出什么问题吗 错误:液体语法错误:未知标记“elsif” {% if page.title == "Tags" %} {% for tag in site.tags %} {% elsif page.title == "Categories" %} {% for tag in site.categories %} {% endif %} <a href="#{{ tag[0] | slugify }}">{{ tag[0

我在尝试生成站点时遇到语法错误。你知道这里会出什么问题吗

错误:液体语法错误:未知标记“elsif”

{% if page.title == "Tags" %}
    {% for tag in site.tags %}
{% elsif page.title == "Categories" %}
    {% for tag in site.categories %}
{% endif %}
  <a href="#{{ tag[0] | slugify }}">{{ tag[0] }}</a>
  {% endfor %}
{%if page.title==“Tags”%}
{site.tags%中的标记的%s}
{%elsif page.title==“类别”%}
{site.categories%中标记的%s}
{%endif%}
{%endfor%}

不能像这样有条件地启动循环,控制块必须正确嵌套。要完成您试图做的事情,您可以:

{% if page.title == "Tags" %}
  {% assign data = site.tags %} 
{% elsif page.title == "Categories" %}
  {% assign data = site.categories %}
{% endif %}

{% for tag in data %}
  <a href="#{{ tag[0] | slugify }}">{{ tag[0] }}</a>
{% endfor %}
{%if page.title==“Tags”%}
{%assign data=site.tags%}
{%elsif page.title==“类别”%}
{%assign data=site.categories%}
{%endif%}
{%用于数据%中的标记}
{%endfor%}

你完全搞错了。嵌套循环不是这样工作的。 它应该在同一个条件中开始和结束

if conditional
    for loop

    endfor
endif
像这样的

所以,正确的方法应该是

{% if page.title == "Tags" %}
    {% for tag in site.tags %}
        <a href="#{{ tag[0] | slugify }}">{{ tag[0] }}</a>
    {% endfor %}
{% elsif page.title == "Categories" %}
    {% for tag in site.categories %}
        <a href="#{{ tag[0] | slugify }}">{{ tag[0] }}</a>
    {% endfor %}
{% endif %}
{%if page.title==“Tags”%}
{site.tags%中的标记的%s}
{%endfor%}
{%elsif page.title==“类别”%}
{site.categories%中标记的%s}
{%endfor%}
{%endif%}
这段代码应该完全符合您的要求,但是有一种更好的方法,正如