{{ $paginator := .paginator }} <div class="pagination"> {{ if $paginator.HasPrev }} <a class="page-link" href="{{ $paginator.Prev.URL }}"> <div class="page-item">< Prev</div> </a> {{ else }} <div class="page-item disabled">< Prev</div> {{ end }} {{/* If the number of pagers is more than 5, use `...` to skip some pages */}} {{ if (le $paginator.TotalPages 5) }} {{ $current_num := $paginator.PageNumber }} {{ range $i, $pager := $paginator.Pagers }} {{ if (eq $current_num $pager.PageNumber) }} <div class="page-item active">{{ $pager.PageNumber }}</div> {{ else }} <a class="page-link" href="{{ $pager.URL }}"><div class="page-item">{{ $pager.PageNumber }}</div></a> {{ end }} {{ end }} {{ else }} {{ $first_page_num := 1 }} {{ $second_page_num := 2 }} {{ $last_page_num := $paginator.TotalPages }} {{ $second_last_page_num := (add $paginator.TotalPages -1) }} {{ $third_last_page_num := (add $paginator.TotalPages -2) }} {{ $current_num := $paginator.PageNumber }} {{/* place 1 */}} {{ if (eq $current_num $first_page_num) }} <div class="page-item active">{{ $current_num }}</div> {{ else }} <a class="page-link" href="{{ $paginator.First.URL }}"><div class="page-item">1</div></a> {{ end }} {{/* place 2 */}} {{ if (eq $current_num $second_page_num) }} <div class="page-item active">{{ $current_num }}</div> {{ else if (le $current_num 3)}} <a class="page-link" href="{{ $paginator.First.Next.URL }}"><div class="page-item">{{ $second_page_num }}</div></a> {{ else }} <div class="page-item">...</div> {{ end }} {{/* place 3 */}} {{ if (le $current_num $second_page_num)}} <a class="page-link" href="{{ $paginator.First.Next.Next.URL }}"><div class="page-item">3</div></a> {{ else if (ge $current_num $second_last_page_num) }} <a class="page-link" href="{{ $paginator.Last.Prev.Prev.URL }}"><div class="page-item">{{ $third_last_page_num }}</div></a> {{ else }} <div class="page-item active">{{ $current_num }}</div> {{ end }} {{/* place 4 */}} {{ if (eq $current_num $second_last_page_num) }} <div class="page-item active">{{ $current_num }}</div> {{ else if (ge $current_num $third_last_page_num) }} <a class="page-link" href="{{ $paginator.Last.Prev.URL }}"><div class="page-item">{{ $second_last_page_num }}</div></a> {{ else }} <div class="page-item">...</div> {{ end }} {{/* place 5 */}} {{ if (eq $current_num $last_page_num) }} <div class="page-item active">{{ $current_num }}</div> {{ else }} <a class="page-link" href="{{ $paginator.Last.URL }}"><div class="page-item">{{ $last_page_num }}</div></a> {{ end }} {{ end }} {{ if $paginator.HasNext }} <a class="page-link" href="{{ $paginator.Next.URL }}"> <div class="page-item">Next ></div> </a> {{ else }} <div class="page-item disabled">Next ></div> {{ end }} </div>