Мне трудно с точным отступом и переносом, необходимым для цикла в Jekyll с использованием YAML.
Для контекста: я использую Fancybox, который может содержать скрытые изображения, которые вы можете прокручивать, когда открываете миниатюру. Не все изображения в галереях, которые я создаю, имеют скрытые изображения внутри, но некоторые из них имеют, и для этого требуется вставить блок HTML в каждый
Итак, в основном я пытаюсь создать страницу в /_data
под названием gallery.yml
, в которой есть все необходимые элементы (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
(давайте представим, что это правильный HTML Fancybox, я просто хочу сделать его как можно более простым):
{% 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, код Jekyll вставит их, как я перечислил их в файле YAML.
So...
<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 для вложенных циклов, когда не каждый экземпляр этих циклов имеет вложенные данные.