尝试从 Front Matter 值中获取 collection

Trying to get a collection from a Front Matter value

大家好,我是 Jekyll 的新手,我已经建立了一个基本的博客。现在我的想法是循环遍历每个博客 post 的 collection 以获得一些有趣的 HTML 。因为据我所知,您不能简单地将 HTML 添加到降价中。

// config.yml

collections:
  - hollowknight

所以我建立了一个名为 hollowknight 的 collection 并且我有一个关于空心骑士的博客 post。 在博客的 Front Matter post 我有 collectionid: 'hollowknight'。在我用于博客 posts 的布局中,我尝试了以下操作:

// post.html

{% capture collection %}site.{{ page.collectionid }}{% endcapture %}

{% for section in collection %}
  {{ section.title }}
{% endfor %}

所以我的想法是将 collection 变量设置为 site.hollowknight,如配置和 Front Matter 中所配置的那样。我在 collection 中设置了一篇文章,但它没有显示。

有什么办法可以实现吗? 编辑https://talk.jekyllrb.com/t/list-collection-with-name-from-front-matter/3619/6

或者有没有办法在 Front Matter 中使用段落,因为这样我就可以在 post 的 Front Matter 中使用数组和 objects 来施展魔法?
编辑https://github.com/jekyll/jekyll/issues/246#issuecomment-1639375

或者我只是想远离 Jekyll 应该成为的样子?


编辑

所以我发现我得到 collection 的方式不对,https://talk.jekyllrb.com/t/list-collection-with-name-from-front-matter/3619/6

{% for section in site.[page.collectionid] %}
  {{ section.content | textilize }}
{% endfor %}

唯一奇怪的是,我到处都看到 | textilize 正在使用,但无法让它工作。

这是最终的解决方案:

{% for section in site.[page.collectionid] %}
  {{ section.content | markdownify }}
{% endfor %}

它是 markdownify 而不是 textilize

此外,我最终使用了一个 Front Matter 数组,其中包含要循环的对象而不是集合,以使其更有条理。