我可以通过使用 Jekyll 的标签数组来获取帖子吗?

Can I get posts by using an array of tags using Jekyll?

我正在为我的 Jekyll 网站开发一个 liquid 脚本来检索相关的 post。我想使用用于当前 post (post.tags) 的标签数组来执行与网站上也有一个 的其他 post 相匹配的查询](或更多) 个标签。如:

assign relatedPosts = site.posts | where 'tags', page.tags

但是文档中只提到传入一个字符串,而不是一个字符串数组?理想情况下,我希望使用 where 运算符 (或类似的东西) 来完成此操作,而不是遍历网站上的每个 post。

你说得对,你不能为 where 运算符提供数组,根据文档,你只能在那里传递一个字符串。

根据您要求的性质,您似乎无法避免遍历网站上的每个 post,因为基本上您想检查所有 post不同的标签。

一个可能的解决方案是先遍历您的 post 标签,然后根据所有站点 post 标签检查该标签,如下所示:

{% assign new_array = "" | split: "" %}
{% for tag in page.tags %}
    {% assign tag_found = site.posts | where "tags": tag %}
    {% assign new_array = new_array | concat: tag_found %}
{% endfor %}
OUTPUT: {{ new_array }}