|
|
|
|
@ -9,12 +9,49 @@ |
|
|
|
|
|
|
|
|
|
<p> |
|
|
|
|
<div class="pagination"> |
|
|
|
|
<!-- https://discourse.gohugo.io/t/solved-big-pagination-need-add/6576/8?u=kaushalmodi --> |
|
|
|
|
{{ $pag := $.Paginator }} |
|
|
|
|
{{ $window := $.Site.Params.paginateWindow | default 1 }} |
|
|
|
|
{{ if gt $pag.TotalPages 1 }} |
|
|
|
|
{{ $total := $pag.TotalPages }} |
|
|
|
|
{{ $size := add 7 (add $window $window) }} |
|
|
|
|
{{ $cur := $pag.PageNumber }} |
|
|
|
|
{{ if gt $total $size }} |
|
|
|
|
{{ if lt $cur (sub $size (add $window 1)) }} |
|
|
|
|
{{ $.Scratch.Set "show" (seq 1 (sub $size 2)) }} |
|
|
|
|
{{ else if lt (sub $total $cur) (sub $size (add $window 2)) }} |
|
|
|
|
{{ $.Scratch.Set "show" (seq (add (sub $total $size) 3) $total) }} |
|
|
|
|
{{ else }} |
|
|
|
|
{{ $.Scratch.Set "show" (seq (sub $cur $window) (add $cur $window)) }} |
|
|
|
|
{{ end }} |
|
|
|
|
{{ $.Scratch.Add "show" 1 }} |
|
|
|
|
{{ $.Scratch.Add "show" $total }} |
|
|
|
|
{{ else }} |
|
|
|
|
{{ $.Scratch.Set "show" (seq 1 $total) }} |
|
|
|
|
{{ end }} |
|
|
|
|
|
|
|
|
|
{{ range $pag.Pagers }} |
|
|
|
|
{{ $cur := .PageNumber }} |
|
|
|
|
{{ if in ($.Scratch.Get "show") $cur }} |
|
|
|
|
<a href="{{ .URL }}"> |
|
|
|
|
{{- if eq . $pag -}}<b>{{- end -}} |
|
|
|
|
{{ .PageNumber }} |
|
|
|
|
{{- if eq . $pag -}}</b>{{- end -}} |
|
|
|
|
</a> |
|
|
|
|
{{ else if in (slice 2 (sub $total 1)) $cur }} |
|
|
|
|
<a name="">…</a> |
|
|
|
|
{{ end }} |
|
|
|
|
{{ end }} |
|
|
|
|
{{ end }} |
|
|
|
|
|
|
|
|
|
[ |
|
|
|
|
{{ if .Paginator.HasPrev }} |
|
|
|
|
<a href="{{ .Paginator.Prev.URL }}">Newer</a> |
|
|
|
|
{{ end }} |
|
|
|
|
{{ if .Paginator.HasNext }} |
|
|
|
|
<a href="{{ .Paginator.Next.URL }}">Older</a> |
|
|
|
|
{{ end }} |
|
|
|
|
] |
|
|
|
|
</div> |
|
|
|
|
</p> |
|
|
|
|
|
|
|
|
|
|