Как избежать дублирования страниц с коллекциями с помощью jekyll paginate v2?

Я следовал подходу к установке paginate v2 и разбивке коллекции на страницы, но я получаю дополнительную ссылку на страницу верхнего уровня «Пример коллекции» для каждой страницы, созданной paginator.

Вот например.md

---
layout: page
title: Example Collection
permalink: /example/
pagination: 
  enabled: true
---

{% for post in paginator.posts %}
  <h1>{{ post.title }}</h1>
{% endfor %}

{% if paginator.total_pages > 1 %}
<ul>
  {% if paginator.previous_page %}
  <li>
    <a href="{{ paginator.previous_page_path | prepend: site.baseurl }}">Newer</a>
  </li>
  {% endif %}
  {% if paginator.next_page %}
  <li>
    <a href="{{ paginator.next_page_path | prepend: site.baseurl }}">Older</a>
  </li>
  {% endif %}
</ul>
{% endif %}

И это то, что я добавил в свой config.yml

# Collections
collections:
  examplecol:
    output: true
    permalink: /:collection/:path/

# Plugin: Pagination (jekyll-paginate-v2)
pagination:
  collection   :  'examplecol'
  enabled      : true
  debug        : false
  per_page     : 3
  #permalink    : "/page/:num/"
  title        : ":title - Page :num of :max"
  limit        : 0
  sort_field   : "date"
  sort_reverse : true

Теперь, если в папке _examplecol более 3 файлов, я получаю более 1 экземпляра example.md в качестве страницы в своем заголовке.

Как я могу иметь только один экземпляр коллекции примеров в заголовке, который содержит все страницы с разбивкой на страницы? Я думаю, что я пропускаю что-то глупое.

Я попытался удалить запись постоянной ссылки в YAML-файле example.md, но это привело к тому, что процессор jekyll не смог найти examplecol/index.html.


person jessi    schedule 14.10.2017    source источник


Ответы (1)


Мне потребовалось много проб и ошибок, но я нашел решение в шапке.

Когда пагинатор создает страницы с некоторыми элементами, сайт видит их как страницы и отображает их.

Поэтому сайт находит все верные ответы на my_page.title и создает ссылки на страницы.

 <div class="trigger">
            {% for my_page in site.pages %}
              {% if my_page.title %}
              <a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
              {% endif %}
            {% endfor %}
    </div>

Поскольку страницы пагинатора создаются автоматически, вы можете отфильтровать их:

<div class="trigger">
        {% for my_page in site.pages %}
          {% if my_page.title and my_page.autogen == nil %}
          <a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
          {% endif %}
        {% endfor %}
</div>
person jessi    schedule 15.10.2017