aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Johnson <nick@nicholasjohnson.ch>2023-02-24 00:00:00 +0000
committerNicholas Johnson <nick@nicholasjohnson.ch>2023-02-24 00:00:00 +0000
commitdd14f02c0ecab82b6643edd1751d2913533e6a82e89a33286774c0f56950e169 (patch)
tree545cad1a9cf7559269b8773be5d7636e9a333bb38964528b46cf95aa98542bb4
parentdc89efa0d1ba80e8a7c61ddd2d0d4243cc82e52fb2c9104311b4ba5e2af81ff6 (diff)
Implement taxonomy Atom feeds
-rw-r--r--layouts/_default/taxonomy.atom.xml22
-rw-r--r--layouts/_default/taxonomy.gemini_atom.xml21
-rw-r--r--layouts/_default/taxonomy.gmi10
-rw-r--r--layouts/_default/taxonomy.html5
4 files changed, 54 insertions, 4 deletions
diff --git a/layouts/_default/taxonomy.atom.xml b/layouts/_default/taxonomy.atom.xml
new file mode 100644
index 0000000..c0c9f6e
--- /dev/null
+++ b/layouts/_default/taxonomy.atom.xml
@@ -0,0 +1,22 @@
+{{ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" | safeHTML }}
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>{{ .Permalink }}</id>
+ <title>{{ .Site.Title }}</title>
+ <updated>{{ .Date.Format "2006-01-02T15:04:05Z" | safeHTML }}</updated>
+ <link href="{{ .Permalink }}atom.xml" rel="self" />
+ <link href="{{ .Permalink }}" rel="alternate" />
+ <author>
+ <name>{{ .Site.Author.name }}</name>
+ <email>{{ .Site.Author.email }}</email>
+ </author>
+ <generator>Hugo -- gohugo.io</generator>
+ <rights type="html">{{ replace .Site.Copyright "{currentYear}" (now.Format "2006") }}</rights>
+ <subtitle>{{ .Site.Params.Description }}</subtitle>{{ range first .Site.Config.Services.RSS.Limit .Data.Pages }}
+ <entry>
+ <id>{{ .Permalink }}</id>
+ <title type="html">{{ .Title }}</title>
+ <updated>{{ .Date.Format "2006-01-02T15:04:05Z" | safeHTML }}</updated>
+ <link href="{{ .Permalink }}" />
+ <content type="html">{{ .Content | html }}</content>
+ </entry>{{ end }}
+</feed>
diff --git a/layouts/_default/taxonomy.gemini_atom.xml b/layouts/_default/taxonomy.gemini_atom.xml
new file mode 100644
index 0000000..85ff034
--- /dev/null
+++ b/layouts/_default/taxonomy.gemini_atom.xml
@@ -0,0 +1,21 @@
+{{ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" | safeHTML }}
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>{{ replace .Permalink "https://" "gemini://" }}</id>
+ <title>{{ .Site.Title }}</title>
+ <updated>{{ .Date.Format "2006-01-02T15:04:05Z" | safeHTML }}</updated>
+ <link href="{{ replace .Permalink "https://" "gemini://" | safeURL }}atom.xml" rel="self" />
+ <link href="{{ replace .Permalink "https://" "gemini://" | safeURL }}" rel="alternate" />
+ <author>
+ <name>{{ .Site.Author.name }}</name>
+ <email>{{ .Site.Author.email }}</email>
+ </author>
+ <generator>Hugo -- gohugo.io</generator>
+ <rights type="html">{{ replace .Site.Copyright "{currentYear}" (now.Format "2006") }}</rights>
+ <subtitle>{{ .Site.Params.Description }}</subtitle>{{ range first .Site.Config.Services.RSS.Limit .Data.Pages }}
+ <entry>
+ <id>{{ replace .Permalink "https://" "gemini://" | safeURL }}</id>
+ <title>{{ .Title }}</title>
+ <updated>{{ .Date.Format "2006-01-02T15:04:05Z" | safeHTML }}</updated>
+ <link href="{{ replace .Permalink "https://" "gemini://" | safeURL }}" rel="alternate" />
+ </entry>{{ end }}
+</feed>
diff --git a/layouts/_default/taxonomy.gmi b/layouts/_default/taxonomy.gmi
index c68f674..04c3f73 100644
--- a/layouts/_default/taxonomy.gmi
+++ b/layouts/_default/taxonomy.gmi
@@ -2,8 +2,12 @@
=> / {{ emojify ":link:" | safeHTML }} Return to homepage
-# All {{ .Type }}
- {{- range .Data.Pages }}
+# {{ .Type | humanize }}
+## Feeds
+=> {{ .RelPermalink | replaceRE `(?m)index.gmi$` "atom.xml" | safeHTML }} {{ emojify ":link:" | safeHTML }} Atom Feed
+
+## List
+{{- range .Data.Pages }}
=> {{ .RelPermalink }} {{ emojify ":link:" | safeHTML }} {{ .Title | safeHTML }}
- {{- end }}
+{{- end }}
{{- end }}
diff --git a/layouts/_default/taxonomy.html b/layouts/_default/taxonomy.html
index 566e6da..a3a22a7 100644
--- a/layouts/_default/taxonomy.html
+++ b/layouts/_default/taxonomy.html
@@ -3,7 +3,10 @@
<p>{{ emojify ":link:" | safeHTML }}&nbsp;<a class="link" href="/" rel="noreferrer">Return to homepage</a></p>
</nav>
<main>
- <h1>All {{ .Type }}</h1>
+ <h1>{{ .Type | humanize }}</h1>
+ <h2>Feeds</h2>
+ <p><a class="link" href="{{ print .RelPermalink "atom.xml" }}" rel="noreferrer"> {{ emojify ":link:" | safeHTML }}&nbsp;Atom Feed</a></p>
+ <h2>List</h2>
<ul class="list">
{{- range .Data.Pages }}
<li class="list__item">{{ emojify ":link:" }}&nbsp;<a class="link" href="{{ .RelPermalink }}" rel="noreferrer">{{ .Title }}</a></li>