diff options
| author | Nicholas Johnson <> | 2026-09-20 00:00:00 +0000 |
|---|---|---|
| committer | Nicholas Johnson <> | 2026-09-20 00:00:00 +0000 |
| commit | 9f3a9875caaded223901896f5302731d825cc0e77b54b45c2eab670f6e226b40 (patch) | |
| tree | e36a09220dac10cdd7c9f84bf58a3e8c95949d875e656d6c4b7f34acb3e1e997 /layouts/section.gemini_atom.xml | |
| parent | 708309f9c25dd69d85833edf410a7a777fdf056ebdf6042f3539520313960452 (diff) | |
| download | hugo-theme-journal-9f3a9875caaded223901896f5302731d825cc0e77b54b45c2eab670f6e226b40.tar.gz hugo-theme-journal-9f3a9875caaded223901896f5302731d825cc0e77b54b45c2eab670f6e226b40.zip | |
Add Atom feeds for sections
Sections were the one listing kind without a feed of their own, though
the section templates already linked one whenever the output format was
configured. Add the two feed templates, modelled on the taxonomy and
term ones, and turn the format on for sections in the example site.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'layouts/section.gemini_atom.xml')
| -rw-r--r-- | layouts/section.gemini_atom.xml | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/layouts/section.gemini_atom.xml b/layouts/section.gemini_atom.xml new file mode 100644 index 0000000..6425e31 --- /dev/null +++ b/layouts/section.gemini_atom.xml @@ -0,0 +1,52 @@ +{{ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" | safeHTML }} +{{/* The XML declaration is emitted before anything else, including the + variables below, since whitespace may not precede it. */}} +{{ $authorName := "" }} +{{ with site.Params.author }} + {{ if reflect.IsMap . }} + {{ with .name }} + {{ $authorName = . }} + {{ end }} + {{ else }} + {{ $authorName = . }} + {{ end }} +{{ end }} +{{ if not $authorName }} + {{ errorf "Missing author" }} +{{ end }} + +{{ $authorEmail := "" }} +{{ with site.Params.author }} + {{ if reflect.IsMap . }} + {{ with .email }} + {{ $authorEmail = . }} + {{ end }} + {{ end }} +{{ end }} + +{{ $pages := .Pages.ByPublishDate.Reverse }} +{{ $limit := .Site.Config.Services.RSS.Limit }} +{{ if ge $limit 1 }} +{{ $pages = first $limit $pages }} +{{ end }} +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>{{ .Permalink | strings.TrimSuffix "index.gmi" }}</id> + <title>{{ .Site.Title }}</title> + <updated>{{ .PublishDate.Format "2006-01-02T15:04:05-0700" | safeHTML }}</updated> + <link href="{{ .Permalink | replaceRE `index.gmi$` "atom.xml" | safeURL }}" rel="self" /> + <link href="{{ .Permalink | strings.TrimSuffix "index.gmi" | safeURL }}" rel="alternate" /> + <author> + <name>{{ $authorName }}</name> + {{ with $authorEmail }} + <email>{{ . }}</email>{{ end }} + </author> + <generator>Hugo -- gohugo.io</generator> + <rights type="html">{{ replace .Site.Copyright "{currentYear}" (now.Format "2006") }}</rights> + <subtitle>{{ .Site.Params.Description }}</subtitle>{{ range $pages }} + <entry> + <id>{{ .Permalink | strings.TrimSuffix "index.gmi" }}</id> + <title>{{ .Title }}</title> + <updated>{{ .PublishDate.Format "2006-01-02T15:04:05-0700" | safeHTML }}</updated> + <link href="{{ .Permalink | strings.TrimSuffix "index.gmi" | safeURL }}" rel="alternate" /> + </entry>{{ end }} +</feed> |
