{{- $pag := $.Paginator }}
{{- if gt $pag.TotalPages 1 }}
<div class="pagination block">
	{{- $ellipsed := false }}
	{{- $shouldEllipse := false }}
	{{- range $pag.Pagers }}
		{{- $right := sub .TotalPages .PageNumber }}
		{{- $showNumber := or (le .PageNumber 3) (eq $right 0) }}
		{{- $showNumber := or $showNumber (and (gt .PageNumber (sub $pag.PageNumber 2)) (lt .PageNumber (add $pag.PageNumber 2))) }}
		{{- if $showNumber }}
			{{- $ellipsed = false }}
			{{- $shouldEllipse = false }}
		{{- else }}
			{{- $shouldEllipse = not $ellipsed }}
			{{- $ellipsed = true }}
		{{- end }}
		{{- if $showNumber }}
			{{- if eq . $pag }}
				<span class="pagination__item pagination__item--active" data-total="{{ $pag.TotalPages }}">
					{{- .PageNumber -}}
				</span>
			{{- else }}
				<a class="pagination__item pagination__item--desktop" href="{{ .URL }}">{{ .PageNumber }}</a>
			{{- end }}
		{{- else if $shouldEllipse }}
			<span class="pagination__item pagination__item--gap">&hellip;</span>
		{{- end }}
	{{- end }}
</div>
{{- end }}