Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/amzrk2/hugo-theme-fuji.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/partials/pagination.html')
-rw-r--r--layouts/partials/pagination.html56
1 files changed, 56 insertions, 0 deletions
diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html
new file mode 100644
index 0000000..3db973f
--- /dev/null
+++ b/layouts/partials/pagination.html
@@ -0,0 +1,56 @@
+{{- $paginator := .pagi -}}
+{{- $scratch := newScratch -}}
+<!-- custom smart pagination -->
+{{- $offsetLinks := 2 -}}
+{{- $maxLinks := (add (mul $offsetLinks 2) 1) -}}
+{{- $lowerLimit := (add $offsetLinks 1) -}}
+{{- $upperLimit := (sub $paginator.TotalPages $offsetLinks) -}}
+{{- if gt $paginator.TotalPages 1 -}}
+<div class="pagination">
+ {{- if ne $paginator.PageNumber 1 -}}
+ <div class="pag-first">
+ <a href="{{ $paginator.First.URL }}"><i class="iconfont icon-caret-back-circle-sharp"></i></a>
+ </div>
+ {{- end -}}
+ {{- if $paginator.HasPrev -}}
+ <div class="pag-previous">
+ <a href="{{ $paginator.Prev.URL }}"><i class="iconfont icon-chevron-back-circle-sharp"></i></a>
+ </div>
+ {{- end -}}
+ {{- range $paginator.Pagers -}}
+ {{- $scratch.Set "pageNumFlag" false -}}
+ {{- if gt $paginator.TotalPages $maxLinks -}}
+ {{- if le $paginator.PageNumber $lowerLimit -}}
+ {{- if le .PageNumber $maxLinks -}}
+ {{- $scratch.Set "pageNumFlag" true -}}
+ {{- end -}}
+ {{- else if ge $paginator.PageNumber $upperLimit -}}
+ {{- if gt .PageNumber (sub $paginator.TotalPages $maxLinks) -}}
+ {{- $scratch.Set "pageNumFlag" true -}}
+ {{- end -}}
+ {{- else -}}
+ {{- if and ( ge .PageNumber (sub $paginator.PageNumber $offsetLinks) ) ( le .PageNumber (add $paginator.PageNumber $offsetLinks) ) -}}
+ {{- $scratch.Set "pageNumFlag" true -}}
+ {{- end -}}
+ {{- end -}}
+ {{- else -}}
+ {{- $scratch.Set "pageNumFlag" true -}}
+ {{- end -}}
+ {{- if eq ($scratch.Get "pageNumFlag") true -}}
+ <div class="pag-item{{ if eq . $paginator }} pag-current{{ end }}">
+ <a href="{{ .URL }}">{{- .PageNumber -}}</a>
+ </div>
+ {{- end -}}
+ {{- end -}}
+ {{- if $paginator.HasNext -}}
+ <div class="pag-next">
+ <a href="{{ $paginator.Next.URL }}"><i class="iconfont icon-chevron-forward-circle-sharp"></i></a>
+ </div>
+ {{- end -}}
+ {{- if ne $paginator.PageNumber $paginator.TotalPages -}}
+ <div class="pag-last">
+ <a href="{{ $paginator.Last.URL }}"><i class="iconfont icon-caret-forward-circle-sharp"></i></a>
+ </div>
+ {{- end -}}
+</div>
+{{- end -}}