aboutsummaryrefslogtreecommitdiff
path: root/layouts/partials/pageinfo.html
diff options
context:
space:
mode:
authorNicholas Johnson <mail@nicholasjohnson.ch>2025-02-06 00:00:00 +0000
committerNicholas Johnson <mail@nicholasjohnson.ch>2025-02-06 00:00:00 +0000
commit6ac2fc6523a8038c2b7acd268d047c3e33f5939578c1ff2e7fbdd526ba422335 (patch)
tree295c217220e8e35179ca57fe04dc16d62ca734d0f12fe2101c19ee3cd9b9c746 /layouts/partials/pageinfo.html
parent1499480874751f9d55f29e2be9b94d571ae1577e2201856a2461383d73553aa6 (diff)
downloadhugo-theme-journal-6ac2fc6523a8038c2b7acd268d047c3e33f5939578c1ff2e7fbdd526ba422335.tar.gz
hugo-theme-journal-6ac2fc6523a8038c2b7acd268d047c3e33f5939578c1ff2e7fbdd526ba422335.zip
Add non-breaking spaces to improve text flow
The spaces directly following emojis must be non-breaking because having emojis alone on their own line is ugly and visually confusing. The spaces within pageinfo "segments" must be non-breaking because splitting dates and read times across multiple lines is ugly and visually confusing.
Diffstat (limited to 'layouts/partials/pageinfo.html')
-rw-r--r--layouts/partials/pageinfo.html13
1 files changed, 12 insertions, 1 deletions
diff --git a/layouts/partials/pageinfo.html b/layouts/partials/pageinfo.html
index c002530..8879d5e 100644
--- a/layouts/partials/pageinfo.html
+++ b/layouts/partials/pageinfo.html
@@ -1,2 +1,13 @@
{{ $dateFormat := .Site.Params.dateFormat | default ":date_long" -}}
-{{ emojify ":calendar:" }} <time {{ printf "datetime=%q" (.Page.PublishDate | time.Format "2006-01-02T15:04:05-0700") | safeHTMLAttr }}>{{ .Page.PublishDate | time.Format $dateFormat }}</time> | {{ emojify ":stopwatch:" }} <time datetime="PT{{ .ReadingTime }}M">{{ i18n "readingTime" .ReadingTime }}</time>{{ if (.Param (lower (i18n "tags"))) }} | {{ emojify ":label:" }} {{ end }}{{ range $key, $val := (.Param (lower (i18n "tags"))) }}{{ if $key }}, {{ end }}<a class="link link--internal" href='{{ relLangURL (lower (i18n "tags")) }}/{{ . | urlize }}/' rel="noreferrer">{{ $val }}</a>{{ end }}
+
+{{/* user-overridable parameter $dateFormat is escaped pre-insertion so that HTML entities can be inserted */ -}}
+{{ $nonBreakingPublishDate := .Page.PublishDate | time.Format $dateFormat | htmlEscape -}}
+{{ $nonBreakingPublishDate = replace $nonBreakingPublishDate " " "&nbsp;" -}}
+{{ $nonBreakingPublishDate = replace $nonBreakingPublishDate "-" "&#8209;" -}}
+
+{{/* user-overridable parameter $readingTime is escaped pre-insertion so that HTML entities can be inserted */ -}}
+{{ $nonBreakingReadingTime := i18n "readingTime" .ReadingTime | htmlEscape -}}
+{{ $nonBreakingReadingTime = replace $nonBreakingReadingTime " " "&nbsp;" -}}
+{{ $nonBreakingReadingTime = replace $nonBreakingReadingTime "-" "&#8209;" -}}
+
+{{ emojify ":calendar:" }}&nbsp;<time {{ printf "datetime=%q" (.Page.PublishDate | time.Format "2006-01-02T15:04:05-0700") | safeHTMLAttr }}>{{ $nonBreakingPublishDate | safeHTML }}</time> | {{ emojify ":stopwatch:" }}&nbsp;<time datetime="PT{{ .ReadingTime }}M">{{ $nonBreakingReadingTime | safeHTML }}</time>{{ if (.Param (lower (i18n "tags"))) }} | {{ emojify ":label:" }}&nbsp;{{ end }}{{ range $key, $val := (.Param (lower (i18n "tags"))) }}{{ if $key }}, {{ end }}<a class="link link--internal" href='{{ relLangURL (lower (i18n "tags")) }}/{{ . | urlize }}/' rel="noreferrer">{{ $val }}</a>{{ end }}