在Jekyll中列出特定类别内的标记
我正在将我的Wordpress博客迁移到Jekyll,到目前为止我非常喜欢它。新站点中的当前设置如下所示:在Jekyll中列出特定类别内的标记,jekyll,liquid,Jekyll,Liquid,我正在将我的Wordpress博客迁移到Jekyll,到目前为止我非常喜欢它。新站点中的当前设置如下所示: 使用category区分两种类型的帖子(例如博客和公文包) 正常使用标签 现在的挑战是显示类别中的所有标记,因为我想为两种类型的帖子创建两个单独的标记云 据我所知,Liquid支持在站点中的所有标签上循环,如下所示: {% for tag in site.tags %} {{ tag | first }} {% endfor %} {% for tag in site['ca
- 使用
区分两种类型的帖子(例如博客和公文包)category
- 正常使用
标签
类别中的所有标记
,因为我想为两种类型的帖子创建两个单独的标记云
据我所知,Liquid支持在站点中的所有标签上循环,如下所示:
{% for tag in site.tags %}
{{ tag | first }}
{% endfor %}
{% for tag in site['category'].tags %}
{{ tag | first }}
{% endfor %}
但我想将范围限制在一个特定的类别,我希望这样做:
{% for tag in site.tags %}
{{ tag | first }}
{% endfor %}
{% for tag in site['category'].tags %}
{{ tag | first }}
{% endfor %}
任何建议都将不胜感激。这似乎适用于所有类型的过滤器,如类别或其他前置变量,如“类型”,因此我可以有类型:文章或类型:视频,如果我将其放在“位置”部分,这似乎只从其中一个获取标签
{% assign sorted_tags = site.tags | sort %}
{% for tag in sorted_tags %}
{% assign zz = tag[1] | where: "category", "Photoshop" | sort %}
{% if zz != empty %}
<li><span class="tag">{{ tag[0] }}</span>
<ul>
{% for p in zz %}
<li><a href="{{ p.url }}">{{ p.title }}</a></li>
{% endfor %}
</ul>
</li>
{% endif %}
{% endfor %}
{%assign sorted_tags=site.tags|sort%}
{已排序的_标记%中的标记的百分比}
{%assign zz=tag[1]|其中:“category”,“Photoshop”| sort%}
{%if zz!=空%}
{{tag[0]}
{zz%中p的百分比}
{%endfor%}
{%endif%}
{%endfor%}
zz只是用来过滤第一个标记[0]上方的内容,因为它似乎只有标记本身,所以您可以使用它过滤任何其他内容。标记[1]包含所有其他内容
最初我使用的是if zz!=null或如果zz!=“”但它们都不起作用。这将起作用,它将只列出“X”类帖子上的标签。将X替换为类别的名称
{%用于站点中的帖子。类别['X']%}
{post.tags%中标记的%s}
{{tag}}
{%endfor%}
{%endfor%}
此解决方案非常清晰。我希望我能再投你一票。对我来说,使用类别[0]
替换为“Photoshop”
。如果它不起作用,请更新Jekyll gem,因为“where”过滤器仅适用于Jekyll 3.2及以上版本。