Return 来自 Jekyll 集合/数据源的唯一值
Return unique values from Jekyll collection / data source
我在 Jekyll 站点的 _data
文件夹中有一个 JSON 数据源,如下所示:
{
"1": {
"name": "March",
"year": "2014"
},
"2": {
"name": "May",
"year": "2013"
},
....
}
我想列出 year 属性的唯一值。以下returns年列表;我只想要独一无二的岁月
<ul>
{% for playlist in site.data.playlists %}
<li>
{{ playlist[1].year }}
</li>
{% endfor %}
</ul>
尝试分配变量以便我可以使用给定的变量 here 但没有成功,而且我不确定它是否能在 Jekyll 中正常工作。
你应该只处理一次相等的元素,这些代码可能有效:
<ul>
{% assign s_year = null %}
{% assign t_year = null %}
{% for playlist in site.data.playlists %}
{% capture t_year %}{{playlist[1].year}}{% endcapture %}
{% if t_year == s_year %}{% else %}
<li>
{{ t_year }}
</li>
{% endif %}
{% capture s_year %}{{ t_year }}{% endcapture %}
{% endfor %}
</ul>
您似乎想按年份对播放列表进行分组。
_data/playlists.json
[
{
"name": "March",
"year": "2014"
},
{
"name": "May",
"year": "2013"
},
{
"name": "December",
"year": "2013"
}
]
请注意,我们这里有一个哈希数组。
您现在可以按年份循环播放列表:
{% comment %} ++++ Group playlists by year ++++ {% endcomment %}
{% assign grouped = site.data.playlists | group_by: "year" %}
<ul>
{% for year in grouped %}
<li>
{{ year.name }}
<ul>
{% for item in year.items %}
<li>{{ item.name }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
我在 Jekyll 站点的 _data
文件夹中有一个 JSON 数据源,如下所示:
{
"1": {
"name": "March",
"year": "2014"
},
"2": {
"name": "May",
"year": "2013"
},
....
}
我想列出 year 属性的唯一值。以下returns年列表;我只想要独一无二的岁月
<ul>
{% for playlist in site.data.playlists %}
<li>
{{ playlist[1].year }}
</li>
{% endfor %}
</ul>
尝试分配变量以便我可以使用给定的变量 here 但没有成功,而且我不确定它是否能在 Jekyll 中正常工作。
你应该只处理一次相等的元素,这些代码可能有效:
<ul>
{% assign s_year = null %}
{% assign t_year = null %}
{% for playlist in site.data.playlists %}
{% capture t_year %}{{playlist[1].year}}{% endcapture %}
{% if t_year == s_year %}{% else %}
<li>
{{ t_year }}
</li>
{% endif %}
{% capture s_year %}{{ t_year }}{% endcapture %}
{% endfor %}
</ul>
您似乎想按年份对播放列表进行分组。
_data/playlists.json
[
{
"name": "March",
"year": "2014"
},
{
"name": "May",
"year": "2013"
},
{
"name": "December",
"year": "2013"
}
]
请注意,我们这里有一个哈希数组。
您现在可以按年份循环播放列表:
{% comment %} ++++ Group playlists by year ++++ {% endcomment %}
{% assign grouped = site.data.playlists | group_by: "year" %}
<ul>
{% for year in grouped %}
<li>
{{ year.name }}
<ul>
{% for item in year.items %}
<li>{{ item.name }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>