#jekyll #liquid #github-pages #jekyll-bootstrap
#jekyll #жидкость #github-страницы #jekyll-bootstrap
Вопрос:
Следуя документации Jekyll Collections, я написал следующий код в _config.yml
_config.yml
collections:
- popular_posts
Поэтому, когда я печатаю {{ site.collections }}, выводится «popular_posts».
Я также создал папку с именем «_popular_posts» на том же уровне, что и «_posts». _popular_posts содержит два файла .md с некоторым значением интерфейса YAML, таким же, как post.
Однако, если я напечатаю {{ site.popular_posts }} или {{ site.collections.popular_posts }} , вывода не будет.
Как мне заставить Jekyll распознавать файлы .md в этом каталоге, чтобы следующий код работал?
{% for popular_post in site.popular_posts %}
<a href="{{ popular_post.link }}">
<h1>{{ popular_post.title }}</h1>
<img class="pop-img" src="{{ popular_post.image_url }}">
</a>
<span id="pop-order"><span class="pop-current-popular_post-number">{{ popular_post.number }}</span>/5</span>
{% endfor %}
Комментарии:
1. Вы установили
output:
значениеtrue
? Я не совсем понимаю коллекции, но, насколько я понимаю, это необходимо для того, чтобы заставить Jekyll генерировать элементы коллекции. Также обратите внимание, что функциональность коллекций, как говорят, находится в бета-версии и может быть еще не полностью функциональной.
Ответ №1:
Это довольно просто! Вы на правильном пути. В вашем _config.yml
:
collections:
- popular_posts
Это заставит Jekyll читать во всех файлах _popular_posts
.
Если вы хотите, чтобы каждый из этих двух файлов имел соответствующий выходной файл (например, как _posts
работает сейчас), вам нужно изменить свой _config.yml
на:
collections:
popular_posts:
output: true
Это приведет к созданию файлов в /popular_posts/filename1.html
и /popular_posts/filename2.html
, по одной странице для каждого сообщения.
Коллекции только недавно появились на страницах GitHub, поэтому, если бы вы пытались это сделать там, это не удалось бы.
Проверьте jekyll-help для получения дополнительной помощи, если она вам нужна!