我很難用Jeamll中使用YAML循環所需的精確縮進和連字符。如果在_data文件中的YAML循環結構爲Jekyll
對於上下文:我正在使用Fancybox,它可以包含隱藏圖像,一旦彈出打開縮略圖,就可以滾動該隱藏圖像。在我建立了藏在裏面的圖像畫廊並不是所有的圖像,但也有一些,這需要插入到每個
所以基本上我試圖打造出一個/_data
頁面調用gallery.yml
有HTML塊所有必需的項目(縮略圖URL,標題等),以便插入到Fancybox HTML(它位於/_include
s內的頁面)中。
我找不到確切的答案,以確切地說明如何構建YAML在我的情況。我一直在獲取映射值和解析錯誤。我會盡量簡化結構儘可能:
gallery.yml
:
#gallery
- name: Saturn
category: Planets
thumb_url: saturn-thumb.jpg
main_url: saturn.jpg
- name: Neptune
category: Planets
thumb_url: neptune-thumb.jpg
main_url: neptune.jpg
- set_two:
category: Planets
main_url: neptune-2.jpg
- set_three:
category: Planets
main_url: neptune-3.jpg
- name: Mars
category: Planets
thumb_url: mars-thumb.jpg
main_url: mars.jpg
內/_includes
(我們假設這有適當的fancybox HTML,我只是想讓它簡化爲可能的)頁面:
{% for gallery in site.data.gallery %}
// Main Fancybox
<p>{{ gallery.name }} - {{ gallery.category }}</p>
<img src="{{ gallery.thumb_url }}" /><img src="{{ gallery.main_url }}" />
{% for ??? in ??? %} // This is where the hidden Fancybox data would be, if it exists
<p>{{ gallery.main_url }} - {{ gallery.category }}</p>
{% endfor %}
{% endfor %}
什麼是創造YAML這些分組的縮進規則?我如何在循環內調用它們?
這就是它現在:
<HTML for Fancybox structure for Saturn>
<img main image />
<img thumbnail />
</HTML for Fancybox structure>
<HTML for Fancybox structure for Neptune>
<img main image />
<img thumbnail />
</HTML for Fancybox structure>
重複,直到畫廊完成。
但所需的輸出是:如果/當特定畫廊項目具有嵌套在多的fancybox圖像,哲基爾代碼將它們插入,我在YAML文件中列出。
所以......
<HTML for Fancybox structure for Saturn>
<img main image />
<img thumbnail />
</HTML for Fancybox structure>
<HTML for Fancybox structure for Neptune - which has additional elements>
<img main image />
<img thumbnail />
<img main image 2 />
<img main image 3 />
</HTML for Fancybox structure>
我希望是有道理的。我只是試圖找出嵌套循環的Jekyll語法,而不是每個循環的實例都嵌套數據。
什麼是所需的輸出? – marcanuy
YAML中沒有嵌套循環,因此可能需要很長時間才能找出它們的YAML語法。你正在尋找的是Jekyll語法,它恰好受到YAML使用的限制。它也受到使用UTF-8的限制,但是你希望不要試圖找出UTF-8中的嵌套循環;-) – Anthon