hacks-guide-minimal-mistake.../_includes/pagination

66 lines
2.4 KiB
Text
Raw Normal View History

{% include base_path %}
{% if paginator.total_pages > 1 %}
<nav class="pagination">
<ul>
{% comment %} Link for previous page {% endcomment %}
{% if paginator.previous_page %}
{% if paginator.previous_page == 1 %}
<li><a href="{{ base_path }}/" class="btn">{{ site.data.ui-text.locale[site.locale].pagination_previous }}</a></li>
{% else %}
<li><a href="{{ base_path }}/page{{ paginator.previous_page }}/" class="btn">{{ site.data.ui-text.locale[site.locale].pagination_previous }}</a></li>
{% endif %}
{% endif %}
{% comment %}First page{% endcomment %}
{% if paginator.page == 1 %}
<li><strong class="current">1</strong></li>
{% else %}
<li><a href="{{ base_path }}/">1</a></li>
{% endif %}
{% assign page_start = 2 %}
{% if paginator.page > 4 %}
{% assign page_start = paginator.page | minus: 2 %}
{% comment %} Ellipsis for truncated links {% endcomment %}
<li>&hellip;</li>
{% endif %}
{% assign page_end = paginator.total_pages | minus: 1 %}
{% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
{% if pages_to_end > 4 %}
{% assign page_end = paginator.page | plus: 2 %}
{% endif %}
{% for index in (page_start..page_end) %}
{% if index == paginator.page %}
<li><strong class="current">{{ index }}</strong></li>
{% else %}
{% comment %}Distance from current page and this link{% endcomment %}
{% assign dist = paginator.page | minus: index %}
{% if dist < 0 %}
{% comment %}Distance must be a positive value{% endcomment %}
{% assign dist = 0 | minus: dist %}
{% endif %}
<li><a href="{{ base_path }}/page{{ index }}/">{{ index }}</a></li>
{% endif %}
{% endfor %}
{% comment %}Ellipsis for truncated links{% endcomment %}
{% if pages_to_end > 3 %}
<li>&hellip;</li>
{% endif %}
{% if paginator.page == paginator.total_pages %}
<li><strong class="current">{{ paginator.page }}</strong></li>
{% else %}
<li><a href="{{ base_path }}/page{{ paginator.total_pages }}/">{{ paginator.total_pages }}</a></li>
{% endif %}
{% comment %}Link next page{% endcomment %}
{% if paginator.next_page %}
<li><a href="{{ base_path }}/page{{ paginator.next_page }}/" class="btn">{{ site.data.ui-text.locale[site.locale].pagination_next }}</a></li>
{% endif %}
</ul>
</nav>
{% endif %}