From 36150b5f88b2e513c6791b62aaf5eb3401d1c8a2 Mon Sep 17 00:00:00 2001 From: Serghei Iakovlev Date: Sun, 22 May 2022 20:01:48 +0200 Subject: Rework feeds to provide support for section --- layouts/_default/list.feed.xml | 65 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 layouts/_default/list.feed.xml (limited to 'layouts/_default/list.feed.xml') diff --git a/layouts/_default/list.feed.xml b/layouts/_default/list.feed.xml new file mode 100644 index 0000000..5a276ec --- /dev/null +++ b/layouts/_default/list.feed.xml @@ -0,0 +1,65 @@ +{{- $pctx := . -}} +{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} + +{{- $pages := slice -}} +{{- if $.IsHome -}} + {{- $pages = where $pctx.RegularPages.ByDate.Reverse "Type" "in" site.Params.mainSections -}} +{{- else if $.IsSection -}} + {{- $pages = $pctx.RegularPages.ByDate.Reverse -}} +{{- else -}} + {{- $pages = $pctx.Pages -}} +{{- end -}} + +{{- $limit := site.Params.feedSize | default 25 -}} +{{- $pages = $pages | first $limit -}} + +{{- safeHTML "" }} + + + {{ printf `<![CDATA[%s RSS 2.0]]>` site.Title | safeHTML }} + + {{ site.BaseURL | absURL }} + {{ $logo := resources.Get (site.Params.assets.logo | default "/img/open-graph-logo.png") }}{{ $logo = $logo.Resize "96x96" }} + + {{ $logo.Permalink | absURL }} + {{ printf `<![CDATA[%s RSS 2.0]]>` site.Title | safeHTML }} + {{ site.BaseURL | absURL }} + {{ $logo.Width }} + {{ $logo.Height }} + + {{- $output_formats := .OutputFormats }} + {{- range $output_formats -}} + {{- $rel := (or (and (eq "feed" (.Name | lower)) "self") "alternate") -}} + {{- with $output_formats.Get .Name }} + {{ printf `` .Permalink $rel .MediaType.Type .Name | safeHTML }} + {{- end -}} + {{- end }} + {{ with site.Params.description }}{{ printf `` . | safeHTML }}{{ end }} + Hugo {{ hugo.Version }} + {{ with site.Author.name }}{{ printf `` . | safeHTML }}{{ end }} + {{ with site.LanguageCode }}{{ . }}{{ end }} + {{ with site.Params.Copyright }} + {{- $copyright := replace . "{year}" now.Year -}} + {{- $copyright = replace $copyright "©" "©" }}{{ $copyright | plainify }}{{ end }} + {{ if not site.LastChange.IsZero }}{{ site.LastChange.UTC.Format site.Params.dateFormatRFC822Z | html }}{{ end }} + {{ $feedsize := site.Params.feedSize | default 25 }} + {{- range $pages }} + + {{ printf `<![CDATA[%s]]>` .Title | safeHTML }} + {{ .Permalink | absURL }}?utm_source=rss_feed + {{ .PublishDate.UTC.Format site.Params.dateFormatRFC822Z | html }} + {{ .Section }} + {{ range (.GetTerms "tags") }}{{ .LinkTitle }}{{end}} + {{ md5 .Permalink }} + {{ printf `` .Summary | safeHTML }} + + {{ end }} + -- cgit v1.2.3