diff options
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | exampleSite/config.toml | 2 | ||||
-rw-r--r-- | layouts/_default/rss.xml | 42 | ||||
-rw-r--r-- | layouts/partials/nav.html | 2 |
4 files changed, 45 insertions, 5 deletions
@@ -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] diff --git a/exampleSite/config.toml b/exampleSite/config.toml index b6c67c8..b9fc796 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -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] diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml new file mode 100644 index 0000000..c55e7e4 --- /dev/null +++ b/layouts/_default/rss.xml @@ -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>
\ No newline at end of file diff --git a/layouts/partials/nav.html b/layouts/partials/nav.html index e78affe..5f40267 100644 --- a/layouts/partials/nav.html +++ b/layouts/partials/nav.html @@ -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 }} |