Показать сообщения за:
царапая мою голову над этим - помогите оценить.
Я хочу отобразить список всех моих сообщений Jekyll, организованных по категориям. Я знаю, что строка 3 неверна, но я не могу понять, что это должно быть. Есть идеи? Спасибо!
{% for category in site.categories %}
<h3>{{ category | first }}</h3>
{% for post in page.categories.category %}
{{ post.title }}<br>
{% endfor %}
{% endfor %}
Ответы
Ответ 1
Получил! Необходим цикл промежуточных сообщений, прежде чем перечислять отдельные сообщения.
{% for category in site.categories %}
<li><a name="{{ category | first }}">{{ category | first }}</a>
<ul>
{% for posts in category %}
{% for post in posts %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
{% endfor %}
</ul>
</li>
{% endfor %}
Ответ 2
fyi, если кто-то хочет просто перечислить сообщения в одной категории, это работает (отличается от предыдущего примера, поскольку категория возвращает список сообщений...
<p>Posts in category "basic" are:</p>
<ul>
{% for post in site.categories.basic %}
{% if post.url %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endif %}
{% endfor %}
</ul>
Ответ 3
Я не могу вспомнить точный синтаксис, но что-то вроде следующего кода должен получить имена категорий, чтобы вы могли получать сообщения для каждой категории...
{% for category in site.categories %}
{% assign cat_name = category[0] %}
{% for post in site.categories.cat_name %}
...
{% endfor%}
{% endfor %}
Ответ 4
Вот ответ, который использует сортировку (полезно!):
{% comment %}
#
# Change date order by adding '| reversed'
# To sort by title or other variables use {% assign sorted_posts = category[1] | sort: 'title' %}
#
{% endcomment %}
{% assign sorted_cats = site.categories | sort %}
{% for category in sorted_cats %}
{% assign sorted_posts = category[1] | reversed %}
<h2 id="{{category[0] | uri_escape | downcase }}">{{category[0] | capitalize}}</H2>
<ul>
{% for post in sorted_posts %}
<li><a href="{{ site.url }}{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
</ul>
{% endfor %}
Это не мое, оно взято из здесь.