summaryrefslogtreecommitdiffstats
path: root/layouts/_default/list.feed.xml
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/_default/list.feed.xml')
-rw-r--r--layouts/_default/list.feed.xml65
1 files changed, 65 insertions, 0 deletions
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 "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" }}
+<rss version="2.0"
+ xmlns:content="http://purl.org/rss/1.0/modules/content/"
+ xmlns:wfw="http://wellformedweb.org/CommentAPI/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:atom="http://www.w3.org/2005/Atom"
+ xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
+ xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
+ xmlns:media="http://search.yahoo.com/mrss/"
+ xml:lang="{{ site.LanguageCode }}">
+ <channel>
+ {{ printf `<title type="html"><![CDATA[%s RSS 2.0]]></title>` site.Title | safeHTML }}
+ </channel>
+ <link type="text/html">{{ site.BaseURL | absURL }}</link>
+ {{ $logo := resources.Get (site.Params.assets.logo | default "/img/open-graph-logo.png") }}{{ $logo = $logo.Resize "96x96" }}
+ <image>
+ <url>{{ $logo.Permalink | absURL }}</url>
+ {{ printf `<title type="html"><![CDATA[%s RSS 2.0]]></title>` site.Title | safeHTML }}
+ <link>{{ site.BaseURL | absURL }}</link>
+ <width>{{ $logo.Width }}</width>
+ <height>{{ $logo.Height }}</height>
+ </image>
+ {{- $output_formats := .OutputFormats }}
+ {{- range $output_formats -}}
+ {{- $rel := (or (and (eq "feed" (.Name | lower)) "self") "alternate") -}}
+ {{- with $output_formats.Get .Name }}
+ {{ printf `<atom:link href=%q rel=%q type=%q title=%q />` .Permalink $rel .MediaType.Type .Name | safeHTML }}
+ {{- end -}}
+ {{- end }}
+ {{ with site.Params.description }}{{ printf `<description type="html"><![CDATA[%s]]></description>` . | safeHTML }}{{ end }}
+ <generator>Hugo {{ hugo.Version }}</generator>
+ {{ with site.Author.name }}{{ printf `<dc:creator type="html"><![CDATA[%s]]></dc:creator>` . | safeHTML }}{{ end }}
+ {{ with site.LanguageCode }}<language>{{ . }}</language>{{ end }}
+ {{ with site.Params.Copyright }}
+ {{- $copyright := replace . "{year}" now.Year -}}
+ {{- $copyright = replace $copyright "&copy;" "©" }}<copyright>{{ $copyright | plainify }}</copyright>{{ end }}
+ {{ if not site.LastChange.IsZero }}<lastBuildDate>{{ site.LastChange.UTC.Format site.Params.dateFormatRFC822Z | html }}</lastBuildDate>{{ end }}
+ {{ $feedsize := site.Params.feedSize | default 25 }}
+ {{- range $pages }}
+ <item>
+ {{ printf `<title type="html"><![CDATA[%s]]></title>` .Title | safeHTML }}
+ <link>{{ .Permalink | absURL }}?utm_source=rss_feed</link>
+ <pubDate>{{ .PublishDate.UTC.Format site.Params.dateFormatRFC822Z | html }}</pubDate>
+ <category>{{ .Section }}</category>
+ {{ range (.GetTerms "tags") }}<category>{{ .LinkTitle }}</category>{{end}}
+ <guid isPermaLink="false">{{ md5 .Permalink }}</guid>
+ {{ printf `<description type="html"><![CDATA[%s]]></description>` .Summary | safeHTML }}
+ </item>
+ {{ end }}
+</rss>