Finish RSS and Atom implementations

This commit is contained in:
Eryn Wells 2024-10-20 09:12:07 -07:00
parent d971696e11
commit 256eae44e9
9 changed files with 118 additions and 0 deletions

View file

@ -0,0 +1,28 @@
{{- $context := .context -}}
{{- $pages := .pages -}}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ $context.Site.Title }}</title>
<link>{{ $context.Permalink }}</link>
<description>Recent content on {{ $context.Site.Title }}</description>
<generator>Hugo {{ hugo.Version }}</generator>
{{ with $context.Site.LanguageCode }}<language>{{ . }}</language>{{ end }}
{{ with $context.Site.Author }}
<managingEditor>{{ .name }} &lt;{{ .email }}&gt;</managingEditor>
<webMaster>{{ .name }} &lt;{{ .email }}&gt;</webMaster>
{{ end }}
{{ with $context.Site.Copyright -}}
<copyright>{{ . }}</copyright>
{{- end }}
{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
{{ end }}
{{ with .OutputFormats.Get "RSS" }}{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}{{ end }}
{{ range $pages }}
{{ if not .Date.IsZero }}
{{ .Render "rss_item" }}
{{ end }}
{{ end }}
</channel>
</rss>

View file

@ -0,0 +1,11 @@
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{ with .Site.Author.email }}<author>{{ . }}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
<guid>{{ .Permalink }}</guid>
{{- range slice "series" "categories" "tags" -}}
{{ range $.GetTerms . }}
{{- $domain := (.Site.GetPage (printf "/%s" .Section)).Permalink -}}
<category domain="{{ $domain }}">{{ .Title }}</category>
{{ end }}
{{- end -}}