Я использую платформу Jekyll и официальный скрипт Carousel с их веб-сайта (https://jekyllcodex.org/without-plugin/slider/), и я изо всех сил пытаюсь понять, как сделать возможным передачу имени в скрипт carousel.html, чтобы я мог настроить несколько каруселей, используя один и тот же скрипт. Моя цель - просто использовать:
{% include carousel.html name="CatImages" height="20" unit="%" duration="7" %}
и он должен иметь возможность просто получать изображения из файла carousel.yml, который выглядит примерно так:
CatImages:
- /assets/img/cat1.png
- /assets/img/cat2.png
Я попытался добавить строку к имени переменной, которая работает, но дает немного другой результат - такой, тип которого я не могу определить. Результирующая переменная, полученная из
{{site.data.carousel.{{ include.name }}}}
возвращает {"CatImages"=>["/assets/img/cat1.png", "/assets/img/cat2.png"]}
, а при прохождении циклов for возвращает пути к изображениям как одну целую строку. Например, это:
{% for item in images %}
{{item}}
{% endfor %}
возвращает:
images/assets/img/cat1.png/assets/img/cat2.png
Но в целом я не понимаю, что это за переменная, и не могу понять ее в гугле. Я новичок в шаблонах Liquid, но, хоть убей, не могу понять, что такое нотация {= ›[,]}.
Будем очень признательны за любые указатели или подсказки!
{{ include.name }}
внутри циклаfor
? Он должен вернуть CatImages. Не так ли? - person Brad West   schedule 10.02.2021{"CatImages"=>["/assets/img/cat1.png", "/assets/img/cat2.png"]}
. Возможно,{{site.data.carousel.{{ include.name }}}}
неправильный способ получить список путей к изображениям? - person Christopher Kornosky   schedule 10.02.2021