RSS テンプレート
Hugo には、ほとんど設定が不要な独自の RSS 2.0 テンプレートが同梱されています。また、独自の RSS テンプレートを作成することもできます。
RSS テンプレートの検索順序
完全なリファレンスについては、テンプレートの検索順序 を参照してください。
RSS ページは Page
というタイプで、テンプレートで使用できるすべての ページ変数
を持っています。
セクション RSS
セクションの
RSS は /<SECTION>/index.xml
にレンダリングされます (たとえば、 https://spf13.com/project/index.xml
)。
Hugo は、必要な RSS タイプを定義する機能を提供し、セクションとタクソノミーごとに異なる RSS ファイルを持つことができます。
RSS テンプレートのための検索順序
以下の表は、異なる種類のページに対する RSS テンプレートの検索順序を示しています。 最初のリストは、テーマ (demoTheme
) で実行した場合の検索順序を表しています。
Example | OutputFormat | Suffix | Template Lookup Order |
---|---|---|---|
RSS ホーム | RSS | xml |
|
RSS セクションの投稿 | RSS | xml |
|
カテゴリーのタクソノミー | RSS | xml |
|
カテゴリーの用語 | RSS | xml |
|
RSS を設定する
デフォルトでは、Hugo は無制限の数の RSS エントリを作成します。 プロジェクトの設定ファイル の rssLimit:
フィールドに数値を割り当てることで、組み込みの RSS テンプレートに含まれる記事の数を制限できます。
また、以下の値が指定されている場合は、RSS 出力に含まれます。
埋め込み型 rss.xml
以下は、Hugo に同梱されているデフォルトの RSS テンプレートです。
https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/_default/rss.xml
<head>
で RSS フィードを参照する
header.html
テンプレートでは、以下のように Hugo の 出力形式
を使用して <head></head>
タグで RSS フィードを指定できます。
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
RSS のリンクだけが必要な場合は、フォーマットをクエリできます。
{{ with .OutputFormats.Get "rss" -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
上記の 2 つのスニペットのどちらかを使用すると、サイトのホームページに以下のような RSS 出力用の link
タグが生成されます。
<link rel="alternate" type="application/rss+xml" href="https://example.com/index.xml" title="Site Title">
上記の例では、BaseURL
を https://example.com/
、$.Site.Title
を "Site Title"
と仮定しています。