From ea09a86fe6b7df41ba58bd842f0bb8bd3eb8443d Mon Sep 17 00:00:00 2001 From: Wladimir Palant Date: Sun, 7 Jun 2020 12:37:16 +0200 Subject: [PATCH] refactor: Make title.html partial more readable, fix title for taxonomy pages (#187) * refactor: Make title.html partial more readable, fix title for taxonomy pages * fix: Search index does not respect Markdown in page titles BREAKING CHANGE: Markdown in page titles will be processed now --- layouts/index.searchindex.json | 7 ++++--- layouts/partials/utils/title.html | 23 +++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/layouts/index.searchindex.json b/layouts/index.searchindex.json index b0112528..dea69788 100644 --- a/layouts/index.searchindex.json +++ b/layouts/index.searchindex.json @@ -3,14 +3,15 @@ {{- if gt $index 0 -}} , {{- end -}} - {{- $entry := dict "uri" $page.RelPermalink "title" $page.Title "content" ($page.Plain | htmlUnescape) -}} + {{- $rawTitle := (partial "utils/title.html" (dict "$" $ "title" $page.Title)).rawTitle -}} + {{- $entry := dict "uri" $page.RelPermalink "title" $rawTitle "content" ($page.Plain | htmlUnescape) -}} {{- if $page.Params.subtitle -}} {{- $subtitle := partial "utils/markdownify.html" (dict "$" $page "raw" $page.Params.subtitle "isContent" false) -}} - {{- $entry = merge $entry (dict "subtitle" ($subtitle | plainify)) -}} + {{- $entry = merge $entry (dict "subtitle" ($subtitle | plainify | htmlUnescape)) -}} {{- end -}} {{- if .Site.Params.displayPostDescription -}} {{- $description := partial "utils/markdownify.html" (dict "$" $page "raw" $page.Description "isContent" false) -}} - {{- $entry = merge $entry (dict "description" ($description | plainify)) -}} + {{- $entry = merge $entry (dict "description" ($description | plainify | htmlUnescape)) -}} {{- end -}} {{- if .Site.Params.displayCategory -}} {{- if eq .Site.Params.categoryBy "sections" -}} diff --git a/layouts/partials/utils/title.html b/layouts/partials/utils/title.html index 14762e79..890161fa 100644 --- a/layouts/partials/utils/title.html +++ b/layouts/partials/utils/title.html @@ -1,30 +1,29 @@ {{- $ := index . "$" -}} -{{- $rawTitle := .title -}} +{{- $htmlTitle := .title -}} {{- if eq $.Kind "home" -}} - {{- $rawTitle = $rawTitle | default $.Site.Title -}} + {{- $htmlTitle = $htmlTitle | default $.Site.Title -}} {{- else if eq $.Kind "taxonomyTerm" -}} - {{- $rawTitle = $rawTitle | default ($.Type | title) -}} + {{- $htmlTitle = $htmlTitle | default ($.Type | title) -}} {{- else if eq $.Kind "taxonomy" -}} - {{- $taxonomyTermTitle := $rawTitle | default $.Data.Term | default (delimit (last 1 (split (strings.TrimSuffix "/_index.md" $.Path) "/")) " ") -}} + {{- $taxonomyTermTitle := $htmlTitle | default $.Data.Term | default (delimit (last 1 (split (strings.TrimSuffix "/_index.md" $.Path) "/")) " ") -}} {{- with $.Site.GetPage (printf "/%s" $.Data.Plural) -}} - {{- $rawTitle = printf "%s: %s" ($.Title | default ($.Type | title)) $taxonomyTermTitle -}} + {{- $htmlTitle = printf "%s: %s" (.Title | default (.Type | title)) $taxonomyTermTitle -}} {{- end -}} {{- else if eq $.Kind "section" -}} - {{- $rawTitle = $rawTitle | default (delimit (last 1 (split (strings.TrimSuffix "/_index.md" $.Path) "/")) " ") -}} - -{{- else -}} - {{- $rawTitle = $rawTitle -}} + {{- $htmlTitle = $htmlTitle | default (delimit (last 1 (split (strings.TrimSuffix "/_index.md" $.Path) "/")) " ") -}} {{- end -}} -{{- $htmlTitle := partial "utils/markdownify.html" (dict "$" $ "raw" $rawTitle "isContent" false) -}} +{{- $htmlTitle = partial "utils/markdownify.html" (dict "$" $ "raw" $htmlTitle "isContent" false) -}} -{{- $title := $htmlTitle -}} +{{- $rawTitle := $htmlTitle | plainify | htmlUnescape -}} + +{{- $title := $rawTitle -}} {{- if ne $.Kind "home" -}} {{- $title = printf "%s | %s" $title $.Site.Title -}} {{- end -}} -{{- return dict "rawTitle" ($htmlTitle | plainify | htmlUnescape) "title" ($title | plainify | htmlUnescape) "htmlTitle" $htmlTitle -}} +{{- return dict "rawTitle" $rawTitle "title" $title "htmlTitle" $htmlTitle -}}