Improved RSS template
This commit is contained in:
parent
77893ccf46
commit
bf804a0814
@ -100,6 +100,8 @@ Every once in a while, as I keep using **Bear Cub**, I notice that there is some
|
||||
functionality missing. Currently, these are the "advanced features" that I have
|
||||
already implemented:
|
||||
|
||||
- Full-text RSS feed: an enhanced RSS feed template that includes the (properly
|
||||
encoded) full content of your posts in the feed itself.
|
||||
- Static content: you can create empty blog entries that act as links to static
|
||||
files by including `link: "{url}"` in a post's [front
|
||||
matter](https://gohugo.io/content-management/front-matter/). You can also add
|
||||
@ -165,7 +167,6 @@ enableRobotsTXT = true
|
||||
LanguageCode = "en-US"
|
||||
contentDir = "content"
|
||||
[languages.en.params]
|
||||
blogPath = "blog" # Path to your blog section (used by RSS)
|
||||
madeWith = "Made with [Bear Cub](https://github.com/clente/hugo-bearcub)"
|
||||
[languages.pt]
|
||||
title = "Bear Cub"
|
||||
@ -173,7 +174,6 @@ enableRobotsTXT = true
|
||||
LanguageCode = "pt-BR"
|
||||
contentDir = "content.pt"
|
||||
[languages.pt.params]
|
||||
blogPath = "blog" # Path to your blog section (used by RSS)
|
||||
madeWith = "Feito com [Bear Cub](https://github.com/clente/hugo-bearcub)"
|
||||
|
||||
[params]
|
||||
|
@ -33,7 +33,6 @@ enableRobotsTXT = true
|
||||
LanguageCode = "en-US"
|
||||
contentDir = "content"
|
||||
[languages.en.params]
|
||||
blogPath = "blog" # Path to your blog section (used by RSS)
|
||||
madeWith = "Made with [Bear Cub](https://github.com/clente/hugo-bearcub)"
|
||||
[languages.pt]
|
||||
title = "Bear Cub"
|
||||
@ -41,7 +40,6 @@ enableRobotsTXT = true
|
||||
LanguageCode = "pt-BR"
|
||||
contentDir = "content.pt"
|
||||
[languages.pt.params]
|
||||
blogPath = "blog" # Path to your blog section (used by RSS)
|
||||
madeWith = "Feito com [Bear Cub](https://github.com/clente/hugo-bearcub)"
|
||||
|
||||
[params]
|
||||
|
42
layouts/_default/rss.xml
Normal file
42
layouts/_default/rss.xml
Normal file
@ -0,0 +1,42 @@
|
||||
{{- $pctx := . -}}
|
||||
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
|
||||
{{- $pages := slice -}}
|
||||
{{- if $.IsHome -}}
|
||||
{{- $pages = where $pctx.AllPages "Kind" "page" -}}
|
||||
{{ else if $.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 "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title>{{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<description>Recent content {{ if not .IsHome }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>{{ site.Language.LanguageCode }}</language>{{ with .Site.Author.email }}
|
||||
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
|
||||
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</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 }}
|
||||
<item>
|
||||
<title>{{ .Title }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
{{ with .Params.author }}<author>{{.}}</author>{{ end }}
|
||||
<guid>{{ .Permalink }}</guid>
|
||||
<description>{{ .Summary | plainify }}</description>
|
||||
<content:encoded>{{ `<![CDATA[` | safeHTML }}{{ .Content | safeHTML }}{{ `]]>` | safeHTML }}</content:encoded>
|
||||
</item>
|
||||
{{ end }}
|
||||
</channel>
|
||||
</rss>
|
@ -1,7 +1,7 @@
|
||||
{{ range .Site.Menus.main.ByWeight }}
|
||||
<a href="{{ .URL }}">{{ .Name }}</a>
|
||||
{{ end }}
|
||||
<a href="{{ relLangURL .Site.Params.blogPath }}/index.xml">RSS</a>
|
||||
<a href='{{ absURL "index.xml" }}'>RSS</a>
|
||||
|
||||
<!-- Convert this page's translations into a dict -->
|
||||
{{ $translations := dict }}
|
||||
|
Loading…
x
Reference in New Issue
Block a user