mirror of
https://github.com/tiennm99/HugoBlox-kit.git
synced 2026-10-05 20:14:41 +00:00
In Hugo v0.58, Hugo team made a breaking change to fix .Data.Pages to actually show home pages when on homepage. Previously, the function returned all of the site's pages. Hence this PR adds compatibility for RSS feeds in Hugo v0.58.0+. Fix #1355
40 lines
1.8 KiB
XML
40 lines
1.8 KiB
XML
{{- /* Generate RSS v2 with full page content. */ -}}
|
|
{{- /* Upstream Hugo bug - RSS dates can be in future: https://github.com/gohugoio/hugo/issues/3918 */ -}}
|
|
{{- $page_context := cond .IsHome site . -}}
|
|
{{- $pages := $page_context.RegularPages -}}
|
|
{{- $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>{{ if ne .Title site.Title }}{{ with .Title }}{{.}} | {{ end }}{{end}}{{ site.Title }}</title>
|
|
<link>{{ .Permalink }}</link>
|
|
{{- with .OutputFormats.Get "RSS" }}
|
|
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
|
{{ end -}}
|
|
<description>{{ .Title | default site.Title }}</description>
|
|
<generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator>
|
|
{{- with site.LanguageCode }}<language>{{.}}</language>{{end -}}
|
|
{{- with site.Copyright }}<copyright>{{ replace (replace . "{year}" now.Year) "©" "©" | plainify }}</copyright>{{end -}}
|
|
{{- if not .Date.IsZero }}<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end -}}
|
|
{{- if .Scratch.Get "og_image" }}
|
|
<image>
|
|
<url>{{ .Scratch.Get "og_image" }}</url>
|
|
<title>{{ .Title | default site.Title }}</title>
|
|
<link>{{ .Permalink }}</link>
|
|
</image>
|
|
{{end -}}
|
|
{{ range $pages }}
|
|
<item>
|
|
<title>{{ .Title }}</title>
|
|
<link>{{ .Permalink }}</link>
|
|
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
|
<guid>{{ .Permalink }}</guid>
|
|
<description>{{ .Content | html }}</description>
|
|
</item>
|
|
{{ end }}
|
|
</channel>
|
|
</rss>
|