31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
| {{ $pag := $.Paginator }}
 | |
| {{ $window := $.Site.Params.paginateWindow | default 1 }}
 | |
| {{ if gt $pag.TotalPages 1 }}
 | |
|   {{ $total := $pag.TotalPages }}
 | |
|   {{ $size := add 5 (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 }}
 | |
|   <ul class="pagination">
 | |
|     {{ range $pag.Pagers }}
 | |
|       {{ $cur := .PageNumber }}
 | |
|       {{ if in ($.Scratch.Get "show") $cur }}
 | |
|         <li
 | |
|         {{ if eq . $pag }}class="active"{{ end }}><a href="{{ .URL }}">{{ .PageNumber }}</a></li>
 | |
|       {{ else if in (slice 2 (sub $total 1)) $cur }}
 | |
|         <li class="disabled"><a name="">…</a></li>
 | |
|       {{ end }}
 | |
|     {{ end }}
 | |
|   </ul>
 | |
| {{ end }} |