mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-14 20:37:55 -05:00
9cabb46f68
d1157b687 Fix typo -- missing word in title 34c9a9ff3 Remove Hartwell Insurance subpage broken link d42f6d8eb Fix strings.Repeat documentation 09b49debb Release 0.76.5 149877735 Merge branch 'tempv0.76.5' 72ffeb026 releaser: Add release notes to /docs for release of 0.76.5 4150d8ae8 Fixed typo: update PrevPage to Prev c3e630db1 Update index.md deb7520a8 Release 0.76.4 f58bd7134 Merge branch 'tempv0.76.4' 2581fe4bc releaser: Add release notes to /docs for release of 0.76.4 26d8417fc Release 0.76.3 34c49e06a Merge branch 'tempv0.76.3' 0de2af2ef releaser: Add release notes to /docs for release of 0.76.3 cce12c0f7 Add missing closing quotes and fix code-block lang (#1250) 8c1c80d9f Update AMP link (#1251) 7b1211ffa Fix typos in multilingual.md 29e9d70fd Update index.md 172a5480b Release 0.76.2 93ff424d3 Merge branch 'temp762' 3cad3c23a releaser: Add release notes to /docs for release of 0.76.2 610221964 Update index.md 8a9d31709 Release 0.76.1 64b245aa4 Merge branch 'temp761' f19469ff8 releaser: Add release notes to /docs for release of 0.76.1 97f0ed030 Update front-matter.md cca71f263 Update index.md 23c64f6a3 Fix typo in 0.76.0 release note 5f79e034d Update index.md b66567de2 netlify: Bump to Hugo 0.76.0 a3e30300d Release 0.76.0 3b057e8fe releaser: Add release notes to /docs for release of 0.76.0 7fa1cd912 docs: Regen docshelper 769712aec Merge commit 'e5568488051a571df48401e03f1304b95dbc9028' 70ce6ae33 pagemeta: Make BuildConfig.Render an enum a78d3849f Allow cascade to be a slice with a _target discriminator 705fea656 Add force flag to server redirects config 04e4e1cc1 tpl: Add Do Not Track (dnt) option to Vimeo shortcode 025c19fe1 Fix CLI example for PostCSS 8 0c70c47b2 markup/asciidocext: Add preserveTOC option git-subtree-dir: docs git-subtree-split: d1157b687e25054501c3bcbb735da51229f66b74
119 lines
3.4 KiB
Markdown
119 lines
3.4 KiB
Markdown
---
|
|
title: Build Options
|
|
linktitle: Build Options
|
|
description: Build options help define how Hugo must treat a given page when building the site.
|
|
date: 2020-03-02
|
|
publishdate: 2020-03-02
|
|
keywords: [build,content,front matter, page resources]
|
|
categories: ["content management"]
|
|
menu:
|
|
docs:
|
|
parent: "content-management"
|
|
weight: 31
|
|
weight: 31 #rem
|
|
draft: false
|
|
aliases: [/content/build-options/]
|
|
toc: true
|
|
---
|
|
|
|
They are stored in a reserved Front Matter object named `_build` with the following defaults:
|
|
|
|
```yaml
|
|
_build:
|
|
render: always
|
|
list: always
|
|
publishResources: true
|
|
```
|
|
|
|
#### render
|
|
If `always`, the page will be treated as a published page, holding its dedicated output files (`index.html`, etc...) and permalink.
|
|
|
|
{{< new-in "0.76.0" >}} We extended this property from a boolean to an enum in Hugo 0.76.0. Valid values are:
|
|
|
|
never
|
|
: The page will not be included in any page collection.
|
|
|
|
always (default)
|
|
: The page will be rendered to disk and get a `RelPermalink` etc.
|
|
|
|
link
|
|
: The page will be not be rendered to disk, but will get a `RelPermalink`.
|
|
|
|
#### list
|
|
|
|
Note that we extended this property from a boolean to an enum in Hugo 0.68.0.
|
|
|
|
Valid values are:
|
|
|
|
never
|
|
: The page will not be included in any page collection.
|
|
|
|
always (default)
|
|
: The page will be included in all page collections, e.g. `site.RegularPages`, `$page.Pages`.
|
|
|
|
local
|
|
: The page will be included in any _local_ page collection, e.g. `$page.RegularPages`, `$page.Pages`. One use case for this would be to create fully navigable, but headless content sections. {{< new-in "0.68.0" >}}
|
|
|
|
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]({{< relref "content-management/page-bundles" >}}) 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.
|
|
|
|
{{% note %}}
|
|
Any page, regardless of their build options, will always be available using the [`.GetPage`]({{< relref "functions/GetPage" >}}) methods.
|
|
{{% /note %}}
|
|
|
|
------
|
|
|
|
### 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.
|
|
|
|
```yaml
|
|
# content/who-we-are.md`
|
|
title: Who we are
|
|
_build:
|
|
list: false
|
|
render: false
|
|
```
|
|
|
|
```go-html-template
|
|
{{/* 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`]({{< relref "/content-management/front-matter#front-matter-cascade" >}}) on the testimonial section's content file.
|
|
|
|
```yaml
|
|
#content/testimonials/_index.md
|
|
title: Testimonials
|
|
# section build options:
|
|
_build:
|
|
render: true
|
|
# children build options with cascade
|
|
cascade:
|
|
_build:
|
|
render: false
|
|
list: true # default
|
|
```
|
|
|
|
```go-html-template
|
|
{{/* layouts/_defaults/testimonials.html */}}
|
|
<section id="testimonials">
|
|
{{ range first 5 .Pages }}
|
|
<blockquote cite="{{ .Params.cite }}">
|
|
{{ .Content }}
|
|
</blockquote>
|
|
{{ end }}
|
|
</section>
|