83 lines
No EOL
3.2 KiB
HTML
83 lines
No EOL
3.2 KiB
HTML
{{ $paginator := .paginator }}
|
|
<div class="pagination">
|
|
|
|
{{ if $paginator.HasPrev }}
|
|
<a class="page-link" href="{{ $paginator.Prev.URL }}">
|
|
<div class="page-item">< Prev</div>
|
|
</a>
|
|
{{ else }}
|
|
<div class="page-item disabled">< Prev</div>
|
|
{{ end }}
|
|
|
|
|
|
{{/* If the number of pagers is more than 5, use `...` to skip some pages */}}
|
|
{{ if (le $paginator.TotalPages 5) }}
|
|
{{ $current_num := $paginator.PageNumber }}
|
|
{{ range $i, $pager := $paginator.Pagers }}
|
|
{{ if (eq $current_num $pager.PageNumber) }}
|
|
<div class="page-item active">{{ $pager.PageNumber }}</div>
|
|
{{ else }}
|
|
<a class="page-link" href="{{ $pager.URL }}"><div class="page-item">{{ $pager.PageNumber }}</div></a>
|
|
{{ end }}
|
|
{{ end }}
|
|
|
|
{{ else }}
|
|
{{ $first_page_num := 1 }}
|
|
{{ $second_page_num := 2 }}
|
|
{{ $last_page_num := $paginator.TotalPages }}
|
|
{{ $second_last_page_num := (add $paginator.TotalPages -1) }}
|
|
{{ $third_last_page_num := (add $paginator.TotalPages -2) }}
|
|
{{ $current_num := $paginator.PageNumber }}
|
|
|
|
{{/* place 1 */}}
|
|
{{ if (eq $current_num $first_page_num) }}
|
|
<div class="page-item active">{{ $current_num }}</div>
|
|
{{ else }}
|
|
<a class="page-link" href="{{ $paginator.First.URL }}"><div class="page-item">1</div></a>
|
|
{{ end }}
|
|
|
|
{{/* place 2 */}}
|
|
{{ if (eq $current_num $second_page_num) }}
|
|
<div class="page-item active">{{ $current_num }}</div>
|
|
{{ else if (le $current_num 3)}}
|
|
<a class="page-link" href="{{ $paginator.First.Next.URL }}"><div class="page-item">{{ $second_page_num }}</div></a>
|
|
{{ else }}
|
|
<div class="page-item">...</div>
|
|
{{ end }}
|
|
|
|
{{/* place 3 */}}
|
|
{{ if (le $current_num $second_page_num)}}
|
|
<a class="page-link" href="{{ $paginator.First.Next.Next.URL }}"><div class="page-item">3</div></a>
|
|
{{ else if (ge $current_num $second_last_page_num) }}
|
|
<a class="page-link" href="{{ $paginator.Last.Prev.Prev.URL }}"><div class="page-item">{{ $third_last_page_num }}</div></a>
|
|
{{ else }}
|
|
<div class="page-item active">{{ $current_num }}</div>
|
|
{{ end }}
|
|
|
|
{{/* place 4 */}}
|
|
{{ if (eq $current_num $second_last_page_num) }}
|
|
<div class="page-item active">{{ $current_num }}</div>
|
|
{{ else if (ge $current_num $third_last_page_num) }}
|
|
<a class="page-link" href="{{ $paginator.Last.Prev.URL }}"><div class="page-item">{{ $second_last_page_num }}</div></a>
|
|
{{ else }}
|
|
<div class="page-item">...</div>
|
|
{{ end }}
|
|
|
|
{{/* place 5 */}}
|
|
{{ if (eq $current_num $last_page_num) }}
|
|
<div class="page-item active">{{ $current_num }}</div>
|
|
{{ else }}
|
|
<a class="page-link" href="{{ $paginator.Last.URL }}"><div class="page-item">{{ $last_page_num }}</div></a>
|
|
{{ end }}
|
|
{{ end }}
|
|
|
|
|
|
{{ if $paginator.HasNext }}
|
|
<a class="page-link" href="{{ $paginator.Next.URL }}">
|
|
<div class="page-item">Next ></div>
|
|
</a>
|
|
{{ else }}
|
|
<div class="page-item disabled">Next ></div>
|
|
{{ end }}
|
|
|
|
</div> |