使用FrontMatter提取相关的帖子集吗?

时间:2020-07-15 14:09:04

标签: markdown eleventy

基本上,我想在帖子页面上显示相关帖子。这就是FrontMatter。

---
title: Cape Fear
date: 2020-05-28
image: capefear
tags: movie
---

然后我可以根据标签是什么来获取该帖子的收藏集?

<ul class="related">
  {%- for page in collections.{{tag}} -%}
    <li><a href="{{ page.url }}">{{ page.data.title }}</a></li>
  {%- endfor -%}
  </ul>

这不起作用。关于如何在collections循环中输出标签的任何想法?

1 个答案:

答案 0 :(得分:0)

我认为page in site.tags[tag_name]是正确的做法。

因此,如果您希望基于标签在页面上列出相关文章,则可能是其中一种方法:

{% assign related_posts = [] %}
{%- for related_tag in page.tags | split: '|' %}
  {% assign related_posts = related_posts | concat: site.tags[related_tag] | uniq %}
{%- endfor %}

<ul class="related">
  {%- for related_post in related_posts %}
    <li><a href="{{ related_post.url }}">{{ related_post.title }}</a></li>
  {%- endfor %}
</ul>

在这里,我首先创建一个列表,列出所有与当前页面具有共同标签的帖子,而不是逐一列出。