HugoのRSSテンプレートを作成

Ken published on
2 min, 228 words

Categories: blog

HugoのRSS(/index.xml)が初期設定だとすべての記事を出力していた。
Hugoの初期設定じゃなくて、テーマがRSSのテンプレートを持っていなかったからかもしれない。

./themes/tranquilpeak/layouts/_default/rss.xmlを作成した。
これでRSS(/index.xml)がシンプルになった。

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}</title>
		<link>{{ .Permalink }}</link>
		<description>Recent content {{ with .Title }}in {{.}} {{ end }}on {{ .Site.Title }}</description>
		<generator>Hugo -- gohugo.io</generator>
		{{ with .Site.LanguageCode }}
		<language>{{.}}</language>
		{{end}}{{ 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 }}
		<atom:link href="{{.URL}}" rel="self" type="application/rss+xml" />
		{{ range first 15 .Data.Pages }}
		<item>
			<title>{{ .Title }}</title>
			<link>{{ .Permalink }}</link>
			<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
			{{ with .Site.Author.email }}
			<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>
			{{end}}
			<guid>{{ .Permalink }}</guid>
			<description>{{ .Summary | html }}</description>
		</item>
		{{ end }}
	</channel>
</rss>

参考サイト

[-] [HUGO]RSS feedを部分配信にする | 遊び場
http://www30304u.sakura.ne.jp/blog/?p=3092