jekyll - 我可以使用 Jekyll 使用一组标签来获取帖子吗?
问题描述
我正在为我的 Jekyll 网站编写一个流动脚本来检索相关帖子。我想使用用于当前帖子(post.tags)的标签数组进行查询,以匹配网站上也有一个(或多个)这些标签的其他帖子。如:
assign relatedPosts = site.posts | where 'tags', page.tags
但是,在文档中它只提到传入一个字符串,而不是一个字符串数组?理想情况下,我希望使用 where 运算符(或类似的东西)来完成此操作,而不是遍历网站上的每个帖子。
解决方案
你是正确的,你不能为where
操作员提供一个数组,根据文档,你只能在那里传递一个字符串。
根据您的要求的性质,您似乎无法避免遍历网站上的每个帖子,因为基本上您想检查所有帖子是否有几个不同的标签。
一种可能的解决方案是首先遍历您的帖子标签,然后根据所有网站帖子标签检查该标签,如下所示:
{% 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 }}
推荐阅读
- fusionauth - FusionAuth 外部 JWT 提供程序 - 电子邮件域
- python - 熊猫会自动跳过行做大小限制吗?
- bash - 为什么 conky 中的 execbar 不能使用变量
- python - 在 python 中使用谷歌地图 api
- r - 如何通过分组和过滤将行扩展到列?
- rest - DRY Rest API 测试
- java - SOAP 到 REST 转换的代理服务期间的 WSO2 问题
- c# - 如何使用实体框架将我的文件从 MsSql Server 上传到 WinForm?
- swift - 如何从网上下载一组 url 图片
- python - BeautifulSoup : how to show the inside of a div that won't show?