• {{ $paginator := .Paginator }} {{ $current := $paginator.PageNumber }} {{ $total := $paginator.TotalPages }} {{ $leftEllipsis := false }} {{ $rightEllipsis := false }} {{ range $paginator.Pagers }} {{ $pageNum := .PageNumber }} {{ $show := false }} {{ $pre := sub $current 1 }} {{ $next := add $current 1 }} {{ $preLess := sub $pre 1 }} {{ $nextMore := add $next 1 }} {{ if eq $current 1 }} {{ if or (le $pageNum 3) (eq $pageNum $total) }} {{ $show = true }} {{ end }} {{ else if eq $current $total }} {{ if or (eq $pageNum 1) (ge $pageNum $preLess) }} {{ $show = true }} {{ end }} {{ else }} {{ if or (eq $pageNum 1) (eq $pageNum $total) }} {{ $show = true }} {{ else if and (ge $pageNum $pre) (le $pageNum $next) }} {{ $show = true }} {{ end }} {{ end }} {{ if $show }}
  • {{ $pageNum }}
  • {{ else }} {{ if and (lt $pageNum $pre) (not $leftEllipsis) }}
  • ...
  • {{ $leftEllipsis = true }} {{ else if and (gt $pageNum $next) (not $rightEllipsis) }}
  • ...
  • {{ $rightEllipsis = true }} {{ end }} {{ end }} {{ end }}
  • {{ $paginator.PageNumber }} / {{ $paginator.TotalPages }}