Build Options
They are stored in a reserved Front Matter object named _build
with the following defaults:
_build:
render: true
list: true
publishResources: true
render
If true, the page will be treated as a published page, holding its dedicated output files (index.html
, etc…) and permalink.
list
If true, the page will be treated as part of the project’s collections and, when appropriate, returned by Hugo’s listing methods (.Pages
, .RegularPages
etc…).
publishResources
If set to true the Bundle’s Resources will be published.
Setting this to false will still publish Resources on demand (when a resource’s .Permalink
or .RelPermalink
is invoked from the templates) but will skip the others.
Illustrative use cases
Not publishing a page
Project needs a “Who We Are” content file for Front Matter and body to be used by the homepage but nowhere else.
# content/who-we-are.md`
title: Who we are
_build:
list: false
render: false
{{/* layouts/index.html */}}
<section id="who-we-are">
{{ with site.GetPage "who-we-are" }}
{{ .Content }}
{{ end }}
</section>
Listing pages without publishing them
Website needs to showcase a few of the hundred “testimonials” available as content files without publishing any of them.
To avoid setting the build options on every testimonials, one can use cascade
on the testimonial section’s content file.
#content/testimonials/_index.md
title: Testimonials
# section build options:
_build:
render: true
# children build options with cascade
cascade:
_build:
render: false
list: true # default
{{/* layouts/_defaults/testimonials.html */}}
<section id="testimonials">
{{ range first 5 .Pages }}
<blockquote cite="{{ .Params.cite }}">
{{ .Content }}
</blockquote>
{{ end }}
</section>