diff --git a/layouts/_default/taxonomy.html b/layouts/_default/taxonomy.html
index 2f3e9d41e0..ca04cf9e30 100644
--- a/layouts/_default/taxonomy.html
+++ b/layouts/_default/taxonomy.html
@@ -9,34 +9,31 @@
{{ $title }}
{{- .Content }}
{{- $lastCapital := "" }}
-{{- $terms := slice }}
+{{- $pages := slice }}
{{- range .Data.Terms }}
- {{- $terms = $terms | append (dict "Title" (default .Page.Data.Term .Page.Title) "Term" . )}}
- {{- if not .Page.Title }}
- {{- warnf "%q: You have not given a 'title' in the frontmatter of your term page, the urlized title will be used instead" .Page.File.Filename }}
- {{- end }}
-{{- end }}
-{{- range sort $terms ".Title" }}
- {{- $capital := substr .Title 0 1 | upper }}
{{- $len := 0 }}
- {{- range .Term.Pages }}
+ {{- range .Pages }}
{{- $c:=""}}{{/* count pages of term */}}
{{- if and .Title .RelPermalink (or (ne (.Scratch.Get "relearnIsHiddenStem") true) (ne .Site.Params.disableTagHiddenPages true) ) }}
{{- $len = add $len 1 }}
{{- end }}
{{- end }}
{{- if $len }}
- {{- if ne $lastCapital $capital }}
- {{- if ne $lastCapital "" }}
+ {{- $pages = $pages| append (dict "Title" (default .Page.Data.Term .Page.Title) "Page" . "Len" $len )}}
+ {{- end }}
+{{- end }}
+{{- range sort $pages ".Title" }}
+ {{- $capital := substr .Title 0 1 | upper }}
+ {{- if ne $lastCapital $capital }}
+ {{- if ne $lastCapital "" }}
- {{- end }}
+ {{- end }}
{{ $capital }}
- {{- end }}
- {{- $c:=""}}{{/* display terms of a taxonomy */}}
- - {{ .Title }} ({{ $len }})
- {{- $lastCapital = $capital }}
{{- end }}
+ {{- $c:=""}}{{/* display terms of a taxonomy */}}
+ - {{ .Title }} ({{ .Len }})
+ {{- $lastCapital = $capital }}
{{- end }}
{{- if ne $lastCapital "" }}
diff --git a/layouts/partials/toc-id.html b/layouts/partials/toc-id.html
index efee626f09..c974c64c7f 100644
--- a/layouts/partials/toc-id.html
+++ b/layouts/partials/toc-id.html
@@ -1,55 +1,44 @@
-{{- if eq .Kind "taxonomy" }}
-
-{{- else if eq .Kind "term" }}
+{{- if or (eq .Kind "taxonomy") (eq .Kind "term") }}
{{- $lastCapital := "" }}
{{- $pages := slice }}
- {{- range .Pages }}
- {{- if and .Title .RelPermalink (or (ne (.Scratch.Get "relearnIsHiddenStem") true) (ne .Site.Params.disableTagHiddenPages true) ) }}
- {{- $pages = $pages | append (dict "Title" .Title "Page" . )}}
+ {{- if eq .Kind "taxonomy" }}
+ {{- range .Data.Terms }}
+ {{- $len := 0 }}
+ {{- range .Pages }}
+ {{- $c:=""}}{{/* count pages of term */}}
+ {{- if and .Title .RelPermalink (or (ne (.Scratch.Get "relearnIsHiddenStem") true) (ne .Site.Params.disableTagHiddenPages true) ) }}
+ {{- $len = add $len 1 }}
+ {{- end }}
+ {{- end }}
+ {{- if $len }}
+ {{- $pages = $pages| append (dict "Title" (default .Page.Data.Term .Page.Title) "Page" . "Len" $len )}}
+ {{- end }}
+ {{- end }}
+ {{- else if eq .Kind "term" }}
+ {{- range .Pages }}
+ {{- if and .Title .RelPermalink (or (ne (.Scratch.Get "relearnIsHiddenStem") true) (ne .Site.Params.disableTagHiddenPages true) ) }}
+ {{- $pages = $pages | append (dict "Title" .Title "Page" . )}}
+ {{- end }}
{{- end }}
{{- end }}
- {{- $toc_term := "" }}
+ {{- $toc_pages := "" }}
{{- range sort $pages ".Title" }}
{{- $capital := substr .Title 0 1 | upper }}
{{- if ne $lastCapital $capital }}
- {{- $toc_term = printf "%s %s\n" $toc_term ($capital | plainify | anchorize) $capital }}
+ {{- $toc_pages = printf "%s %s\n" $toc_pages ($capital | plainify | anchorize) $capital }}
{{- end }}
{{- $lastCapital = $capital }}
{{- end }}
{{- $toc := trim (partial "toc.html" .) " \n\r\t" }}
- {{- if and (not $toc) $toc_term }}
+ {{- if and (not $toc) $toc_pages }}
{{- $toc = printf "" }}
{{- end }}
- {{- if and $toc $toc_term }}
+ {{- if and $toc $toc_pages }}
{{- $toc = replaceRE "^()$" " ${1}" $toc }}
- {{- $toc = replaceRE "([ \\t]*[\\s]*)$" (printf "%s${1}" $toc_term) $toc }}
+ {{- $toc = replaceRE "([ \\t]*[\\s]*)$" (printf "%s${1}" $toc_pages) $toc }}
{{- end }}
{{ $toc | safeHTML }}
{{- else }}