{% if paginator.total_pages > 1 %}
{% assign next_pages = paginator.total_pages | minus: paginator.page %} {% assign page_offset = 2 %} {% assign shown_pages = page_offset | times: 2 | plus: 1 %} {% assign start_page = 1 %} {% assign end_page = paginator.total_pages %} {% if paginator.page > page_offset %} {% if next_pages > page_offset %} {% assign start_page = paginator.page | minus: page_offset %} {% assign end_page = paginator.page | plus: page_offset %} {% else %} {% if paginator.page >= shown_pages %} {% assign start_page = paginator.total_pages | minus: shown_pages | plus: 1 %} {% endif %} {% endif %} {% else %} {% if next_pages >= shown_pages %} {% assign end_page = shown_pages %} {% endif %} {% endif %} <div class="page-nav"> <nav class="pagination is-centered" role="navigation" aria-label="pagination"> {% if paginator.previous_page %} <a class="pagination-previous" href="{{ paginator.previous_page_path | relative_url }}">Prev</a> {% else %} <a class="pagination-previous" disabled>Prev</a> {% endif %} {% if paginator.next_page %} <a class="pagination-next" href="{{ paginator.next_page_path | relative_url }}">Next</a> {% else %} <a class="pagination-next" disabled>Next</a> {% endif %} <ul class="pagination-list"> {% if paginator.page != 1 %} <li><a class="pagination-link" href="{{ site.paginate_path | relative_url | replace: ':num', '' }}">First</a></li> {% else %} <li><a class="pagination-link" disabled>First</a></li> {% endif %} <li><span class="pagination-ellipsis">…</span></li> {% for page in (start_page..end_page) %} {% if page == paginator.page %} <li><a class="pagination-link is-current">{{ page }}</a></li> {% elsif page == 1 %} <li><a class="pagination-link" href="{{ site.paginate_path | relative_url | replace: ':num', '' }}">1</a></li> {% else %} <li><a class="pagination-link" href="{{ site.paginate_path | relative_url | replace: ':num', page }}">{{ page }}</a></li> {% endif %} {% endfor %} <li><span class="pagination-ellipsis">…</span></li> {% if paginator.page != paginator.total_pages %} <li><a class="pagination-link" href="{{ site.paginate_path | relative_url | replace: ':num', paginator.total_pages }}">Last</a></li> {% else %} <li><a class="pagination-link" disabled>Last</a></li> {% endif %} </ul> {% comment %} pagination-list {% endcomment %} </nav> {% comment %} pagination {% endcomment %} </div> {% comment %} page-nav {% endcomment %}
{% endif %}