Я пытаюсь создать блог Jekyll. Но я никогда раньше не использовал YAML, и я схожу с ума от логики этой вещи.Как перебирать и извлекать из YAML _data в Jekyll?
Сначала я написал файл YAML в _data/authors.yml
со списком авторов и их соответствующих мета-информации:
- authors:
- user: andre
name: Andre Santos
site: http://test.dev
email: [email protected]
- user: john
name: John Doe
site:
email: [email protected]
Теперь я хочу сделать две очень простые вещи: во-первых, перебирать всех авторов, отображая некоторые данные о них:
{% for list in site.data.authors %}
{% for author in list %}
{{ author.user }} - {{ author.user.name }}
{% endfor %}
{% endfor %}
Но это ничего не показывает!
В настоящее время в какой-то другой части кода, я просто хочу, чтобы получить информацию от конкретного участника:
{% assign the_user = site.data.authors.authors[post.username] %}
{{ the_user.name }}
И, опять-таки ничего не показывает! Я понятия не имею, что я делаю неправильно, я пробовал много других решений, итераций, но я не могу сделать головы или хвосты о том, как итерации файлов YAML, и я не знаю Ruby, поэтому большинство решений, которые я нашел на этом сайте не работают для меня, когда я адаптирую их в Jekyll + Liquid.
Что я делаю неправильно? Как получить доступ к этим переменным?
Изменение первой строки вашего файла YAML на 'authors:' и использование имени пользователя в качестве ключа для каждого автора будет исправлять его. В противном случае у вас есть объект в массиве, в то время как вы обращаетесь к автору, как если бы это был объект внутри объекта. –