Skip to main content

ビルドオプション

ビルドオプションは、サイトをビルドするときに Hugo が特定のページをどのように処理する必要があるかを定義するのに役立ちます。

On this page

これらは、_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” というコンテンツファイルが必要で、ホームページで使用されますが、それ以外の場所では使用されません。

layouts/index.html
<section id="who-we-are">
{{ with site.GetPage "who-we-are" }}
  {{ .Content }}
{{ end }}
</section>

ページを公開せずに一覧表示する

Web サイトは、コンテンツファイルとして利用できる 100 の「お客様の声」のうちのいくつかを公開せずに紹介する必要があります。

すべての「お客様の声」にビルドオプションを設定しないようにするためには、「お客様の声」セクションのコンテンツファイルで cascade を使用できます。

layouts/_defaults/testimonials.html
<section id="testimonials">
{{ range first 5 .Pages }}
  <blockquote cite="{{ .Params.cite }}">
    {{ .Content }}
  </blockquote>
{{ end }}
</section>