Этот поставил меня в тупик...
Я хотел бы поделиться хешем YAML из одного файла с несколькими другими страницами Jekyll.
Я знаю, что вы можете поместить его в переднюю часть (что потребует его дублирования), и я знаю, что вы можете генерировать (писать) страницы с помощью плагина (но я использую его на нескольких разных типах страниц, что было бы сложно). ). Ни то, что я ищу.
Я хотел бы перебрать хеш с помощью Liquid на своих страницах, но я не могу получить хэш от плагина к Liquid. {% capture %}
работает только со строками, а {% assign %}
не позволяет вам вызывать тег внутри себя, например {% assign projects = gethash %}
, где gethash
— это пользовательский тег Liquid.
По сути, я хотел бы использовать отдельный файл YAML, например текстовую базу данных.
В файле YAML есть это:
projects:
category1:
-
title: Project 1
desc: Description
etc...
-
title: Project 2
etc...
category2:
-
title: Project 3
desc: Description
etc...
-
title: Project 4
etc...
Плагин вызывает (который дает Ruby Hash YAML):
def...
YAML::load(File.read('projects.yml'))
end...
И в шаблоне я хочу:
{% for p in projects %}
...
Это должно быть очень просто, но это одна из тех вещей Liquid, которые причиняют боль.
Как вы можете получить хэш в Liquid из плагина для использования в цикле {% for %}
?