forked from aron-bordin/neo-hpstr-jekyll-theme
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pagination.html
66 lines (59 loc) · 2.27 KB
/
pagination.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
{% if paginator.total_pages > 1 %}
<div class="pagination">
<ul class="inline-list">
{% comment %} Link for previous page {% endcomment %}
{% if paginator.previous_page %}
{% if paginator.previous_page == 1 %}
<li><a href="{{ site.url }}/" class="btn">Previous</a></li>
{% else %}
<li><a href="{{ site.url }}/page{{ paginator.previous_page }}/" class="btn">Previous</a></li>
{% endif %}
{% endif %}
{% comment %} First page {% endcomment %}
{% if paginator.page == 1 %}
<li><strong class="current-page">1</strong></li>
{% else %}
<li><a href="{{ site.url }}/">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>…</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-page">{{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="{{ site.url }}/page{{ index }}/">{{index}}</a></li>
{% endif %}
{% endfor %}
{% comment %} Ellipsis for truncated links {% endcomment %}
{% if pages_to_end > 3 %}
<li>…</li>
{% endif %}
{% if paginator.page == paginator.total_pages %}
<li><strong class="current-page">{{ paginator.page }}</strong></li>
{% else %}
<li><a href="{{ site.url }}/page{{ paginator.total_pages }}/">{{ paginator.total_pages }}</a></li>
{% endif %}
{% comment %}
Link next page
{% endcomment %}
{% if paginator.next_page %}
<li><a href="{{ site.url }}/page{{ paginator.next_page }}/" class="btn">Next</a></li>
{% endif %}
</ul>
</div>
{% endif %}