Files
FixIt/layouts/_partials/paginator.html
T
Cell 3e8bdfd8f9 ♻️ Refactor: global/site/page scope state management (#610)
*  Perf: adjust global/site scope state management

*  Perf: adjust page scope state management
2025-07-03 12:48:32 +08:00

29 lines
1.2 KiB
HTML

{{- if gt .Paginator.TotalPages 1 -}}
<ul class="pagination">
{{- .Site.Store.Set "paginator.ellipsed" false -}}
{{- 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 -}}
{{- $.Site.Store.Set "paginator.ellipsed" false -}}
{{- $.Site.Store.Set "paginator.shouldEllipse" false -}}
{{- else -}}
{{- $.Site.Store.Set "paginator.shouldEllipse" (not ($.Site.Store.Get "paginator.ellipsed") ) -}}
{{- $.Site.Store.Set "paginator.ellipsed" true -}}
{{- end -}}
{{- if $showNumber -}}
<li class="page-item{{ if eq . $.Paginator }} active{{ end }}">
<span class="page-link">
<a href="{{ .URL }}">{{ .PageNumber }}</a>
</span>
</li>
{{- else if ($.Site.Store.Get "paginator.shouldEllipse") -}}
<li class="page-item">
<span class="page-link" aria-hidden="true">&hellip;</span>
</li>
{{- end -}}
{{- end -}}
</ul>
{{- end -}}