<!-- Paginator Links --> <div class="paginator-links"> {% if include.maxPages %} {% assign maxPages = include.maxPages %} {% else %} <!-- maxPages attribute not passed in Liquid template, defaulting to 5 --> {% assign maxPages = 5 %} {% endif %} {% assign halfPages = maxPages | divided_by: 2 %} {% assign right-margin = paginator.total_pages | minus: paginator.page %} {% if paginator.page <= halfPages %} <!-- left-align --> {% assign start = 1 %} {% if paginator.total_pages > maxPages %} {% assign end = maxPages %} {% else %} {% assign end = paginator.total_pages %} {% endif %} {% elsif right-margin <= halfPages %} <!-- right-align --> {% assign start = paginator.total_pages | minus: maxPages | plus: 1 | append: ',' | append: 1 | split: ',' | sort | last | plus: 0 %} {% assign end = paginator.total_pages %} {% else %} <!-- center-align --> {% assign position-less-half = paginator.page | minus: halfPages %} {% if position-less-half < 1 %} {% assign start = 1 %} {% else %} {% assign start = position-less-half %} {% endif %} {% assign position-plus-half = paginator.page | plus: halfPages %} {% if position-plus-half > paginator.total_pages %} {% assign end = paginator.total_pages %} {% else %} {% assign end = position-plus-half %} {% endif %} {% endif %} <!-- First page --> {% if paginator.previous_page %} <a href="{{ site.baseurl }}/" class="first-page"></a> {% else %} <span class="first-page"></span> {% endif %} <!-- Previous page --> {% if paginator.previous_page %} <a href="{{ site.baseurl }}/{{ paginator.previous_page_path }}" class="previous-page"></a> {% else %} <span class="previous-page"></span> {% endif %} <!-- Start ellipsis --> {% if start > 1 %} <span class="start-ellipsis"></span> {% endif %} <!-- Page numbers --> <span class="numbers"> {% for num in (start..end)%} {% if num == paginator.page %} <span class="number current">{{ num }}</span> {% elsif num == 1 %} <a class="number" href="{{ site.baseurl }}/">{{ num }}</a> {% else %} <a class="number" href="{{ site.baseurl }}/page{{ num }}">{{ num }}</a> {% endif %} {% unless forloop.last %} <span class="seperator"></span> {% endunless %} {% endfor %} </span> <!-- End ellipsis --> {% if end < paginator.total_pages %} <span class="end-ellipsis"></span> {% endif %} <!-- Next page --> {% if paginator.next_page %} <a href="{{ site.baseurl }}/{{ paginator.next_page_path }}" class="next-page"></a> {% else %} <span class="next-page"></span> {% endif %} <!-- Last page --> {% if paginator.next_page %} <a href="{{ site.baseurl }}/page{{ paginator.total_pages }}" class="last-page"></a> {% else %} <span class="last-page"></span> {% endif %} </div>