diff --git a/themes/powershell-community/layouts/podcast/list.html b/themes/powershell-community/layouts/podcast/list.html
index 489375682..910c1145d 100644
--- a/themes/powershell-community/layouts/podcast/list.html
+++ b/themes/powershell-community/layouts/podcast/list.html
@@ -101,16 +101,24 @@
{{ end }}
+ {{ $currentPage := $paginator.PageNumber }}
+ {{ $totalPages := $paginator.TotalPages }}
+
{{ range $paginator.Pagers }}
- {{ if eq . $paginator }}
-
- {{ .PageNumber }}
-
- {{ else }}
-
- {{ .PageNumber }}
-
+ {{ $pageNumber := .PageNumber }}
+ {{ if or (le $pageNumber 2) (ge $pageNumber (sub $totalPages 1)) (and (ge $pageNumber (sub $currentPage 1)) (le $pageNumber (add $currentPage 1))) }}
+ {{ if eq . $paginator }}
+
+ {{ .PageNumber }}
+
+ {{ else }}
+
+ {{ .PageNumber }}
+
+ {{ end }}
+ {{ else if or (eq $pageNumber 3) (eq $pageNumber (sub $totalPages 2)) }}
+ ...
{{ end }}
{{ end }}
diff --git a/themes/powershell-community/layouts/taxonomy/author.html b/themes/powershell-community/layouts/taxonomy/author.html
index e73691099..4f0d3f3bb 100644
--- a/themes/powershell-community/layouts/taxonomy/author.html
+++ b/themes/powershell-community/layouts/taxonomy/author.html
@@ -168,16 +168,24 @@
{{ end }}
+ {{ $currentPage := $paginator.PageNumber }}
+ {{ $totalPages := $paginator.TotalPages }}
+
{{ range $paginator.Pagers }}
- {{ if eq . $paginator }}
-
- {{ .PageNumber }}
-
- {{ else }}
-
- {{ .PageNumber }}
-
+ {{ $pageNumber := .PageNumber }}
+ {{ if or (le $pageNumber 2) (ge $pageNumber (sub $totalPages 1)) (and (ge $pageNumber (sub $currentPage 1)) (le $pageNumber (add $currentPage 1))) }}
+ {{ if eq . $paginator }}
+
+ {{ .PageNumber }}
+
+ {{ else }}
+
+ {{ .PageNumber }}
+
+ {{ end }}
+ {{ else if or (eq $pageNumber 3) (eq $pageNumber (sub $totalPages 2)) }}
+ ...
{{ end }}
{{ end }}