Jekyll,在收藏的帖子中展示了前5个热门标签

时间:2017-10-29 17:31:17

标签: jekyll liquid

我已经有了一个工作代码,可以显示收集帖子中的所有标签,并在所有帖子中计算其编号。

这里:

{% assign tags =  site.blog | map: 'tags' | uniq %}
{% assign postInTagCount = 0 %}
<div class="blog-tags__tags-wrapper">
{% for tag in tags %}
    <a href="/blog/tags/#{'#'}{{ tag | downcase }}">
        <div class="tags_wrapper__tag">
            {{ tag }}
            {% for post in site.blog %}
                {% if post.tags contains tag %}
                    {% capture postInTagCount %}{{ postInTagCount | plus:1 }}{% endcapture %}
                {% endif %}
            {% endfor %}
            {% if postInTagCount <> 0 %} [{{ postInTagCount }}]{% endif %}
            {% capture postInTagCount %}0{% endcapture %}
        </div>
    </a>
{% endfor %}

但我想显示在所选集合的帖子中找到的5个最受欢迎的标签。

我有一个例子:https://www.codeofclimber.ru/tags/
但我不确定Jekyll是否在本网站上使用过。在作者的存储库中的Gitkhab,我找不到他的网站。

我请求你的帮助。谢谢。

2 个答案:

答案 0 :(得分:0)

该网站的作者确实使用了Jekyll。 :)

查看他的article,了解他是如何使用定制液体过滤器或直接与他联系SO @hal。

答案 1 :(得分:0)

可能通过捕获循环并写入其中: 首先是var PostInTagCount,您选择的分隔符,它不能出现在标记名称中,然后是标记,然后是辅助分隔符。

完成后,您将通过辅助分隔符拆分捕获并创建一个按A..B排序的新循环。因为第一个字符是你的var PostInTagCount它应该完成这项工作。