From 2f3d133dda3b833cbde78be5e59adb009277b89a Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 5 Nov 2022 13:21:09 -0700 Subject: [PATCH] Break up the RSS template into item templates, like I did for atom --- layouts/_default/index.rss.rss | 30 ++++++++++++++ layouts/_default/index.rss.xml | 56 -------------------------- layouts/blog/rss_item.rss | 6 +++ layouts/partials/rss_item_metadata.rss | 11 +++++ layouts/photos/rss_item.rss | 8 ++++ 5 files changed, 55 insertions(+), 56 deletions(-) create mode 100644 layouts/_default/index.rss.rss delete mode 100644 layouts/_default/index.rss.xml create mode 100644 layouts/blog/rss_item.rss create mode 100644 layouts/partials/rss_item_metadata.rss create mode 100644 layouts/photos/rss_item.rss diff --git a/layouts/_default/index.rss.rss b/layouts/_default/index.rss.rss new file mode 100644 index 0000000..8700ec3 --- /dev/null +++ b/layouts/_default/index.rss.rss @@ -0,0 +1,30 @@ +{{- $pctx := . -}} +{{- if .IsHome -}} + {{ $pctx = .Site }} +{{- end -}} +{{- $pages := slice -}} +{{- if or $.IsHome $.IsSection -}} + {{- $pages = $pctx.RegularPages -}} +{{- else -}} + {{- $pages = $pctx.Pages -}} +{{- end -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} + {{- $pages = $pages | first $limit -}} +{{- end -}} +{{- printf "" | safeHTML }} + + + {{ .Site.Title }} + {{ .Permalink }} + Recent content on {{ .Site.Title }} + Hugo {{ hugo.Version }} -- gohugo.io + {{ with .Site.LanguageCode }}{{ . }}{{ end }} + {{ with .Site.Author }}{{ .name }} <{{ .email }}>{{ end }} + {{ with .Site.Author.email }}{{ .name }} <{{ .email }}>{{ end }} + {{ with .Site.Copyright }}{{ . }}{{ end }} + {{ if not .Date.IsZero }}{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{ with .OutputFormats.Get "RSS" }}{{ printf "" .Permalink .MediaType | safeHTML }}{{ end }} + {{ range $pages }}{{ .Render "rss_item" }}{{ end }} + + diff --git a/layouts/_default/index.rss.xml b/layouts/_default/index.rss.xml deleted file mode 100644 index 5c3a806..0000000 --- a/layouts/_default/index.rss.xml +++ /dev/null @@ -1,56 +0,0 @@ -{{- $pctx := . -}} -{{- if .IsHome -}} - {{ $pctx = .Site }} -{{- end -}} -{{- $pages := slice -}} -{{- if or $.IsHome $.IsSection -}} - {{- $pages = $pctx.RegularPages -}} -{{- else -}} - {{- $pages = $pctx.Pages -}} -{{- end -}} -{{- $limit := .Site.Config.Services.RSS.Limit -}} -{{- if ge $limit 1 -}} - {{- $pages = $pages | first $limit -}} -{{- end -}} -{{- printf "" | safeHTML }} - - - {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} - {{ .Permalink }} - Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} - Hugo -- gohugo.io{{ with .Site.LanguageCode }} - {{.}}{{end}}{{ with .Site.Author.email }} - {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} - {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} - {{.}}{{end}}{{ if not .Date.IsZero }} - {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} - {{- with .OutputFormats.Get "RSS" -}} - {{ printf "" .Permalink .MediaType | safeHTML }} - {{- end -}} - {{ range $pages }} - {{ if ne .Type "page" }} - - {{ .Title }} - {{ .Permalink }} - {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} - {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} - {{ .Permalink }} - - {{ if eq .Section "photos" }} - {{ $thumbnail := partial "images/photo_thumbnail.html" (dict "Page" . "Width" 1280 "Height" 1280) }} - - {{ end }} - {{ .Content | html }} - - {{ with index (.GetTerms "series") 0 }}{{ .Title }}{{ end }} - {{ range .GetTerms "categories" }} - {{ .Title }} - {{ end }} - {{ range .GetTerms "tags" }} - {{ .Title }} - {{ end }} - - {{ end }} - {{ end }} - - diff --git a/layouts/blog/rss_item.rss b/layouts/blog/rss_item.rss new file mode 100644 index 0000000..52d59e6 --- /dev/null +++ b/layouts/blog/rss_item.rss @@ -0,0 +1,6 @@ + + {{ partial "rss_item_metadata.rss" . }} + {{ ` + diff --git a/layouts/partials/rss_item_metadata.rss b/layouts/partials/rss_item_metadata.rss new file mode 100644 index 0000000..e91378f --- /dev/null +++ b/layouts/partials/rss_item_metadata.rss @@ -0,0 +1,11 @@ +{{ .Title }} +{{ .Permalink }} +{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} +{{ with .Site.Author.email }}{{ . }}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} +{{ .Permalink }} +{{- range slice "series" "categories" "tags" -}} + {{ range $.GetTerms . }} + {{- $domain := (.Site.GetPage (printf "/%s" .Section)).Permalink -}} + {{ .Title }} + {{ end }} +{{- end -}} diff --git a/layouts/photos/rss_item.rss b/layouts/photos/rss_item.rss new file mode 100644 index 0000000..f8fe198 --- /dev/null +++ b/layouts/photos/rss_item.rss @@ -0,0 +1,8 @@ +{{- $thumbnail := partial "images/photo_thumbnail.html" (dict "Page" . "Width" 1280 "Height" 1280) -}} + + {{ partial "rss_item_metadata.rss" . }} + {{ ` + {{ .Content | html }} + ]]> +