ビルドオプション
ビルドオプションは、サイトをビルドするときに Hugo が特定のページをどのように処理する必要があるかを定義するのに役立ちます。
これらは、_build
という名前の予約されたフロントマター オブジェクトに格納され、以下のようなデフォルトが設定されています。
render
値が always
の場合、そのページは公開ページとして扱われ、専用の出力ファイル (index.html
など) とパーマリンクが保持されます。
Hugo 0.76.0 で、このプロパティをブール値から列挙型に拡張しました。 有効な値は以下のとおりです。
- never
- ページは、どのページコレクションにも含まれません。
- always (デフォルト)
- ページはディスクにレンダリングされ、
RelPermalink
などを取得します。 - link
- ページはディスクにレンダリングされませんが、
RelPermalink
を取得します。
list
Hugo 0.68.0 で、このプロパティをブール値から列挙型に拡張したことに注意してください。
有効な値は以下のとおりです。
- never
- ページは、どのページコレクションにも含まれません。
- always (デフォルト)
- ページはすべてのページコレクション、たとえば、
site.RegularPages
、$page.Pages
などに含まれます。 - local
- ページは、任意の local ページコレクション、たとえば
$page.RegularPages
や$page.Pages
に含まれます。この使用例の 1 つは、完全にナビゲート可能で、かつ、ヘッドレスのコンテンツ セクションを作成することです。
true の場合、ページはプロジェクトのコレクションの一部として扱われ、必要に応じて Hugo のリストメソッド (.Pages
、.RegularPages
など) で返されるようになります。
publishResources
true に設定すると、バンドル内のリソース
が公開されます。
これを false に設定すると、引き続きリソースがオンデマンドで公開されますが (リソースの .Permalink
または .RelPermalink
がテンプレートから呼び出された場合)、それ以外のリソースはスキップされます。
.GetPage
メソッドを使用して利用することができます。
ユースケースの例
ページを公開しない
プロジェクトでは、フロントマターとボディに “Who We Are” というコンテンツファイルが必要で、ホームページで使用されますが、それ以外の場所では使用されません。
<section id="who-we-are">
{{ with site.GetPage "who-we-are" }}
{{ .Content }}
{{ end }}
</section>
ページを公開せずに一覧表示する
Web サイトは、コンテンツファイルとして利用できる 100 の「お客様の声」のうちのいくつかを公開せずに紹介する必要があります。
すべての「お客様の声」にビルドオプションを設定しないようにするためには、「お客様の声」セクションのコンテンツファイルで cascade
を使用できます。
<section id="testimonials">
{{ range first 5 .Pages }}
<blockquote cite="{{ .Params.cite }}">
{{ .Content }}
</blockquote>
{{ end }}
</section>