Skip to content

Commit 0a72a86

Browse files
committed
Split paginator from Home layout.
1 parent abc011b commit 0a72a86

2 files changed

Lines changed: 89 additions & 79 deletions

File tree

_includes/post-paginator.html

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<!--
2+
The paginator for post list on HomgPage.
3+
4+
v2.1
5+
https://github.com/cotes2020/jekyll-theme-chirpy
6+
© 2020 Cotes Chung
7+
MIT License
8+
-->
9+
10+
<ul class="pagination mt-4 mb-0 pl-lg-2">
11+
<!-- left arrow -->
12+
{% if paginator.previous_page %}
13+
<li class="page-item">
14+
<a class="page-link btn-box-shadow" href="{{ site.baseurl }}{{ paginator.previous_page_path }}">
15+
<i class="fas fa-angle-left"></i>
16+
</a>
17+
</li>
18+
{% else %}
19+
<li class="page-item disabled">
20+
<a class="page-link btn-box-shadow" href="#"><i class="fas fa-angle-left"></i></a>
21+
</li>
22+
{% endif %}
23+
<!-- endof left arrow -->
24+
25+
<!-- page numbers -->
26+
{% assign left_ellipsis = false %}
27+
{% assign right_ellipsis = false %}
28+
29+
{% for i in (1..paginator.total_pages) %}
30+
31+
{% assign pre = paginator.page | minus: 1 %}
32+
{% assign next = paginator.page | plus: 1 %}
33+
{% assign pre_less = pre | minus: 1 %}
34+
{% assign next_more = next | plus: 1 %}
35+
{% assign show = false %}
36+
37+
{% if paginator.page == 1 %}
38+
{% if i <= 3 or i == paginator.total_pages %}
39+
{% assign show = true %}
40+
{% endif %}
41+
{% elsif paginator.page == paginator.total_pages %}
42+
{% if i == 1 or i >= pre_less %}
43+
{% assign show = true %}
44+
{% endif %}
45+
{% else %}
46+
{% if i == 1 or i == paginator.total_pages%}
47+
{% assign show = true %}
48+
{% elsif i >= pre and i <= next %}
49+
{% assign show = true %}
50+
{% endif %}
51+
{% endif %}
52+
53+
{% if show %}
54+
<!-- show number -->
55+
<li class="page-item {% if i == paginator.page %} active{% endif %}">
56+
<a class="page-link btn-box-shadow" href="{{ site.baseurl }}/{% if i > 1%}page{{ i }}/{% endif %}">{{ i }}</a>
57+
</li>
58+
{% else %}
59+
<!-- hide number -->
60+
{% if i < pre and left_ellipsis == false %}
61+
<li class="page-item disabled">
62+
<span class="page-link btn-box-shadow">...</span>
63+
</li>
64+
{% assign left_ellipsis = true %}
65+
{% elsif i > next and right_ellipsis == false %}
66+
<li class="page-item disabled">
67+
<span class="page-link btn-box-shadow">...</span>
68+
</li>
69+
{% assign right_ellipsis = true %}
70+
{% endif %}
71+
{% endif %}
72+
73+
{% endfor %}
74+
75+
<!-- right arrow -->
76+
{% if paginator.next_page %}
77+
<li class="page-item">
78+
<a class="page-link btn-box-shadow" href="{{ site.baseurl }}{{ paginator.next_page_path }}">
79+
<i class="fas fa-angle-right"></i>
80+
</a>
81+
</li>
82+
{% else %}
83+
<li class="page-item disabled">
84+
<a class="page-link btn-box-shadow" href="#"><i class="fas fa-angle-right"></i></a>
85+
</li>
86+
{% endif %}
87+
88+
</ul> <!-- .pagination -->

_layouts/home.html

Lines changed: 1 addition & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -41,83 +41,5 @@ <h1>
4141
</div> <!-- #post-list -->
4242

4343
{% if paginator.total_pages > 0 %}
44-
<ul class="pagination mt-4 mb-0 pl-lg-2">
45-
<!-- left arrow -->
46-
{% if paginator.previous_page %}
47-
<li class="page-item">
48-
<a class="page-link btn-box-shadow" href="{{ site.baseurl }}{{ paginator.previous_page_path }}">
49-
<i class="fas fa-angle-left"></i>
50-
</a>
51-
</li>
52-
{% else %}
53-
<li class="page-item disabled">
54-
<a class="page-link btn-box-shadow" href="#"><i class="fas fa-angle-left"></i></a>
55-
</li>
56-
{% endif %}
57-
<!-- endof left arrow -->
58-
59-
<!-- page numbers -->
60-
{% assign left_ellipsis = false %}
61-
{% assign right_ellipsis = false %}
62-
63-
{% for i in (1..paginator.total_pages) %}
64-
65-
{% assign pre = paginator.page | minus: 1 %}
66-
{% assign next = paginator.page | plus: 1 %}
67-
{% assign pre_less = pre | minus: 1 %}
68-
{% assign next_more = next | plus: 1 %}
69-
{% assign show = false %}
70-
71-
{% if paginator.page == 1 %}
72-
{% if i <= 3 or i == paginator.total_pages %}
73-
{% assign show = true %}
74-
{% endif %}
75-
{% elsif paginator.page == paginator.total_pages %}
76-
{% if i == 1 or i >= pre_less %}
77-
{% assign show = true %}
78-
{% endif %}
79-
{% else %}
80-
{% if i == 1 or i == paginator.total_pages%}
81-
{% assign show = true %}
82-
{% elsif i >= pre and i <= next %}
83-
{% assign show = true %}
84-
{% endif %}
85-
{% endif %}
86-
87-
{% if show %}
88-
<!-- show number -->
89-
<li class="page-item {% if i == paginator.page %} active{% endif %}">
90-
<a class="page-link btn-box-shadow" href="{{ site.baseurl }}/{% if i > 1%}page{{ i }}/{% endif %}">{{ i }}</a>
91-
</li>
92-
{% else %}
93-
<!-- hide number -->
94-
{% if i < pre and left_ellipsis == false %}
95-
<li class="page-item disabled">
96-
<span class="page-link btn-box-shadow">...</span>
97-
</li>
98-
{% assign left_ellipsis = true %}
99-
{% elsif i > next and right_ellipsis == false %}
100-
<li class="page-item disabled">
101-
<span class="page-link btn-box-shadow">...</span>
102-
</li>
103-
{% assign right_ellipsis = true %}
104-
{% endif %}
105-
{% endif %}
106-
107-
{% endfor %}
108-
109-
<!-- right arrow -->
110-
{% if paginator.next_page %}
111-
<li class="page-item">
112-
<a class="page-link btn-box-shadow" href="{{ site.baseurl }}{{ paginator.next_page_path }}">
113-
<i class="fas fa-angle-right"></i>
114-
</a>
115-
</li>
116-
{% else %}
117-
<li class="page-item disabled">
118-
<a class="page-link btn-box-shadow" href="#"><i class="fas fa-angle-right"></i></a>
119-
</li>
120-
{% endif %}
121-
122-
</ul> <!-- .pagination -->
44+
{% include post-paginator.html %}
12345
{% endif %}

0 commit comments

Comments
 (0)