2016-05-25 93 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'] 

不知道這是否回答你的問題,我希望它對某人有用。