From 9bb9989fca490bfac69ea4387ccae1e9ec3ec23cf7f47a401e241ee43562f8a3 Mon Sep 17 00:00:00 2001 From: Nicholas Johnson <> Date: Sat, 26 Jul 2025 00:00:00 +0000 Subject: Migrate fully to Hugo's new template system This was the only way I could get term pages to consistently render correctly. --- layouts/_partials/footer.gmi | 1 + layouts/_partials/footer.html | 3 +++ layouts/_partials/head.html | 22 ++++++++++++++++++++++ layouts/_partials/header.gmi | 3 +++ layouts/_partials/header.html | 5 +++++ layouts/_partials/metadata.gmi | 2 ++ layouts/_partials/metadata.html | 6 ++++++ layouts/_partials/pageinfo.gmi | 18 ++++++++++++++++++ layouts/_partials/pageinfo.html | 23 +++++++++++++++++++++++ 9 files changed, 83 insertions(+) create mode 100644 layouts/_partials/footer.gmi create mode 100644 layouts/_partials/footer.html create mode 100644 layouts/_partials/head.html create mode 100644 layouts/_partials/header.gmi create mode 100644 layouts/_partials/header.html create mode 100644 layouts/_partials/metadata.gmi create mode 100644 layouts/_partials/metadata.html create mode 100644 layouts/_partials/pageinfo.gmi create mode 100644 layouts/_partials/pageinfo.html (limited to 'layouts/_partials') diff --git a/layouts/_partials/footer.gmi b/layouts/_partials/footer.gmi new file mode 100644 index 0000000..06b0678 --- /dev/null +++ b/layouts/_partials/footer.gmi @@ -0,0 +1 @@ +{{ replace $.Site.Copyright "{currentYear}" (now.Format "2006") }} \ No newline at end of file diff --git a/layouts/_partials/footer.html b/layouts/_partials/footer.html new file mode 100644 index 0000000..5f8ffc6 --- /dev/null +++ b/layouts/_partials/footer.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/layouts/_partials/head.html b/layouts/_partials/head.html new file mode 100644 index 0000000..8250e19 --- /dev/null +++ b/layouts/_partials/head.html @@ -0,0 +1,22 @@ + + + + + {{- if $.Site.Params.description }} + + {{- end -}} + {{ if $.Site.Params.keywords }} + + {{- end -}} + {{ if .Site.Params.custom_css -}} + {{ range .Site.Params.custom_css }} + + {{- end -}} + {{ else }} + + {{- end -}} + {{ if (not (fileExists "static/favicon.ico")) }} + + {{- end }} + {{ .Title }} + \ No newline at end of file diff --git a/layouts/_partials/header.gmi b/layouts/_partials/header.gmi new file mode 100644 index 0000000..c70f84a --- /dev/null +++ b/layouts/_partials/header.gmi @@ -0,0 +1,3 @@ +```plaintext +{{ chomp (readFile "templates/logo.txt") }} +``` \ No newline at end of file diff --git a/layouts/_partials/header.html b/layouts/_partials/header.html new file mode 100644 index 0000000..d8ec881 --- /dev/null +++ b/layouts/_partials/header.html @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/layouts/_partials/metadata.gmi b/layouts/_partials/metadata.gmi new file mode 100644 index 0000000..48d3db4 --- /dev/null +++ b/layouts/_partials/metadata.gmi @@ -0,0 +1,2 @@ +{{ partial "pageinfo.gmi" . }} +=> {{ .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 new file mode 100644 index 0000000..ed091b8 --- /dev/null +++ b/layouts/_partials/metadata.html @@ -0,0 +1,6 @@ +
+
+

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

+
+
\ No newline at end of file diff --git a/layouts/_partials/pageinfo.gmi b/layouts/_partials/pageinfo.gmi new file mode 100644 index 0000000..9993d93 --- /dev/null +++ b/layouts/_partials/pageinfo.gmi @@ -0,0 +1,18 @@ +{{ $dateFormat := .Site.Params.dateFormat | default ":date_long" -}} + +{{ $nonBreakingPublishDate := .Page.PublishDate | time.Format $dateFormat -}} +{{ $nonBreakingPublishDate = replace $nonBreakingPublishDate " " " " -}} +{{ $nonBreakingPublishDate = replace $nonBreakingPublishDate "-" "‑" -}} + +{{ $nonBreakingReadingTime := i18n "readingTime" .ReadingTime -}} +{{ $nonBreakingReadingTime = replace $nonBreakingReadingTime " " " " -}} +{{ $nonBreakingReadingTime = replace $nonBreakingReadingTime "-" "‑" -}} + +{{ $nonBreakingTags := slice -}} +{{ range .Param (lower (i18n "tags")) -}} + {{ $nonBreakingTag := replace . " " " " -}} + {{ $nonBreakingTag = replace $nonBreakingTag "-" "‑" -}} + {{ $nonBreakingTags = $nonBreakingTags | append $nonBreakingTag -}} +{{ end -}} + +{{ emojify ":calendar:" }} {{ $nonBreakingPublishDate }} | {{ emojify ":stopwatch:" }} {{ $nonBreakingReadingTime }}{{ if $nonBreakingTags }} | {{ emojify ":label:" }} {{ end }}{{ range $key, $val := $nonBreakingTags }}{{ if $key }}, {{ end }}{{ $val }}{{ end }} \ No newline at end of file diff --git a/layouts/_partials/pageinfo.html b/layouts/_partials/pageinfo.html new file mode 100644 index 0000000..3ca8fe9 --- /dev/null +++ b/layouts/_partials/pageinfo.html @@ -0,0 +1,23 @@ +{{ $dateFormat := .Site.Params.dateFormat | default ":date_long" -}} + +{{/* 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 "-" "‑" -}} + +{{ $breakingTags := .Param (lower (i18n "tags")) -}} +{{ $nonBreakingTags := slice -}} +{{ range $breakingTags -}} + {{/* user-defined tags are escaped pre-insertion so that HTML entities can be inserted */ -}} + {{ $nonBreakingTag := htmlEscape . -}} + {{ $nonBreakingTag = replace $nonBreakingTag " " " " -}} + {{ $nonBreakingTag = replace $nonBreakingTag "-" "‑" -}} + {{ $nonBreakingTags = $nonBreakingTags | append $nonBreakingTag -}} +{{ end -}} + +{{ emojify ":calendar:" }}  | {{ emojify ":stopwatch:" }} {{ if $nonBreakingTags }} | {{ emojify ":label:" }} {{ end }}{{ range $key, $val := $nonBreakingTags }}{{ if $key }} {{ end }}{{ $val | safeHTML }}{{ end }} -- cgit v1.2.3