2017-10-14 1 views
1

Ich folgte dem Ansatz, um paginate v2 zu installieren und eine Sammlung paginieren, aber ich bekomme eine zusätzliche "Beispiel Sammlung" Top-Level-Seite Link für jede Seite von Paginator erstellt.Wie vermeidet man doppelte Seiten mit Sammlungen mit jekyll paginate v2?

Hier example.md ist

--- 
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 %} 

Und das ist, was ich meine 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 

nun hinzugefügt, wenn es mehr als drei Dateien im Ordner _examplecol sind, bekomme ich mehr als 1 Instanz der example.md als eine Seite in meiner Kopfzeile.

Wie kann ich nur eine Instanz der Beispielsammlung in der Kopfzeile haben, die alle paginierten Seiten enthält? Ich denke, ich vermisse etwas Dummes.

Ich versuchte, den Permalink-Eintrag in der YAML Beispiel.md zu löschen, aber das machte es gerade so, dass der Jekyll-Prozessor examplecol/index.html nicht finden konnte.

Antwort

0

Ich brauchte viel Versuch und Irrtum, aber ich fand die Lösung in der Kopfzeile.

Wenn der Paginator Seiten mit einigen Elementen erstellt, sieht die Site sie als Seiten und rendert sie.

Daher findet die Website alle echten Antworten auf my_page.title und erstellt Seitenverknüpfungen.

<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> 

Da die paginator Seiten Autogen sind, können Sie sie filtern:

<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> 
Verwandte Themen