{{- if gt .Paginator.TotalPages 1 -}}
    <ul class="pagination">
        {{- .Scratch.Set "paginator.ellipsed" false -}}
        {{- range $.Paginator.Pagers -}}
            {{- $right := sub .TotalPages .PageNumber -}}
            {{- $showNumber := or (le .PageNumber 1) (eq $right 0) -}}
            {{- $showNumber := or $showNumber (and (gt .PageNumber (sub $.Paginator.PageNumber 3)) (lt .PageNumber (add $.Paginator.PageNumber 3))) -}}
            {{- if $showNumber -}}
                {{- $.Scratch.Set "paginator.ellipsed" false -}}
                {{- $.Scratch.Set "paginator.shouldEllipse" false -}}
            {{- else -}}
                {{- $.Scratch.Set "paginator.shouldEllipse" (not ($.Scratch.Get "paginator.ellipsed") ) -}}
                {{- $.Scratch.Set "paginator.ellipsed" true -}}
            {{- end -}}
            {{- if $showNumber -}}
                <li class="page-item {{ if eq . $.Paginator }}active{{ end }}">
                    <span class="page-link">
                        <a href="{{ .URL }}">
                            {{- .PageNumber -}}
                        </a>
                    </span>
                </li>
            {{- else if ($.Scratch.Get "paginator.shouldEllipse") -}}
                <li class="page-item ">
                    <span class="page-link" aria-hidden="true">&hellip;</span>
                </li>
            {{- end -}}
        {{- end -}}
    </ul>
{{- end -}}
