我有一个jekyll网站,我需要在某些页面上有一个画廊。
现在,对于每个页面,我在_data文件夹中有一个包含图像路径列表的相应文件。然后,我使用以下代码在每个页面上构建galklery:
{% for x in site.data.one %}
<img src="{{ x.img }}">
{% endfor %}
这仅适用于名为&#34; one&#34;的页面。
对于名为&#34; 2&#34;的页面,我将有类似的代码:
{% for x in site.data.two %}
<img src="{{ x.img }}">
{% endfor %}
等
我想知道,是否可以将其抽象到_includes文件夹中的文件中?所以我可以打电话
{% include gallery.html %}
在任何页面?然后代码检测从哪个页面调用,并按上述方式更改它?
希望我很清楚。答案 0 :(得分:1)
在_data / galleries.yml
中1:
- thumb: thumb1-1/src.jpg
medium: medium1-1/src.jpg
- thumb: thumb1-2/src.jpg
medium: medium1-2/src.jpg
2:
- thumb: thumb10-1/src.jpg
medium: medium10-1/src.jpg
- thumb: thumb10-2/src.jpg
medium: medium10-2/src.jpg
在包含图库的页面中:
---
layout: default
title: Page title
gallery_data_id: 1 << id of gallery datas for this page
---
<h1>Article 1</h1>
{% include gallery.html %}
在_includes / gallery.html
中{% if site.data.links[page.gallery_data_id] %} << NO DATA = print nothing
<ul>
{% for img in site.data.galleries[page.gallery_data_id] %}
<li>
<!-- do what you want with your datas here -->
thumb = {{img['thumb']}} - img = {{img['medium']}}
</li>
{% endfor %}
</ul>
{% endif %}