嗨,我是Jekyll的新手,并且建立了一个基本博客。现在,我的想法是遍历每个博客帖子的集合,以获取一些精美的HTML。因为据我所知,您不能简单地将HTML添加到降价促销中。
// config.yml
collections:
- hollowknight
因此,我建立了一个名为hollowknight
的收藏集,并且收到了有关空心骑士的博客文章。
在博客文章的前题中,我有collectionid: 'hollowknight'
。在用于博客文章的“布局”中,我尝试了以下操作:
// post.html
{% capture collection %}site.{{ page.collectionid }}{% endcapture %}
{% for section in collection %}
{{ section.title }}
{% endfor %}
因此,想法是将collection
变量设置为site.hollowknight
,如在config和Front Matter中配置的那样。我在收藏集中设置了一篇文章,但未显示。
有没有办法实现这一目标? 编辑 :https://talk.jekyllrb.com/t/list-collection-with-name-from-front-matter/3619/6
或者是否可以在Front Matter中使用段落,因为这样我就可以在帖子的Front Matter中使用数组和对象来做我的魔术了?
编辑 :https://github.com/jekyll/jekyll/issues/246#issuecomment-1639375
或者我只是远远超出了杰基尔的本意?
编辑
所以我发现我以错误的方式获取了收藏集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
被使用但无法正常工作的地方。
答案 0 :(得分:0)
这是最终的解决方案:
{% for section in site.[page.collectionid] %}
{{ section.content | markdownify }}
{% endfor %}
它是markdownify
而不是textilize
。
我最终还使用了Front Matter数组,该数组带有对象以循环通过,而不是使用集合来保持其更有条理。