{{- if gt .Paginator.TotalPages 1 -}} <ul class="flex flex-row mt-8 justify-center"> {{- .Scratch.Set "paginator.ellipsed" false -}} {{ if $.Paginator.HasPrev }} <li> <a href="{{ $.Paginator.Prev.URL }}" class="mx-1 block min-w-[1.8rem] rounded text-center hover:bg-primary-600 hover:text-neutral" rel="prev" >←</a> </li> {{ end }} {{- range $.Paginator.Pagers -}} {{- $right := sub .TotalPages .PageNumber -}} {{- $showNumber := or (le .PageNumber 1) (eq $right 0) -}} {{- $showNumber := or $showNumber (and (gt .PageNumber (sub $.Paginator.PageNumber 3)) (lt .PageNumber (add $.Paginator.PageNumber 3))) -}} {{- 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 }}" class="{{ if eq . $.Paginator }} bg-primary-200 dark:bg-primary-400 dark:text-neutral-800 {{ end }} mx-1 block min-w-[1.8rem] rounded text-center hover:bg-primary-600 hover:text-neutral" >{{ .PageNumber }}</a> </li> {{- else if ($.Scratch.Get "paginator.shouldEllipse") -}} <li class="page-item "> <span class="page-link" aria-hidden="true">…</span> </li> {{- end -}} {{- end -}} {{ if $.Paginator.HasNext }} <li> <a href="{{ $.Paginator.Next.URL }}" class="mx-1 block min-w-[1.8rem] rounded text-center hover:bg-primary-600 hover:text-neutral" rel="next" >→</a> </li> {{ end }} </ul> {{- end -}}