blog/themes/chosto/layouts/partials/pagination.html

36 lines
1.2 KiB
HTML

{{ $pag := . }}
{{ if gt $pag.TotalPages 1 -}}
<nav class="mt-5 pagination is-centered" role="navigation" aria-label="pagination">
{{ with $pag.First -}}
<ul class="pagination-list">
{{ end -}}
{{- $ellipsed := false -}}
{{- $shouldEllipse := false -}}
{{- range $pag.Pagers -}}
{{- $right := sub .TotalPages .PageNumber -}}
{{- $showNumber := or (le .PageNumber 1) (eq $right 0) -}}
{{- $showNumber := or $showNumber (le .TotalPages 5) -}}{{/* Issue #7523 */}}
{{- $showNumber := or $showNumber (and (gt .PageNumber (sub $pag.PageNumber 3)) (lt .PageNumber (add $pag.PageNumber 3))) -}}
{{- if $showNumber -}}
{{- $ellipsed = false -}}
{{- $shouldEllipse = false -}}
{{- else -}}
{{- $shouldEllipse = not $ellipsed -}}
{{- $ellipsed = true -}}
{{- end -}}
{{- if $showNumber }}
<li>
<a class="mx-1 pagination-link{{ if eq . $pag }} is-current{{ end }}" href="{{ .URL }}" aria-label="Page {{ .PageNumber }}">{{ .PageNumber }}</a>
</li>
{{- else if $shouldEllipse }}
<li>
<span class="pagination-ellipsis">&hellip;</span>
</li>
{{- end -}}
{{- end }}
{{- with $pag.Last }}
{{- end }}
</ul>
</nav>
{{ end }}