From 93831052e8ba9537d47474e1f8dbf04d9eceb9b0dff214ce422fcafe1ffaecac Mon Sep 17 00:00:00 2001 From: Nicholas Johnson <> Date: Sun, 20 Sep 2026 00:00:00 +0000 Subject: Drop whitespace trimming from HTML and XML templates Whitespace has no effect on the HTML and Atom output, so the trim markers on nearly every action in those templates bought nothing and made them harder to read and to edit: a maintainer had to carry the markers along with the change. The markers are load-bearing in the gemtext templates alone, where output whitespace is the formatting. Remove them from the HTML and Atom templates. The audio partial keeps its markers, since the gemtext single template uses it too. The two markup render hooks keep theirs as well, because their output is spliced inline into prose, where the newlines an untrimmed hook emits render as a space before the punctuation that follows a link. The Atom templates compute their author and entry variables before emitting anything, so untrimmed they put blank lines ahead of the XML declaration and left every feed malformed. Emit the declaration first instead; whitespace is allowed after it but not before it. The example site builds byte-identical gemtext and content-identical feeds, and its HTML differs only by a space after a "p" start tag that the whitespace processing model drops. Co-Authored-By: Claude Opus 5 --- layouts/404.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'layouts/404.html') diff --git a/layouts/404.html b/layouts/404.html index fffedc1..c3b2903 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -1,8 +1,8 @@ -{{ define "main" -}} +{{ define "main" }}

{{ i18n "pageNotFound" }}

-{{- end }} +{{ end }} -- cgit v1.2.3