Список категорий и тегов
Категории
Пример вывода списка категорий в Jekyll.
{% for category in site.categories %}
{{ category[0] }} - Название категории
{{ category[1] }} - Посты категории
{% for post in category[1] %}
{{ post.url }} - Ссылка на пост
{{ post.title }} - Заголовок поста
{% endfor %}
{% endfor %}
Определенная категория.
{% for post in site.categories.html limit: 2 offset: 0 %} ... {% endfor %}
{% for post in site.categories.css limit: 3 offset: 2 %} ... {% endfor %}
Вывод записей.
{% if paginator.posts[0] %}
{% for post in paginator.posts %}
<h2>{{ post.title }}</h2>
<time datetime="{{ post.date | date: "%Y-%m-%dT%H:%M" }}">{{ post.date | date: "%d.%m.%Y" }}</time>
<div>{{ post.description }}</div>
{% endfor %}
{% endif %}
Вывод пагинации.
{% if paginator.page_trail %}
<ol>
{% if paginator.previous_page %}
<li>
<a href="{{ paginator.previous_page_path }}">Предыдущее</a>
</li>
{% endif %}
{% for trail in paginator.page_trail %}
{% if page.url == trail.path %}
{% assign active = 'page-pagination__item--active' %}
{% else %}
{% assign active = '' %}
{% endif %}
<li>
<a href="{{ trail.path | remove: 'index.html' }}">{{ trail.num }}</a>
</li>
{% endfor %}
{% if paginator.next_page %}
<li>
<a href="{{ paginator.next_page_path }}">Следующее</a>
</li>
{% endif %}
</ol>
{% endif %}
{% else %}
<p>Записей нет</p>
{% endif %}
Упорядоченный список категорий.
В файле _config.yml составить список доступных категорий в нужном порядке:
# Порядок категорий
categories-order:
- one
- two
- three
- jekyll
В разметке страницы вывести список категорий с количеством записей в них:
{% for cat in site.categories-order %}
<a class="category-list__link" href="{{ site.baseurl }}/{{ cat }}">
{{ cat | capitalize }} ({{ site.categories[cat].size }})
</a>
{% endfor %}
Не упорядоченный список категорий.
{% for category in site.categories %}
{% capture category_name %}{{ category | first | slugify }}{% endcapture %}
<a class="category-list__link" href="{{ site.baseurl }}/{{ category_name }}">
{{ category_name | capitalize }} ({{ category[1].size }})
</a>
{% endfor %}
Теги
{% for tag in site.tags %}
{{ tag }} - Название тега
{% for post in tag[1] %}
{{ post.url }} - Ссылка на пост
{{ post.title }} - Заголовок поста
{% endfor %}
{% endfor %}
Определенный тег.
{% for post in site.tags.html limit: 2 offset: 0 %} ... {% endfor %}
{% for post in site.tags.css limit: 3 offset: 2 %} ... {% endfor %}