我对Jekyll和Ruby很新(但非常兴奋).
没有使用插件,我试图找到一种方法来过滤site.related_posts.
例如,我正在阅读标题Foo和类别的帖子A, B.
该网站共包含3个帖子:
Foo (分类:A,B)Bar (分类:A,C,D)Zoo (分类:B,F)默认情况下,在Jekyll中我们这样做:
{%for site in site.related_posts限制:5%}
{%endfor%}
但是,上面的代码返回所有(3)个帖子.
帖子包含许多类别,因此类别应该是数组.
如何修改代码并仅返回其类别与当前帖子的类别相交的代码?
(在这个例子中,我希望代码只返回Foo和Zoo.)
我现在没有能力测试这个,但是这样的东西在Liquid的有限语法下会起作用:
{% for post in site.related_posts limit:5 %}
{% assign match = false %}
{% for category in post.categories %}
{% if page.categories contains category %}
{% assign match = true %}
{% endif %}
{% endfor %}
{% if match %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)