blob: 37000de64b061d8c7a1008e49a0e4a06e45351e1 (
plain)
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
|
{{ $HugoPaginator := $.Paginator }}
{{ $Pages := sub $HugoPaginator.TotalNumberOfElements 1 }}
{{ $MyPaginator := math.Ceil (div (float $Pages) 3) }}
{{ if gt $HugoPaginator.TotalPages 1 }}
<nav class="pagination" aria-label="pagination">
<a {{ if $HugoPaginator.HasPrev }} href="{{ $HugoPaginator.Prev.URL }}" {{ end }}
class="pagination-previous {{ if not $HugoPaginator.HasPrev }}disabled{{ end }}"
aria-label="Previous page" {{ if not $HugoPaginator.HasPrev }}aria-hidden="true"{{ end }}>
Previous
</a>
<a {{ if not (le (int $MyPaginator) $HugoPaginator.PageNumber) }}{{ if $HugoPaginator.HasNext }} href="{{ $HugoPaginator.Next.URL }}" {{ end }}{{ end }}
class="pagination-next {{ if le (int $MyPaginator) $HugoPaginator.PageNumber }}disabled{{ end }}"
aria-label="Next page" {{ if le (int $MyPaginator) $HugoPaginator.PageNumber }}aria-hidden="true"{{ end }}>
Next
</a>
<ul class="pagination-list">
{{ $.Scratch.Set "__paginator.ellipsed" false }}
{{ range (first $MyPaginator $HugoPaginator.Pagers) }}
{{ $right := sub .TotalPages .PageNumber }}
{{ $showNumber := or (le .PageNumber 3) (eq $right 0) }}
{{ $showNumber := or $showNumber (and (gt .PageNumber (sub $HugoPaginator.PageNumber 2)) (lt .PageNumber (add $HugoPaginator.PageNumber 2))) }}
{{ if $showNumber }}
{{ $.Scratch.Set "__paginator.ellipsed" false }}
{{ $.Scratch.Set "__paginator.shouldEllipse" false }}
{{ else }}
{{ $.Scratch.Set "__paginator.shouldEllipse" (not ($.Scratch.Get "__paginator.ellipsed") ) }}
{{ $.Scratch.Set "__paginator.ellipsed" true }}
{{ end }}
{{ if $showNumber }}
<li>
<a href="{{ .URL }}" aria-label="Go to page {{ .PageNumber }}"
class="pagination-link {{ if eq . $HugoPaginator }}is-current{{ end }}">
{{ .PageNumber }}
</a>
</li>
{{ else if ($.Scratch.Get "__paginator.shouldEllipse") }}
<li><span class="pagination-ellipsis" aria-hidden="true">…</span></li>
{{ end }}
{{ end }}
</ul>
</nav>
{{ end }}
|