diff --git a/layouts/partials/paige/head.html b/layouts/partials/paige/head.html index 2ee44843..34535bee 100644 --- a/layouts/partials/paige/head.html +++ b/layouts/partials/paige/head.html @@ -1,26 +1,36 @@ {{ $page := . }} -{{ $title := $page.Title }} - -{{ if and $page.IsHome (not $title) }} - {{ $title = site.Title }} -{{ end }} - -{{ $title = $title | markdownify | plainify | htmlUnescape }} +{{ $titles := slice }} + +{{ if $page.IsHome }} + {{ if and $page.Title site.Title (eq $page.Title site.Title) }} + {{ $titles = slice (site.Title | markdownify | plainify | htmlUnescape) }} + {{ else }} + {{ if $page.Title }} + {{ $titles = $titles | append ($page.Title | markdownify | plainify | htmlUnescape) }} + {{ end }} + + {{ if site.Title }} + {{ $titles = $titles | append (site.Title | markdownify | plainify | htmlUnescape) }} + {{ end }} + {{ end }} +{{ else }} + {{ with $page.Title }} + {{ $titles = slice (. | markdownify | plainify | htmlUnescape) }} + {{ end }} -{{ $titles := slice $title }} + {{ range .Ancestors }} + {{ $title := .Title }} -{{ range .Ancestors }} - {{ $title := .Title }} + {{ if and .IsHome (not $title) }} + {{ $title = site.Title }} + {{ end }} - {{ if and .IsHome (not $title) }} - {{ $title = site.Title }} + {{ $titles = $titles | append ($title | markdownify | plainify | htmlUnescape) }} {{ end }} - - {{ $titles = $titles | append ($title | markdownify | plainify | htmlUnescape) }} {{ end }} -{{ $title = delimit $titles " · " }} +{{ $title := delimit $titles " · " }} {{ partial "paige/func-include.html" (dict "name" "head-first%s.html" "page" $page) }}