2016-05-25 50 views
0

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

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

其中收集被定义为:

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

我可以用收集的3项内容:

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

如何访问前回事?

在此先感谢。

回答

0

任何前置物件的变量都可以在自己的名下。

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

{{site.reality[3].variableName}} 
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'] 

不知道这是否回答你的问题,我希望它对某人有用。