随机访问Jekyll集合的内容

时间:2016-05-25 04:46:07

标签: jekyll

我使用Jekyll集合生成reveal.js演示文稿。集合中的每个文件代表一个幻灯片,并按顺序命名,例如01.md,02.md等。这一切都运行正常,但我想找到一种更灵活的方法来订购幻灯片。

如果我可以随机访问集合中的文件,而不是按顺序遍历它们,我可以保持集合外部幻灯片的顺序 - 类似于:[0,1,3,2,4]。

集合定义为:

collections:
  reality:
    title: Reality Slide Deck
    output: false

我可以通过以下方式获取该集合第3项的内容:

{{site.reality[3].content}} 

如何访问前面的内容?

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以使用site.collection遍历您网站的内容,如https://jekyllrb.com/docs/collections/#documents

中的文档所述

要只访问一个集合,您可以使用条件语句。

{% for info in site.collections %}
<ul>
    <li>{{ info }}</li>
    <li>The name of the collection: {{ info.label }}</li>
    {% for stuff in info.docs %}
    <li>{{ stuff.title }}</li>
    {% endfor %}
</ul>
{% endfor %}

说完所有这些之后你当然可以循环浏览下面的一个集合:

{% for real in site.reality %}
    <li>{{ real.title }}</li>
{% endfor %}

唯一可以使用液体语法创建数组的其他方法

{{ "a~b" | split:"~" }} #=> ['a','b']

不确定这是否能回答您的问题,我希望它对某些人有用。

答案 1 :(得分:0)

任何前面的事物变量都以自己的名字提供。

{{site.reality[3].title}}

{{site.reality[3].variableName}}