From 6ac2fc6523a8038c2b7acd268d047c3e33f5939578c1ff2e7fbdd526ba422335 Mon Sep 17 00:00:00 2001 From: Nicholas Johnson Date: Thu, 6 Feb 2025 00:00:00 +0000 Subject: 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. --- layouts/_default/single.gmi | 6 +++--- layouts/_default/single.html | 2 +- layouts/index.gmi | 2 +- layouts/index.html | 2 +- layouts/partials/metadata.gmi | 2 +- layouts/partials/metadata.html | 2 +- layouts/partials/pageinfo.gmi | 11 ++++++++++- layouts/partials/pageinfo.html | 13 ++++++++++++- layouts/taxonomy/taxonomy.gmi | 6 +++--- layouts/taxonomy/taxonomy.html | 6 +++--- layouts/term/term.gmi | 4 ++-- layouts/term/term.html | 4 ++-- 12 files changed, 40 insertions(+), 20 deletions(-) diff --git a/layouts/_default/single.gmi b/layouts/_default/single.gmi index 7666f8c..1502830 100644 --- a/layouts/_default/single.gmi +++ b/layouts/_default/single.gmi @@ -1,6 +1,6 @@ {{ define "main" -}} -{{ $emoji := cond (.Page.Params.showlinkemoji | default true) (emojify ":link: ") "" -}} -=> {{ .Site.Home.RelPermalink | strings.TrimSuffix "index.gmi" }} {{ emojify ":link:" }} {{ i18n "returnHome" -}} +{{ $emoji := cond (.Page.Params.showlinkemoji | default true) (emojify ":link: ") "" -}} +=> {{ .Site.Home.RelPermalink | strings.TrimSuffix "index.gmi" }} {{ emojify ":link:" }} {{ i18n "returnHome" -}} {{ if (.Page.Params.pageinfo | default true) }} @@ -125,7 +125,7 @@ {{ $ref_title := .title -}} {{/* render referenced links */}} -{{ print "=> " $ref_link (emojify " :link: [") $ref_index "]: " (cond (ne (len $ref_title) 0) $ref_title $ref_text) -}} +{{ print "=> " $ref_link (emojify " :link: [") $ref_index "]: " (cond (ne (len $ref_title) 0) $ref_title $ref_text) -}} {{ end -}} {{ end -}} diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 1a8aa10..fdfa777 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1,6 +1,6 @@ {{ define "main" -}} {{- if (.Page.Params.pageinfo | default true) }}

{{ partial "pageinfo.html" . }}

diff --git a/layouts/index.gmi b/layouts/index.gmi index ec9a959..4ce3bf1 100644 --- a/layouts/index.gmi +++ b/layouts/index.gmi @@ -8,7 +8,7 @@ ## {{ i18n "navLinks" }} {{ range .Site.Menus.main }} -=> {{ .URL }} {{ emojify ":link:" }} {{ .Name -}} +=> {{ .URL }} {{ emojify ":link:" }} {{ .Name -}} {{ end -}} {{ end -}} diff --git a/layouts/index.html b/layouts/index.html index c5ba561..efbebb1 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -7,7 +7,7 @@ diff --git a/layouts/partials/metadata.gmi b/layouts/partials/metadata.gmi index 04749d9..48d3db4 100644 --- a/layouts/partials/metadata.gmi +++ b/layouts/partials/metadata.gmi @@ -1,2 +1,2 @@ {{ partial "pageinfo.gmi" . }} -=> {{ .RelPermalink | strings.TrimSuffix "index.gmi" }} {{ emojify ":link:" }} {{ .Title }} \ No newline at end of file +=> {{ .RelPermalink | strings.TrimSuffix "index.gmi" }} {{ emojify ":link:" }} {{ .Title }} \ No newline at end of file diff --git a/layouts/partials/metadata.html b/layouts/partials/metadata.html index 4158ee5..ed091b8 100644 --- a/layouts/partials/metadata.html +++ b/layouts/partials/metadata.html @@ -1,6 +1,6 @@

{{ partial "pageinfo.html" . }}
- {{ emojify ":link:" }} {{ .Title }}

+ {{ emojify ":link:" }} {{ .Title }}

\ No newline at end of file diff --git a/layouts/partials/pageinfo.gmi b/layouts/partials/pageinfo.gmi index 0e2d051..adde0c0 100644 --- a/layouts/partials/pageinfo.gmi +++ b/layouts/partials/pageinfo.gmi @@ -1,2 +1,11 @@ {{ $dateFormat := .Site.Params.dateFormat | default ":date_long" -}} -{{ emojify ":calendar:" }} {{ .Page.PublishDate | time.Format $dateFormat }} | {{ emojify ":stopwatch:" }} {{ i18n "readingTime" .ReadingTime }}{{ if (.Param (lower (i18n "tags"))) }} | {{ emojify ":label:" }} {{ end }}{{ range $key, $val := (.Param (lower (i18n "tags"))) }}{{ if $key }}, {{ end }}{{ $val }}{{ end }} \ No newline at end of file + +{{ $nonBreakingPublishDate := .Page.PublishDate | time.Format $dateFormat -}} +{{ $nonBreakingPublishDate = replace $nonBreakingPublishDate " " " " -}} +{{ $nonBreakingPublishDate = replace $nonBreakingPublishDate "-" "‑" -}} + +{{ $nonBreakingReadingTime := i18n "readingTime" .ReadingTime -}} +{{ $nonBreakingReadingTime = replace $nonBreakingReadingTime " " " " -}} +{{ $nonBreakingReadingTime = replace $nonBreakingReadingTime "-" "‑" -}} + +{{ emojify ":calendar:" }} {{ $nonBreakingPublishDate }} | {{ emojify ":stopwatch:" }} {{ $nonBreakingReadingTime }}{{ if (.Param (lower (i18n "tags"))) }} | {{ emojify ":label:" }} {{ end }}{{ range $key, $val := (.Param (lower (i18n "tags"))) }}{{ if $key }}, {{ end }}{{ $val }}{{ end }} \ No newline at end of file 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:" }} | {{ emojify ":stopwatch:" }} {{ if (.Param (lower (i18n "tags"))) }} | {{ emojify ":label:" }} {{ end }}{{ range $key, $val := (.Param (lower (i18n "tags"))) }}{{ if $key }}, {{ end }}{{ $val }}{{ 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 " " " " -}} +{{ $nonBreakingPublishDate = replace $nonBreakingPublishDate "-" "‑" -}} + +{{/* user-overridable parameter $readingTime is escaped pre-insertion so that HTML entities can be inserted */ -}} +{{ $nonBreakingReadingTime := i18n "readingTime" .ReadingTime | htmlEscape -}} +{{ $nonBreakingReadingTime = replace $nonBreakingReadingTime " " " " -}} +{{ $nonBreakingReadingTime = replace $nonBreakingReadingTime "-" "‑" -}} + +{{ emojify ":calendar:" }}  | {{ emojify ":stopwatch:" }} {{ if (.Param (lower (i18n "tags"))) }} | {{ emojify ":label:" }} {{ end }}{{ range $key, $val := (.Param (lower (i18n "tags"))) }}{{ if $key }}, {{ end }}{{ $val }}{{ end }} diff --git a/layouts/taxonomy/taxonomy.gmi b/layouts/taxonomy/taxonomy.gmi index a889b37..9c2a9f0 100644 --- a/layouts/taxonomy/taxonomy.gmi +++ b/layouts/taxonomy/taxonomy.gmi @@ -1,5 +1,5 @@ {{ define "main" -}} -=> {{ .Site.Home.RelPermalink | strings.TrimSuffix "index.gmi" }} {{ emojify ":link:" }} {{ i18n "returnHome" }} +=> {{ .Site.Home.RelPermalink | strings.TrimSuffix "index.gmi" }} {{ emojify ":link:" }} {{ i18n "returnHome" }} # {{ .Type | humanize }} @@ -7,11 +7,11 @@ ## {{ i18n "feeds" }} -=> {{ .RelPermalink | replaceRE `index.gmi$` "atom.xml" }} {{ emojify ":link:" }} {{ i18n "atomFeed" }} +=> {{ .RelPermalink | replaceRE `index.gmi$` "atom.xml" }} {{ emojify ":link:" }} {{ i18n "atomFeed" }} ## {{ i18n "list" }} {{ range .Data.Pages }} -=> {{ .RelPermalink | strings.TrimSuffix "index.gmi" }} {{ emojify ":link:" }} {{ .Title -}} +=> {{ .RelPermalink | strings.TrimSuffix "index.gmi" }} {{ emojify ":link:" }} {{ .Title -}} {{ end -}} {{ end }} \ No newline at end of file diff --git a/layouts/taxonomy/taxonomy.html b/layouts/taxonomy/taxonomy.html index 7dd447d..2842beb 100644 --- a/layouts/taxonomy/taxonomy.html +++ b/layouts/taxonomy/taxonomy.html @@ -1,15 +1,15 @@ {{ define "main" -}}

{{ .Type | humanize }}

{{ i18n "feeds" }}

-

{{ emojify ":link:" }} {{ i18n "atomFeed" }}

+

{{ emojify ":link:" }} {{ i18n "atomFeed" }}

{{ i18n "list" }}

diff --git a/layouts/term/term.gmi b/layouts/term/term.gmi index b2c7bcb..5d7f7b1 100644 --- a/layouts/term/term.gmi +++ b/layouts/term/term.gmi @@ -1,5 +1,5 @@ {{ define "main" -}} -=> {{ .Site.Home.RelPermalink | strings.TrimSuffix "index.gmi" }} {{ emojify ":link:" }} {{ i18n "returnHome" }} +=> {{ .Site.Home.RelPermalink | strings.TrimSuffix "index.gmi" }} {{ emojify ":link:" }} {{ i18n "returnHome" }} # {{ .Type | singularize | humanize }} "{{ .Title }}" @@ -7,7 +7,7 @@ ## {{ i18n "feeds" }} -=> {{ .RelPermalink | replaceRE `index.gmi$` "atom.xml" }} {{ emojify ":link:" }} {{ i18n "atomFeed" }} +=> {{ .RelPermalink | replaceRE `index.gmi$` "atom.xml" }} {{ emojify ":link:" }} {{ i18n "atomFeed" }} ## {{ i18n "journalEntries" -}} diff --git a/layouts/term/term.html b/layouts/term/term.html index 33d5347..78e5542 100644 --- a/layouts/term/term.html +++ b/layouts/term/term.html @@ -1,11 +1,11 @@ {{ define "main" -}}

{{ .Type | singularize | humanize }} "{{ .Title }}"

{{ i18n "feeds" }}

-

{{ emojify ":link:" }} {{ i18n "atomFeed" }}

+

{{ emojify ":link:" }} {{ i18n "atomFeed" }}

{{ i18n "journalEntries" }}

{{- range .Data.Pages.ByPublishDate.Reverse }} {{ partial "metadata.html" . -}} -- cgit v1.2.3