我使用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}}
如何访问前面的内容?
提前致谢。
答案 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}}