Jekyll嵌套包含for循环

Jekyll嵌套包含for循环,jekyll,github-pages,Jekyll,Github Pages,我希望在包含的文件中使用{%for%}循环,以避免重复创建循环数组的逻辑(它是一个赋值,具有多个where\u exps) 但我希望根据包含循环的位置使用不同的内容,因此有时我会这样做: {% for i in a %} <li>{{ i.name }}</li> {% endfor %} xml\u template.xml: <li>{{ i.name }}</li> <loc>{{ i.url }}</loc>

我希望在包含的文件中使用
{%for%}
循环,以避免重复创建循环数组的逻辑(它是一个
赋值
,具有多个
where\u exp
s)

但我希望根据包含循环的位置使用不同的内容,因此有时我会这样做:

{% for i in a %}
<li>{{ i.name }}</li>
{% endfor %}
xml\u template.xml:

<li>{{ i.name }}</li>
<loc>{{ i.url }}</loc>
{% assign a = "logic I don't want to repeat" %}
{% for i in a %}
{% include {{ include.inner_template }} %}
{% endfor %}
{% include page_loop.html inner_template="html_template.html" %}
{% include page_loop.html inner_template="xml_template.xml" %}
html\u main.html:

<li>{{ i.name }}</li>
<loc>{{ i.url }}</loc>
{% assign a = "logic I don't want to repeat" %}
{% for i in a %}
{% include {{ include.inner_template }} %}
{% endfor %}
{% include page_loop.html inner_template="html_template.html" %}
{% include page_loop.html inner_template="xml_template.xml" %}
xml\u main.xml:

<li>{{ i.name }}</li>
<loc>{{ i.url }}</loc>
{% assign a = "logic I don't want to repeat" %}
{% for i in a %}
{% include {{ include.inner_template }} %}
{% endfor %}
{% include page_loop.html inner_template="html_template.html" %}
{% include page_loop.html inner_template="xml_template.xml" %}

\u includes/page\u loop.html
:

{% assign a = "something" %}
{% for i in a %}
{%if include.type == "name"%}
<li>{{ i.name }}</li>
{%else if include.type == "url"%}
<loc>{{ i.url }}</loc>
{%endif %}
{% endfor %}


\u includes/page\u loop.html
:

{% assign a = "something" %}
{% for i in a %}
{%if include.type == "name"%}
<li>{{ i.name }}</li>
{%else if include.type == "url"%}
<loc>{{ i.url }}</loc>
{%endif %}
{% endfor %}


当我写这个问题时,我就想到了这种方法,但对我来说,仍然有一个相同的问题,即“内部”内容与周围的内容是分离的。谢谢你@cmbuckley是的,它看起来不那么干净,可能是真实数据更容易找到另一个替代方案,无论如何,上面的答案可以避免使用两个额外的模板,尽管这非常接近真实数据。在GitHub页面提供服务的站点中,我在一些地方过滤
site.GitHub.public\u responsies
,有时显示在站点地图中,有时显示项目列表。当我写问题的时候,我想到了这种方法,但我仍然有同样的问题,即“内部”内容与周围的内容是分开的。谢谢你@cmbuckley是的,它看起来不那么干净,可能是真实数据更容易找到另一个替代方案,无论如何,上面的答案可以避免使用两个额外的模板,尽管这非常接近真实数据。在GitHub页面提供服务的站点中,我在一些地方过滤
site.GitHub.public\u responsies
,有时显示在站点地图中,有时显示项目列表。在这里我重复这个任务。