在Jekyll中列出特定类别内的标记

在Jekyll中列出特定类别内的标记,jekyll,liquid,Jekyll,Liquid,我正在将我的Wordpress博客迁移到Jekyll,到目前为止我非常喜欢它。新站点中的当前设置如下所示: 使用category区分两种类型的帖子(例如博客和公文包) 正常使用标签 现在的挑战是显示类别中的所有标记,因为我想为两种类型的帖子创建两个单独的标记云 据我所知,Liquid支持在站点中的所有标签上循环,如下所示: {% for tag in site.tags %} {{ tag | first }} {% endfor %} {% for tag in site['ca

我正在将我的Wordpress博客迁移到Jekyll,到目前为止我非常喜欢它。新站点中的当前设置如下所示:

  • 使用
    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及以上版本。