diff --git a/exampleSite/content/tags/hidden/_index.en.md b/exampleSite/content/tags/hidden/_index.en.md
new file mode 100644
index 0000000000..d9fa9f085d
--- /dev/null
+++ b/exampleSite/content/tags/hidden/_index.en.md
@@ -0,0 +1,4 @@
++++
++++
+
+This lists all pages that are hidden from the home page. This includes pages that define `hidden=true` in their frontmatter as weill as descendents of hidden pages.
\ No newline at end of file
diff --git a/exampleSite/content/tags/hidden/_index.pir.md b/exampleSite/content/tags/hidden/_index.pir.md
new file mode 100644
index 0000000000..89bf7c45e9
--- /dev/null
+++ b/exampleSite/content/tags/hidden/_index.pir.md
@@ -0,0 +1,3 @@
++++
++++
+{{< piratify true >}}
\ No newline at end of file
diff --git a/layouts/_default/index.json b/layouts/_default/index.json
index abd89e5696..3e401ff788 100644
--- a/layouts/_default/index.json
+++ b/layouts/_default/index.json
@@ -13,7 +13,7 @@
{{- if not $title }}
{{- $title = .Data.Singular }}
{{- end }}
- {{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) .Title }}
+ {{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) (default .Data.Term .Title) }}
{{- end }}
{{- $pages = $pages | append (dict
"uri" (partial "relLangPrettyUglyURL.hugo" (dict "to" .))
diff --git a/layouts/_default/index.search.js b/layouts/_default/index.search.js
index aaea2ab9dd..a542caceb3 100644
--- a/layouts/_default/index.search.js
+++ b/layouts/_default/index.search.js
@@ -13,7 +13,7 @@
{{- if not $title }}
{{- $title = .Data.Singular }}
{{- end }}
- {{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) .Title }}
+ {{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) (default .Data.Term .Title) }}
{{- end }}
{{- $pages = $pages | append (dict
"uri" (partial "relLangPrettyUglyURL.hugo" (dict "to" .))
diff --git a/layouts/_default/taxonomy.html b/layouts/_default/taxonomy.html
index ef47290246..db5fced60d 100644
--- a/layouts/_default/taxonomy.html
+++ b/layouts/_default/taxonomy.html
@@ -12,7 +12,7 @@
{{ $title }}
{{- $lastCapital := "" }}
{{- range .Data.Terms.Alphabetical }}
- {{- $capital := substr .Page.Title 0 1 | upper }}
+ {{- $capital := substr (default .Page.Data.Term .Page.Title) 0 1 | upper }}
{{- if ne $lastCapital $capital }}
{{- if ne $lastCapital "" }}
@@ -29,7 +29,7 @@
{{- end }}
{{- end }}
{{- if $len }}
- {{ .Page.Title }} ({{ $len }})
+ {{ (default .Page.Data.Term .Page.Title) }} ({{ $len }})
{{- end }}
{{- $lastCapital = $capital }}
{{- end }}
diff --git a/layouts/_default/term.html b/layouts/_default/term.html
index 68d4a58d31..ab2ab250e5 100644
--- a/layouts/_default/term.html
+++ b/layouts/_default/term.html
@@ -9,7 +9,7 @@
{{- if not $title }}
{{- $title = .Data.Singular }}
{{- end }}
-{{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) .Title }}
+{{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) (default .Data.Term .Title) }}
{{ $title }}
{{- .Content }}
diff --git a/layouts/partials/breadcrumbs.html b/layouts/partials/breadcrumbs.html
index 691124e45d..34a18bfa8b 100644
--- a/layouts/partials/breadcrumbs.html
+++ b/layouts/partials/breadcrumbs.html
@@ -14,7 +14,7 @@
{{- $breadcrumb := slice }}
{{- range seq $depth }}
{{- if $to }}
- {{- if $to.Title }}
+ {{- if (default $to.Data.Term $to.Title) }}
{{- $breadcrumb = $breadcrumb | append $to }}
{{- end }}
{{- else }}
@@ -32,17 +32,17 @@
{{- $to := $e }}
{{- $depth = add $depth 1 }}
{{- $title := $to.Title }}
- {{- if eq .Kind "taxonomy" }}
+ {{- if eq $to.Kind "taxonomy" }}
{{- $title = i18n $to.Data.Plural }}
{{- if not $title }}
{{- $title = $to.Data.Plural }}
{{- end }}
- {{- else if eq .Kind "term" }}
+ {{- else if eq $to.Kind "term" }}
{{- $title = i18n $to.Data.Singular }}
{{- if not $title }}
{{- $title = $to.Data.Singular }}
{{- end }}
- {{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) $to.Title }}
+ {{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) (default $to.Data.Term $to.Title) }}
{{- end }}
{{- if not $title }}
{{- $title = $to.Site.Title }}
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
index 3b9af44f4c..3f01ddc607 100644
--- a/layouts/partials/header.html
+++ b/layouts/partials/header.html
@@ -23,7 +23,7 @@
{{- if not $title }}
{{- $title = .Data.Singular }}
{{- end }}
- {{- $title = printf "%s %s %s" .Title (default "::" .Site.Params.titleSeparator) $title }}
+ {{- $title = printf "%s %s %s" (default .Data.Term .Title) (default "::" .Site.Params.titleSeparator) $title }}
{{- end }}
{{- if and $title .Site.Title (not (eq $title .Site.Title)) }}
{{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) .Site.Title }}
diff --git a/layouts/partials/opengraph.html b/layouts/partials/opengraph.html
index a79c42b9ce..9fd7b3e01b 100644
--- a/layouts/partials/opengraph.html
+++ b/layouts/partials/opengraph.html
@@ -19,7 +19,7 @@
{{- if not $title }}
{{- $title = .Data.Singular }}
{{- end }}
- {{- $title = printf "%s %s %s" .Title (default "::" .Site.Params.titleSeparator) $title }}
+ {{- $title = printf "%s %s %s" (default .Data.Term .Title) (default "::" .Site.Params.titleSeparator) $title }}
{{- end }}
{{- if and $title .Site.Title (not (eq $title .Site.Title)) }}
{{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) .Site.Title }}
@@ -64,7 +64,7 @@
{{- if not $title }}
{{- $title = .Data.Singular }}
{{- end }}
- {{- $title = printf "%s %s %s" .Title (default "::" .Site.Params.titleSeparator) $title }}
+ {{- $title = printf "%s %s %s" (default .Data.Term .Title) (default "::" .Site.Params.titleSeparator) $title }}
{{- end }}
{{- if and $title .Site.Title (not (eq $title .Site.Title)) }}
{{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) .Site.Title }}
diff --git a/layouts/partials/term-list.html b/layouts/partials/term-list.html
index 2efaa632b1..4402ca35e5 100644
--- a/layouts/partials/term-list.html
+++ b/layouts/partials/term-list.html
@@ -36,7 +36,7 @@
diff --git a/layouts/partials/twitter_cards.html b/layouts/partials/twitter_cards.html
index 51a92a069a..499caa775e 100644
--- a/layouts/partials/twitter_cards.html
+++ b/layouts/partials/twitter_cards.html
@@ -15,7 +15,7 @@
{{- if not $title }}
{{- $title = .Data.Singular }}
{{- end }}
- {{- $title = printf "%s %s %s" .Title (default "::" .Site.Params.titleSeparator) $title }}
+ {{- $title = printf "%s %s %s" (default .Data.Term .Title) (default "::" .Site.Params.titleSeparator) $title }}
{{- end }}
{{- if and $title .Site.Title (not (eq $title .Site.Title)) }}
{{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) .Site.Title }}