{{- $pageContext := . -}}
{{- if .IsHome -}}
  {{ $pageContext = .Site }}
{{- end -}}

{{- $pages := slice -}}
{{- if or $.IsHome $.IsSection -}}
  {{- $pages = $pageContext.RegularPages -}}
{{- else -}}
  {{- $pages = $pageContext.Pages -}}
{{- end -}}

{{- $limit := .Site.Config.Services.RSS.Limit -}}
{{- if ge $limit 1 -}}
  {{- $pages = $pages | first $limit -}}
{{- end -}}

{{- 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>{{ .Site.Title }}</title>
    <link>{{ .Permalink }}</link>
    <description>Recent content on {{ .Site.Title }}</description>
    <generator>Hugo {{ hugo.Version }}</generator>
    {{ with .Site.LanguageCode }}<language>{{ . }}</language>{{ end }}
    {{ with .Site.Author }}
      <managingEditor>{{ .name }} &lt;{{ .email }}&gt;</managingEditor>
      <webMaster>{{ .name }} &lt;{{ .email }}&gt;</webMaster>
    {{ end }}
    {{ with .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 }}{{ .Render "rss_item" }}{{ end }}
  </channel>
</rss>
