47 lines
1.7 KiB
HTML
47 lines
1.7 KiB
HTML
|
{{- $page := . }}
|
||
|
|
||
|
<ul class="pagination">
|
||
|
{{- with .Paginator }}
|
||
|
{{- $currentPageNumber := .PageNumber }}
|
||
|
|
||
|
{{- with .Prev }}
|
||
|
<li class="page-item">
|
||
|
<a href="{{ .URL }}" aria-label="Previous" class="page-link" role="button"><span aria-hidden="true">Previous</span></a>
|
||
|
</li>
|
||
|
{{- else }}
|
||
|
<li class="page-item disabled">
|
||
|
<a aria-disabled="true" aria-label="Previous" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">Previous</span></a>
|
||
|
</li>
|
||
|
{{- end }}
|
||
|
|
||
|
{{- $slots := 5 }}
|
||
|
{{- $start := math.Max 1 (sub .PageNumber (math.Floor (div $slots 2))) }}
|
||
|
{{- $end := math.Min .TotalPages (sub (add $start $slots) 1) }}
|
||
|
{{- if lt (add (sub $end $start) 1) $slots }}
|
||
|
{{- $start = math.Max 1 (add (sub $end $slots) 1) }}
|
||
|
{{- end }}
|
||
|
|
||
|
{{- range $k := seq $start $end }}
|
||
|
{{- if eq $.Paginator.PageNumber $k }}
|
||
|
<li class="page-item active">
|
||
|
<a aria-current="page" aria-label="Page {{ $k }}" class="page-link" role="button">{{ $k }}</a>
|
||
|
</li>
|
||
|
{{- else }}
|
||
|
<li class="page-item">
|
||
|
<a href="{{ (index $.Paginator.Pagers (sub $k 1)).URL }}" aria-label="Page {{ $k }}" class="page-link" role="button">{{ $k }}</a>
|
||
|
</li>
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
|
||
|
{{- with .Next }}
|
||
|
<li class="page-item">
|
||
|
<a href="{{ .URL }}" aria-label="Next" class="page-link" role="button"><span aria-hidden="true">Next</span></a>
|
||
|
</li>
|
||
|
{{- else }}
|
||
|
<li class="page-item disabled">
|
||
|
<a aria-disabled="true" aria-label="Next" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">Next</span></a>
|
||
|
</li>
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
</ul>
|