mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
Squashed 'docs/' changes from c43daf45f..a7e1e9be8
a7e1e9be8 Clarify front matter date fields 69df4fc22 Clarify how to determine if .Inner is populated 9046bf424 Document strings.ContainsNonSpace 8dbe5df90 Fix indentation and broken image 48ad4124e Typo: functions/after.md d4c01b57b Link to detailed descriptions of canonfiyURLs and relativeURLs 4d9597302 Explain behaviour when appending to a slice containing other slices 69e24e44e Standardize right arrow usage 01b378726 Remove references to Google's Universal Analytics and the async template d415bae24 Use shared file to describe regex syntax e75dee6b8 snap: How to enable or revoke access to SSH keys feed2d1c0 Remove hasPrefix and hasSuffix in favor of namespaced versions 3c6d2cfe5 security: Use default execution settings 461b5fcaf netlify: Hugo 0.116.1 95fac27a5 configuration: correct cacheDir description cd9f1f929 configuration: Fix broken link 605394de4 netlify: Upgrade to Hugo 0.116.0 baf2a0f7b Merge branch 'tempv0.116.0' ee51a9323 Update requirements for building from source 40189956d Editor tools: Remove duplicate sentence fb0ff2621 docs: Regenerate CLI docs e8a5665c4 Update where.md 7bc5cf15d Update hosting instructions 018a04314 docs: Update where d33ae91cf docs: Update where function operators 9a108a664 docs: Rework the cacheDir documentation git-subtree-dir: docs git-subtree-split: a7e1e9be851b95e636ab5360e5151156b4f89044
This commit is contained in:
parent
87de22d746
commit
7c62d6ef16
56 changed files with 293 additions and 316 deletions
|
@ -1,10 +1,6 @@
|
||||||
|
|
||||||
enableInlineShortcodes = false
|
enableInlineShortcodes = false
|
||||||
|
|
||||||
[exec]
|
|
||||||
allow = ['^go$']
|
|
||||||
osEnv = ['^PATH$']
|
|
||||||
|
|
||||||
[funcs]
|
[funcs]
|
||||||
getenv = ['^HUGO_', '^REPOSITORY_URL$', '^BRANCH$']
|
getenv = ['^HUGO_', '^REPOSITORY_URL$', '^BRANCH$']
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ hugo [flags]
|
||||||
-D, --buildDrafts include content marked as draft
|
-D, --buildDrafts include content marked as draft
|
||||||
-E, --buildExpired include expired content
|
-E, --buildExpired include expired content
|
||||||
-F, --buildFuture include content with publishdate in the future
|
-F, --buildFuture include content with publishdate in the future
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
--cleanDestinationDir remove files from destination not found in static directories
|
--cleanDestinationDir remove files from destination not found in static directories
|
||||||
--clock string set the clock used by Hugo, e.g. --clock 2021-11-06T22:30:00.00+09:00
|
--clock string set the clock used by Hugo, e.g. --clock 2021-11-06T22:30:00.00+09:00
|
||||||
--config string config file (default is hugo.yaml|json|toml)
|
--config string config file (default is hugo.yaml|json|toml)
|
||||||
|
|
|
@ -62,3 +62,4 @@ hugo completion bash
|
||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
|
|
||||||
* [hugo completion](/commands/hugo_completion/) - Generate the autocompletion script for the specified shell
|
* [hugo completion](/commands/hugo_completion/) - Generate the autocompletion script for the specified shell
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ hugo config [command] [flags]
|
||||||
|
|
||||||
```
|
```
|
||||||
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
--format string preferred file format (toml, yaml or json) (default "toml")
|
--format string preferred file format (toml, yaml or json) (default "toml")
|
||||||
-h, --help help for config
|
-h, --help help for config
|
||||||
|
|
|
@ -15,7 +15,7 @@ hugo config mounts [flags] [args]
|
||||||
|
|
||||||
```
|
```
|
||||||
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
-h, --help help for mounts
|
-h, --help help for mounts
|
||||||
-t, --theme strings themes to use (located in /themes/THEMENAME/)
|
-t, --theme strings themes to use (located in /themes/THEMENAME/)
|
||||||
|
|
|
@ -20,7 +20,7 @@ hugo mod clean [flags] [args]
|
||||||
```
|
```
|
||||||
--all clean entire module cache
|
--all clean entire module cache
|
||||||
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
-h, --help help for clean
|
-h, --help help for clean
|
||||||
--pattern string pattern matching module paths to clean (all if not set), e.g. "**hugo*"
|
--pattern string pattern matching module paths to clean (all if not set), e.g. "**hugo*"
|
||||||
|
|
|
@ -21,7 +21,7 @@ hugo mod graph [flags] [args]
|
||||||
|
|
||||||
```
|
```
|
||||||
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
--clean delete module cache for dependencies that fail verification
|
--clean delete module cache for dependencies that fail verification
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
-h, --help help for graph
|
-h, --help help for graph
|
||||||
|
|
|
@ -26,7 +26,7 @@ hugo mod init [flags] [args]
|
||||||
|
|
||||||
```
|
```
|
||||||
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
-h, --help help for init
|
-h, --help help for init
|
||||||
-t, --theme strings themes to use (located in /themes/THEMENAME/)
|
-t, --theme strings themes to use (located in /themes/THEMENAME/)
|
||||||
|
|
|
@ -29,7 +29,7 @@ hugo mod npm pack [flags] [args]
|
||||||
|
|
||||||
```
|
```
|
||||||
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
-h, --help help for pack
|
-h, --help help for pack
|
||||||
-t, --theme strings themes to use (located in /themes/THEMENAME/)
|
-t, --theme strings themes to use (located in /themes/THEMENAME/)
|
||||||
|
|
|
@ -15,7 +15,7 @@ hugo mod tidy [flags] [args]
|
||||||
|
|
||||||
```
|
```
|
||||||
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
-h, --help help for tidy
|
-h, --help help for tidy
|
||||||
-t, --theme strings themes to use (located in /themes/THEMENAME/)
|
-t, --theme strings themes to use (located in /themes/THEMENAME/)
|
||||||
|
|
|
@ -21,7 +21,7 @@ hugo mod vendor [flags] [args]
|
||||||
|
|
||||||
```
|
```
|
||||||
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
-h, --help help for vendor
|
-h, --help help for vendor
|
||||||
-t, --theme strings themes to use (located in /themes/THEMENAME/)
|
-t, --theme strings themes to use (located in /themes/THEMENAME/)
|
||||||
|
|
|
@ -19,7 +19,7 @@ hugo mod verify [flags] [args]
|
||||||
|
|
||||||
```
|
```
|
||||||
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
--clean delete module cache for dependencies that fail verification
|
--clean delete module cache for dependencies that fail verification
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
-h, --help help for verify
|
-h, --help help for verify
|
||||||
|
|
|
@ -26,7 +26,7 @@ hugo new content [path] [flags]
|
||||||
|
|
||||||
```
|
```
|
||||||
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
--editor string edit new content with this editor, if provided
|
--editor string edit new content with this editor, if provided
|
||||||
-f, --force overwrite file if it already exists
|
-f, --force overwrite file if it already exists
|
||||||
|
|
|
@ -33,7 +33,7 @@ hugo server [command] [flags]
|
||||||
-D, --buildDrafts include content marked as draft
|
-D, --buildDrafts include content marked as draft
|
||||||
-E, --buildExpired include expired content
|
-E, --buildExpired include expired content
|
||||||
-F, --buildFuture include content with publishdate in the future
|
-F, --buildFuture include content with publishdate in the future
|
||||||
--cacheDir string filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache_$USER/
|
--cacheDir string filesystem path to cache directory
|
||||||
--cleanDestinationDir remove files from destination not found in static directories
|
--cleanDestinationDir remove files from destination not found in static directories
|
||||||
-c, --contentDir string filesystem path to content directory
|
-c, --contentDir string filesystem path to content directory
|
||||||
--disableBrowserError do not show build errors in the browser
|
--disableBrowserError do not show build errors in the browser
|
||||||
|
|
|
@ -506,7 +506,7 @@ See [lang.FormatNumber] and [lang.FormatNumberCustom] for details.
|
||||||
With this template code:
|
With this template code:
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ 512.5032 | lang.FormatPercent 2 }} ---> 512.50%
|
{{ 512.5032 | lang.FormatPercent 2 }} → 512.50%
|
||||||
```
|
```
|
||||||
|
|
||||||
The rendered page displays:
|
The rendered page displays:
|
||||||
|
|
|
@ -50,7 +50,7 @@ The following is an example of a very basic [single page template]:
|
||||||
|
|
||||||
{{< code file="layout/_default/single.html" >}}
|
{{< code file="layout/_default/single.html" >}}
|
||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<main>
|
<main>
|
||||||
<article>
|
<article>
|
||||||
<header>
|
<header>
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
|
@ -60,7 +60,7 @@ The following is an example of a very basic [single page template]:
|
||||||
<aside>
|
<aside>
|
||||||
{{ .TableOfContents }}
|
{{ .TableOfContents }}
|
||||||
</aside>
|
</aside>
|
||||||
</main>
|
</main>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{< /code >}}
|
{{< /code >}}
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,11 @@ relatedfuncs: [now]
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ $d := "2022-01-01" | time.AsTime }}
|
{{ $d := "2022-01-01" | time.AsTime }}
|
||||||
|
|
||||||
{{ $d.AddDate 0 0 1 | time.Format "2006-01-02" }} --> 2022-01-02
|
{{ $d.AddDate 0 0 1 | time.Format "2006-01-02" }} → 2022-01-02
|
||||||
{{ $d.AddDate 0 1 1 | time.Format "2006-01-02" }} --> 2022-02-02
|
{{ $d.AddDate 0 1 1 | time.Format "2006-01-02" }} → 2022-02-02
|
||||||
{{ $d.AddDate 1 1 1 | time.Format "2006-01-02" }} --> 2023-02-02
|
{{ $d.AddDate 1 1 1 | time.Format "2006-01-02" }} → 2023-02-02
|
||||||
|
|
||||||
{{ $d.AddDate -1 -1 -1 | time.Format "2006-01-02" }} --> 2020-11-30
|
{{ $d.AddDate -1 -1 -1 | time.Format "2006-01-02" }} → 2020-11-30
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% note %}}
|
{{% note %}}
|
||||||
|
@ -28,11 +28,11 @@ See [this explanation](https://github.com/golang/go/issues/31145#issuecomment-47
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ $d := "2023-01-31" | time.AsTime }}
|
{{ $d := "2023-01-31" | time.AsTime }}
|
||||||
{{ $d.AddDate 0 1 0 | time.Format "2006-01-02" }} --> 2023-03-03
|
{{ $d.AddDate 0 1 0 | time.Format "2006-01-02" }} → 2023-03-03
|
||||||
|
|
||||||
{{ $d := "2024-01-31" | time.AsTime }}
|
{{ $d := "2024-01-31" | time.AsTime }}
|
||||||
{{ $d.AddDate 0 1 0 | time.Format "2006-01-02" }} --> 2024-03-02
|
{{ $d.AddDate 0 1 0 | time.Format "2006-01-02" }} → 2024-03-02
|
||||||
|
|
||||||
{{ $d := "2024-02-29" | time.AsTime }}
|
{{ $d := "2024-02-29" | time.AsTime }}
|
||||||
{{ $d.AddDate 1 0 0 | time.Format "2006-01-02" }} --> 2025-03-01
|
{{ $d.AddDate 1 0 0 | time.Format "2006-01-02" }} → 2025-03-01
|
||||||
```
|
```
|
||||||
|
|
|
@ -33,7 +33,7 @@ You can use `after` in combination with the [`first` function] and Hugo's [power
|
||||||
<h2>Featured Article</h2>
|
<h2>Featured Article</h2>
|
||||||
{{ range first 1 .Pages.ByPublishDate.Reverse }}
|
{{ range first 1 .Pages.ByPublishDate.Reverse }}
|
||||||
<header>
|
<header>
|
||||||
<h3><a href="{{ . Permalink }}">{{ .Title }}</a></h3>
|
<h3><a href="{{ .Permalink }}">{{ .Title }}</a></h3>
|
||||||
</header>
|
</header>
|
||||||
<p>{{ .Description }}</p>
|
<p>{{ .Description }}</p>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
@ -15,10 +15,10 @@ If [Goldmark](/getting-started/configuration-markup#goldmark) is set as `default
|
||||||
Since the `defaultMarkdownHandler` and this template function use the same sanitizing logic, you can use the latter to determine the ID of a header for linking with anchor tags.
|
Since the `defaultMarkdownHandler` and this template function use the same sanitizing logic, you can use the latter to determine the ID of a header for linking with anchor tags.
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ anchorize "This is a header" }} --> "this-is-a-header"
|
{{ anchorize "This is a header" }} → "this-is-a-header"
|
||||||
{{ anchorize "This is also a header" }} --> "this-is-also----a-header"
|
{{ anchorize "This is also a header" }} → "this-is-also----a-header"
|
||||||
{{ anchorize "main.go" }} --> "maingo"
|
{{ anchorize "main.go" }} → "maingo"
|
||||||
{{ anchorize "Article 123" }} --> "article-123"
|
{{ anchorize "Article 123" }} → "article-123"
|
||||||
{{ anchorize "<- Let's try this, shall we?" }} --> "--lets-try-this-shall-we"
|
{{ anchorize "<- Let's try this, shall we?" }} → "--lets-try-this-shall-we"
|
||||||
{{ anchorize "Hello, 世界" }} --> "hello-世界"
|
{{ anchorize "Hello, 世界" }} → "hello-世界"
|
||||||
```
|
```
|
||||||
|
|
|
@ -26,4 +26,12 @@ The same example appending a slice to a slice:
|
||||||
{{ $s = $s | append (slice "d" "e") }}
|
{{ $s = $s | append (slice "d" "e") }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If a slice contains other slices, further slices will be appended as values:
|
||||||
|
|
||||||
|
```go-html-template
|
||||||
|
{{ $s := slice (slice "a" "b") (slice "c" "d") }}
|
||||||
|
{{ $s = $s | append (slice "e" "f") (slice "g" "h") }}
|
||||||
|
{{/* $s now contains a [][]string containing four slices: ["a" "b"], ["c" "d"], ["e" "f"], and ["g" "h"] */}}
|
||||||
|
```
|
||||||
|
|
||||||
The `append` function works for all types, including `Pages`.
|
The `append` function works for all types, including `Pages`.
|
||||||
|
|
3
content/en/functions/common/index.md
Normal file
3
content/en/functions/common/index.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
+++
|
||||||
|
headless = true
|
||||||
|
+++
|
8
content/en/functions/common/regular-expressions.md
Normal file
8
content/en/functions/common/regular-expressions.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
When specifying the regular expression, use a raw [string literal] (backticks) instead of an interpreted string literal (double quotes) to simplify the syntax. With an interpreted string literal you must escape backslashes.
|
||||||
|
|
||||||
|
Go's regular expression package implements the [RE2 syntax]. The RE2 syntax is a subset of that accepted by [PCRE], roughly speaking, and with various [caveats]. Note that the RE2 `\C` escape sequence is not supported.
|
||||||
|
|
||||||
|
[caveats]: https://swtch.com/~rsc/regexp/regexp3.html#caveats
|
||||||
|
[PCRE]: https://www.pcre.org/
|
||||||
|
[RE2 syntax]: https://github.com/google/re2/wiki/Syntax/
|
||||||
|
[string literal]: https://go.dev/ref/spec#String_literals
|
|
@ -24,11 +24,11 @@ content/
|
||||||
The function returns these values:
|
The function returns these values:
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ os.FileExists "content" }} --> true
|
{{ os.FileExists "content" }} → true
|
||||||
{{ os.FileExists "content/news" }} --> true
|
{{ os.FileExists "content/news" }} → true
|
||||||
{{ os.FileExists "content/news/article-1" }} --> false
|
{{ os.FileExists "content/news/article-1" }} → false
|
||||||
{{ os.FileExists "content/news/article-1.md" }} --> true
|
{{ os.FileExists "content/news/article-1.md" }} → true
|
||||||
{{ os.FileExists "news" }} --> true
|
{{ os.FileExists "news" }} → true
|
||||||
{{ os.FileExists "news/article-1" }} --> false
|
{{ os.FileExists "news/article-1" }} → false
|
||||||
{{ os.FileExists "news/article-1.md" }} --> true
|
{{ os.FileExists "news/article-1.md" }} → true
|
||||||
```
|
```
|
||||||
|
|
|
@ -13,21 +13,7 @@ relatedfuncs: [findRESubmatch, replaceRE]
|
||||||
---
|
---
|
||||||
By default, `findRE` finds all matches. You can limit the number of matches with an optional LIMIT parameter.
|
By default, `findRE` finds all matches. You can limit the number of matches with an optional LIMIT parameter.
|
||||||
|
|
||||||
When specifying the regular expression, use a raw [string literal] (backticks) instead of an interpreted string literal (double quotes) to simplify the syntax. With an interpreted string literal you must escape backslashes.
|
{{% readfile file="/functions/common/regular-expressions.md" %}}
|
||||||
|
|
||||||
[string literal]: https://go.dev/ref/spec#String_literals
|
|
||||||
|
|
||||||
This function uses the [RE2] regular expression library. See the [RE2 syntax documentation] for details. Note that the RE2 `\C` escape sequence is not supported.
|
|
||||||
|
|
||||||
[RE2]: https://github.com/google/re2/
|
|
||||||
[RE2 syntax documentation]: https://github.com/google/re2/wiki/Syntax/
|
|
||||||
|
|
||||||
{{% note %}}
|
|
||||||
The RE2 syntax is a subset of that accepted by [PCRE], roughly speaking, and with various [caveats].
|
|
||||||
|
|
||||||
[caveats]: https://swtch.com/~rsc/regexp/regexp3.html#caveats
|
|
||||||
[PCRE]: https://www.pcre.org/
|
|
||||||
{{% /note %}}
|
|
||||||
|
|
||||||
This example returns a slice of all second level headings (`h2` elements) within the rendered `.Content`:
|
This example returns a slice of all second level headings (`h2` elements) within the rendered `.Content`:
|
||||||
|
|
||||||
|
|
|
@ -14,21 +14,7 @@ relatedfuncs: [findRE, replaceRE]
|
||||||
|
|
||||||
By default, `findRESubmatch` finds all matches. You can limit the number of matches with an optional LIMIT parameter. A return value of nil indicates no match.
|
By default, `findRESubmatch` finds all matches. You can limit the number of matches with an optional LIMIT parameter. A return value of nil indicates no match.
|
||||||
|
|
||||||
When specifying the regular expression, use a raw [string literal] (backticks) instead of an interpreted string literal (double quotes) to simplify the syntax. With an interpreted string literal you must escape backslashes.
|
{{% readfile file="/functions/common/regular-expressions.md" %}}
|
||||||
|
|
||||||
[string literal]: https://go.dev/ref/spec#String_literals
|
|
||||||
|
|
||||||
This function uses the [RE2] regular expression library. See the [RE2 syntax documentation] for details. Note that the RE2 `\C` escape sequence is not supported.
|
|
||||||
|
|
||||||
[RE2]: https://github.com/google/re2/
|
|
||||||
[RE2 syntax documentation]: https://github.com/google/re2/wiki/Syntax/
|
|
||||||
|
|
||||||
{{% note %}}
|
|
||||||
The RE2 syntax is a subset of that accepted by [PCRE], roughly speaking, and with various [caveats].
|
|
||||||
|
|
||||||
[caveats]: https://swtch.com/~rsc/regexp/regexp3.html#caveats
|
|
||||||
[PCRE]: https://www.pcre.org/
|
|
||||||
{{% /note %}}
|
|
||||||
|
|
||||||
## Demonstrative examples
|
## Demonstrative examples
|
||||||
|
|
||||||
|
|
|
@ -12,8 +12,8 @@ relatedfuncs: []
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ os.Getenv "HOME" }} --> /home/victor
|
{{ os.Getenv "HOME" }} → /home/victor
|
||||||
{{ os.Getenv "USER" }} --> victor
|
{{ os.Getenv "USER" }} → victor
|
||||||
```
|
```
|
||||||
|
|
||||||
You can pass values when building your site:
|
You can pass values when building your site:
|
||||||
|
@ -31,8 +31,8 @@ hugo
|
||||||
And then retrieve the values within a template:
|
And then retrieve the values within a template:
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ os.Getenv "MY_VAR1" }} --> foo
|
{{ os.Getenv "MY_VAR1" }} → foo
|
||||||
{{ os.Getenv "MY_VAR2" }} --> bar
|
{{ os.Getenv "MY_VAR2" }} → bar
|
||||||
```
|
```
|
||||||
|
|
||||||
With Hugo v0.91.0 and later, you must explicitly allow access to environment variables. For details, review [Hugo's Security Policy](/about/security-model/#security-policy). By default, environment variables beginning with `HUGO_` are allowed when using the `os.Getenv` function.
|
With Hugo v0.91.0 and later, you must explicitly allow access to environment variables. For details, review [Hugo's Security Policy](/about/security-model/#security-policy). By default, environment variables beginning with `HUGO_` are allowed when using the `os.Getenv` function.
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
---
|
|
||||||
title: hasprefix
|
|
||||||
description: Tests whether a string begins with prefix.
|
|
||||||
date: 2017-02-01
|
|
||||||
publishdate: 2017-02-01
|
|
||||||
lastmod: 2017-02-01
|
|
||||||
categories: [functions]
|
|
||||||
menu:
|
|
||||||
docs:
|
|
||||||
parent: "functions"
|
|
||||||
keywords: [strings]
|
|
||||||
signature: ["hasPrefix STRING PREFIX"]
|
|
||||||
workson: []
|
|
||||||
hugoversion:
|
|
||||||
relatedfuncs: [hasSuffix]
|
|
||||||
deprecated: false
|
|
||||||
aliases: []
|
|
||||||
---
|
|
||||||
|
|
||||||
* `{{ hasPrefix "Hugo" "Hu" }}` → true
|
|
|
@ -1,21 +0,0 @@
|
||||||
---
|
|
||||||
title: hassuffix
|
|
||||||
linkTitle: hasSuffix
|
|
||||||
description: Tests whether a string ends with suffix.
|
|
||||||
date: 2023-03-01
|
|
||||||
publishdate: 2023-03-01
|
|
||||||
lastmod: 2023-03-01
|
|
||||||
categories: [functions]
|
|
||||||
menu:
|
|
||||||
docs:
|
|
||||||
parent: "functions"
|
|
||||||
keywords: [strings]
|
|
||||||
signature: ["hasSuffix STRING SUFFIX"]
|
|
||||||
workson: []
|
|
||||||
hugoversion:
|
|
||||||
relatedfuncs: [hasPrefix]
|
|
||||||
deprecated: false
|
|
||||||
aliases: []
|
|
||||||
---
|
|
||||||
|
|
||||||
* `{{ hasSuffix "Hugo" "go" }}` → true
|
|
|
@ -27,9 +27,9 @@ Example 1
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ $merged := merge $m1 $m2 $m3 }}
|
{{ $merged := merge $m1 $m2 $m3 }}
|
||||||
|
|
||||||
{{ $merged.x }} --> baz
|
{{ $merged.x }} → baz
|
||||||
{{ $merged.y }} --> wobble
|
{{ $merged.y }} → wobble
|
||||||
{{ $merged.z.a }} --> huey
|
{{ $merged.z.a }} → huey
|
||||||
```
|
```
|
||||||
|
|
||||||
Example 2
|
Example 2
|
||||||
|
@ -37,9 +37,9 @@ Example 2
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ $merged := merge $m3 $m2 $m1 }}
|
{{ $merged := merge $m3 $m2 $m1 }}
|
||||||
|
|
||||||
{{ $merged.x }} --> foo
|
{{ $merged.x }} → foo
|
||||||
{{ $merged.y }} --> wibble
|
{{ $merged.y }} → wibble
|
||||||
{{ $merged.z.a }} --> huey
|
{{ $merged.z.a }} → huey
|
||||||
```
|
```
|
||||||
|
|
||||||
Example 3
|
Example 3
|
||||||
|
@ -47,9 +47,9 @@ Example 3
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ $merged := merge $m2 $m3 $m1 }}
|
{{ $merged := merge $m2 $m3 $m1 }}
|
||||||
|
|
||||||
{{ $merged.x }} --> foo
|
{{ $merged.x }} → foo
|
||||||
{{ $merged.y }} --> wobble
|
{{ $merged.y }} → wobble
|
||||||
{{ $merged.z.a }} --> huey
|
{{ $merged.z.a }} → huey
|
||||||
```
|
```
|
||||||
|
|
||||||
Example 4
|
Example 4
|
||||||
|
@ -57,9 +57,9 @@ Example 4
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ $merged := merge $m1 $m3 $m2 }}
|
{{ $merged := merge $m1 $m3 $m2 }}
|
||||||
|
|
||||||
{{ $merged.x }} --> bar
|
{{ $merged.x }} → bar
|
||||||
{{ $merged.y }} --> wibble
|
{{ $merged.y }} → wibble
|
||||||
{{ $merged.z.a }} --> huey
|
{{ $merged.z.a }} → huey
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% note %}}
|
{{% note %}}
|
||||||
|
|
|
@ -13,13 +13,13 @@ The `os.Stat` function attempts to resolve the path relative to the root of your
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ $f := os.Stat "README.md" }}
|
{{ $f := os.Stat "README.md" }}
|
||||||
{{ $f.IsDir }} --> false (bool)
|
{{ $f.IsDir }} → false (bool)
|
||||||
{{ $f.ModTime }} --> 2021-11-25 10:06:49.315429236 -0800 PST (time.Time)
|
{{ $f.ModTime }} → 2021-11-25 10:06:49.315429236 -0800 PST (time.Time)
|
||||||
{{ $f.Name }} --> README.md (string)
|
{{ $f.Name }} → README.md (string)
|
||||||
{{ $f.Size }} --> 241 (int64)
|
{{ $f.Size }} → 241 (int64)
|
||||||
|
|
||||||
{{ $d := os.Stat "content" }}
|
{{ $d := os.Stat "content" }}
|
||||||
{{ $d.IsDir }} --> true (bool)
|
{{ $d.IsDir }} → true (bool)
|
||||||
```
|
```
|
||||||
|
|
||||||
Details of the `FileInfo` structure are available in the [Go documentation](https://pkg.go.dev/io/fs#FileInfo).
|
Details of the `FileInfo` structure are available in the [Go documentation](https://pkg.go.dev/io/fs#FileInfo).
|
||||||
|
|
|
@ -26,7 +26,7 @@ This template code:
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ range os.ReadDir "content" }}
|
{{ range os.ReadDir "content" }}
|
||||||
{{ .Name }} --> {{ .IsDir }}
|
{{ .Name }} → {{ .IsDir }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -13,21 +13,7 @@ relatedfuncs: [findRE, FindRESubmatch, replace]
|
||||||
---
|
---
|
||||||
By default, `replaceRE` replaces all matches. You can limit the number of matches with an optional LIMIT parameter.
|
By default, `replaceRE` replaces all matches. You can limit the number of matches with an optional LIMIT parameter.
|
||||||
|
|
||||||
When specifying the regular expression, use a raw [string literal] (backticks) instead of an interpreted string literal (double quotes) to simplify the syntax. With an interpreted string literal you must escape backslashes.
|
{{% readfile file="/functions/common/regular-expressions.md" %}}
|
||||||
|
|
||||||
[string literal]: https://go.dev/ref/spec#String_literals
|
|
||||||
|
|
||||||
This function uses the [RE2] regular expression library. See the [RE2 syntax documentation] for details. Note that the RE2 `\C` escape sequence is not supported.
|
|
||||||
|
|
||||||
[RE2]: https://github.com/google/re2/
|
|
||||||
[RE2 syntax documentation]: https://github.com/google/re2/wiki/Syntax/
|
|
||||||
|
|
||||||
{{% note %}}
|
|
||||||
The RE2 syntax is a subset of that accepted by [PCRE], roughly speaking, and with various [caveats].
|
|
||||||
|
|
||||||
[caveats]: https://swtch.com/~rsc/regexp/regexp3.html#caveats
|
|
||||||
[PCRE]: https://www.pcre.org/
|
|
||||||
{{% /note %}}
|
|
||||||
|
|
||||||
This example replaces two or more consecutive hyphens with a single hyphen:
|
This example replaces two or more consecutive hyphens with a single hyphen:
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ Get the value of a given key.
|
||||||
|
|
||||||
Add a given value to existing value(s) of the given key.
|
Add a given value to existing value(s) of the given key.
|
||||||
|
|
||||||
For single values, `Add` accepts values that support Go's `+` operator. If the first `Add` for a key is an array or slice, the following adds will be appended to that list.
|
For single values, `Add` accepts values that support Go's `+` operator. If the first `Add` for a key is an array or slice, the following adds will be [appended](/functions/append/) to that list.
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ $scratch.Add "greetings" "Hello" }}
|
{{ $scratch.Add "greetings" "Hello" }}
|
||||||
|
|
27
content/en/functions/strings.ContainsNonSpace.md
Normal file
27
content/en/functions/strings.ContainsNonSpace.md
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
title: strings.ContainsNonSpace
|
||||||
|
description: Reports whether a string contains any non-space characters as defined by Unicode’s White Space property.
|
||||||
|
categories: [functions]
|
||||||
|
menu:
|
||||||
|
docs:
|
||||||
|
parent: functions
|
||||||
|
keywords: [whitespace space]
|
||||||
|
signature: ["strings.ContainsNonSpace STRING"]
|
||||||
|
relatedfuncs: ["strings.Contains","strings.ContainsAny"]
|
||||||
|
---
|
||||||
|
|
||||||
|
```go-html-template
|
||||||
|
{{ strings.ContainsNonSpace "\n" }} → false
|
||||||
|
{{ strings.ContainsNonSpace " " }} → false
|
||||||
|
{{ strings.ContainsNonSpace "\n abc" }} → true
|
||||||
|
```
|
||||||
|
|
||||||
|
Common white space characters include:
|
||||||
|
|
||||||
|
```text
|
||||||
|
'\t', '\n', '\v', '\f', '\r', ' '
|
||||||
|
```
|
||||||
|
|
||||||
|
See the [Unicode Character Database] for a complete list.
|
||||||
|
|
||||||
|
[Unicode Character Database]: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt
|
|
@ -63,10 +63,10 @@ The following example lists the items of an RSS feed:
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ with resources.GetRemote "https://example.com/rss.xml" | transform.Unmarshal }}
|
{{ with resources.GetRemote "https://example.com/rss.xml" | transform.Unmarshal }}
|
||||||
{{ range .channel.item }}
|
{{ range .channel.item }}
|
||||||
<strong>{{ .title | plainify | htmlUnescape }}</strong><br />
|
<strong>{{ .title | plainify | htmlUnescape }}</strong><br>
|
||||||
<p>{{ .description | plainify | htmlUnescape }}</p>
|
<p>{{ .description | plainify | htmlUnescape }}</p>
|
||||||
{{ $link := .link | plainify | htmlUnescape }}
|
{{ $link := .link | plainify | htmlUnescape }}
|
||||||
<a href="{{ $link }}">{{ $link }}</a><br />
|
<a href="{{ $link }}">{{ $link }}</a><br>
|
||||||
<hr>
|
<hr>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
@ -11,5 +11,5 @@ signature: [uniq SET]
|
||||||
|
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ slice 1 3 2 1 | uniq }} --> [1 3 2]
|
{{ slice 1 3 2 1 | uniq }} → [1 3 2]
|
||||||
```
|
```
|
||||||
|
|
|
@ -73,6 +73,9 @@ The following logical operators are available with `where`:
|
||||||
`intersect`
|
`intersect`
|
||||||
: `true` if a given field value that is a slice/array of strings or integers contains elements in common with the matching value; it follows the same rules as the [`intersect` function][intersect].
|
: `true` if a given field value that is a slice/array of strings or integers contains elements in common with the matching value; it follows the same rules as the [`intersect` function][intersect].
|
||||||
|
|
||||||
|
`like`
|
||||||
|
: `true` if a given field value matches a regular expression. Use the `like` operator to compare `string` values. Returns `false` when comparing other data types to the regular expression.
|
||||||
|
|
||||||
## Use `where` with boolean values
|
## Use `where` with boolean values
|
||||||
When using booleans you should not put quotation marks.
|
When using booleans you should not put quotation marks.
|
||||||
```go-html-template
|
```go-html-template
|
||||||
|
@ -81,7 +84,6 @@ When using booleans you should not put quotation marks.
|
||||||
{{ end }}
|
{{ end }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Use `where` with `intersect`
|
## Use `where` with `intersect`
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
|
@ -102,6 +104,18 @@ You can also put the returned value of the `where` clauses into a variable:
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{< /code >}}
|
{{< /code >}}
|
||||||
|
|
||||||
|
## Use `where` with `like`
|
||||||
|
|
||||||
|
This example matches pages where the "foo" parameter begins with "ab":
|
||||||
|
|
||||||
|
```go-html-template
|
||||||
|
{{ range where site.RegularPages "Params.foo" "like" `^ab` }}
|
||||||
|
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
|
||||||
|
{{ end }}
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% readfile file="/functions/common/regular-expressions.md" %}}
|
||||||
|
|
||||||
## Use `where` with `first`
|
## Use `where` with `first`
|
||||||
|
|
||||||
Using `first` and `where` together can be very
|
Using `first` and `where` together can be very
|
||||||
|
|
|
@ -168,7 +168,7 @@ Pass down default configuration values (front matter) to pages in the content tr
|
||||||
|
|
||||||
**Default value:** false
|
**Default value:** false
|
||||||
|
|
||||||
Enable to turn relative URLs into absolute.
|
Enable to turn relative URLs into absolute. See [details](/content-management/urls/#canonical-urls).
|
||||||
|
|
||||||
### cleanDestinationDir
|
### cleanDestinationDir
|
||||||
|
|
||||||
|
@ -381,7 +381,7 @@ See [Related Content](/content-management/related/#configure-related-content).
|
||||||
|
|
||||||
**Default value:** false
|
**Default value:** false
|
||||||
|
|
||||||
Enable this to make all relative URLs relative to content root. Note that this does not affect absolute URLs.
|
Enable this to make all relative URLs relative to content root. Note that this does not affect absolute URLs. See [details](/content-management/urls/#relative-urls).
|
||||||
|
|
||||||
### refLinksErrorLevel
|
### refLinksErrorLevel
|
||||||
|
|
||||||
|
@ -517,7 +517,7 @@ The `build` configuration section contains global build-related configuration op
|
||||||
buildStats {{< new-in "0.115.1" >}}
|
buildStats {{< new-in "0.115.1" >}}
|
||||||
: When enabled, creates a `hugo_stats.json` file in the root of your project. This file contains arrays of the `class` attributes, `id` attributes, and tags of every HTML element within your published site. Use this file as data source when [removing unused CSS] from your site. This process is also known as pruning, purging, or tree shaking.
|
: When enabled, creates a `hugo_stats.json` file in the root of your project. This file contains arrays of the `class` attributes, `id` attributes, and tags of every HTML element within your published site. Use this file as data source when [removing unused CSS] from your site. This process is also known as pruning, purging, or tree shaking.
|
||||||
|
|
||||||
[removing unused CSS]: http://localhost:1313/hugo-pipes/postprocess/#css-purging-with-postcss
|
[removing unused CSS]: /hugo-pipes/postprocess/#css-purging-with-postcss
|
||||||
|
|
||||||
Exclude `class` attributes, `id` attributes, or tags from `hugo_stats.json` with the `disableClasses`, `disableIDs`, and `disableTags` keys.
|
Exclude `class` attributes, `id` attributes, or tags from `hugo_stats.json` with the `disableClasses`, `disableIDs`, and `disableTags` keys.
|
||||||
|
|
||||||
|
@ -824,7 +824,7 @@ You can override any of these cache settings in your own `hugo.toml`.
|
||||||
### The keywords explained
|
### The keywords explained
|
||||||
|
|
||||||
`:cacheDir`
|
`:cacheDir`
|
||||||
: This is the value of the `cacheDir` configuration option if set (can also be set via OS env variable `HUGO_CACHEDIR`). It will fall back to `/opt/build/cache/hugo_cache/` on Netlify, or a `hugo_cache_$USER` directory below the OS temp dir for the others. This means that if you run your builds on Netlify, all caches configured with `:cacheDir` will be saved and restored on the next build. For other CI vendors, please read their documentation. For an CircleCI example, see [this configuration](https://github.com/bep/hugo-sass-test/blob/6c3960a8f4b90e8938228688bc49bdcdd6b2d99e/.circleci/config.yml).
|
: See [Configure cacheDir](#configure-cachedir).
|
||||||
|
|
||||||
`:project`
|
`:project`
|
||||||
: The base directory name of the current Hugo project. This means that, in its default setting, every project will have separated file caches, which means that when you do `hugo --gc` you will not touch files related to other Hugo projects running on the same PC.
|
: The base directory name of the current Hugo project. This means that, in its default setting, every project will have separated file caches, which means that when you do `hugo --gc` you will not touch files related to other Hugo projects running on the same PC.
|
||||||
|
@ -853,3 +853,18 @@ dir
|
||||||
[toml]: https://github.com/toml-lang/toml
|
[toml]: https://github.com/toml-lang/toml
|
||||||
[yaml]: https://yaml.org/spec/
|
[yaml]: https://yaml.org/spec/
|
||||||
[static-files]: /content-management/static-files/
|
[static-files]: /content-management/static-files/
|
||||||
|
|
||||||
|
|
||||||
|
# Configure cacheDir
|
||||||
|
|
||||||
|
This is the directory where Hugo by default will store its file caches. See [Configure File Caches](#configure-file-caches).
|
||||||
|
|
||||||
|
This can be set using the `cacheDir` config option or via the OS env variable `HUGO_CACHEDIR`.
|
||||||
|
|
||||||
|
If this is not set, Hugo will use, in order of preference:
|
||||||
|
|
||||||
|
1. If running on Netlify: `/opt/build/cache/hugo_cache/`. This means that if you run your builds on Netlify, all caches configured with `:cacheDir` will be saved and restored on the next build. For other CI vendors, please read their documentation. For an CircleCI example, see [this configuration](https://github.com/bep/hugo-sass-test/blob/6c3960a8f4b90e8938228688bc49bdcdd6b2d99e/.circleci/config.yml).
|
||||||
|
1. In a `hugo_cache` directory below the OS user cache directory as defined by Go's [os.UserCacheDir](https://pkg.go.dev/os#UserCacheDir). On Unix systems, this is `$XDG_CACHE_HOME` as specified by [basedir-spec-latest](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) if non-empty, else `$HOME/.cache`. On MacOS, this is `$HOME/Library/Caches`. On Windows, this is`%LocalAppData%`. On Plan 9, this is `$home/lib/cache`. {{< new-in "0.116.0" >}}
|
||||||
|
1. In a `hugo_cache_$USER` directory below the OS temp dir.
|
||||||
|
|
||||||
|
If you want to know the current value of `cacheDir`, you can run `hugo config`, e.g: `hugo config | grep cachedir`.
|
||||||
|
|
|
@ -100,7 +100,7 @@ jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
HUGO_VERSION: 0.115.1
|
HUGO_VERSION: 0.115.4
|
||||||
steps:
|
steps:
|
||||||
- name: Install Hugo CLI
|
- name: Install Hugo CLI
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -27,8 +27,8 @@ Define your [CI/CD](https://docs.gitlab.com/ee/ci/quick_start/) jobs by creating
|
||||||
|
|
||||||
{{< code file=".gitlab-ci.yml" >}}
|
{{< code file=".gitlab-ci.yml" >}}
|
||||||
variables:
|
variables:
|
||||||
DART_SASS_VERSION: 1.63.6
|
DART_SASS_VERSION: 1.64.1
|
||||||
HUGO_VERSION: 0.115.3
|
HUGO_VERSION: 0.115.4
|
||||||
NODE_VERSION: 20.x
|
NODE_VERSION: 20.x
|
||||||
GIT_DEPTH: 0
|
GIT_DEPTH: 0
|
||||||
GIT_STRATEGY: clone
|
GIT_STRATEGY: clone
|
||||||
|
@ -46,8 +46,9 @@ pages:
|
||||||
# Install Dart Sass
|
# Install Dart Sass
|
||||||
- curl -LJO https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz
|
- curl -LJO https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz
|
||||||
- tar -xf dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz
|
- tar -xf dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz
|
||||||
- cp -r dart-sass/* /usr/local/bin
|
- cp -r dart-sass/ /usr/local/bin
|
||||||
- rm -rf dart-sass*
|
- rm -rf dart-sass*
|
||||||
|
- export PATH=/usr/local/bin/dart-sass:$PATH
|
||||||
# Install Hugo
|
# Install Hugo
|
||||||
- curl -LJO https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb
|
- curl -LJO https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb
|
||||||
- apt-get install -y ./hugo_extended_${HUGO_VERSION}_linux-amd64.deb
|
- apt-get install -y ./hugo_extended_${HUGO_VERSION}_linux-amd64.deb
|
||||||
|
|
|
@ -57,14 +57,14 @@ For production:
|
||||||
|
|
||||||
{{< code file="netlify.toml" >}}
|
{{< code file="netlify.toml" >}}
|
||||||
[context.production.environment]
|
[context.production.environment]
|
||||||
HUGO_VERSION = "0.99.1"
|
HUGO_VERSION = "0.115.4"
|
||||||
{{< /code >}}
|
{{< /code >}}
|
||||||
|
|
||||||
For testing:
|
For testing:
|
||||||
|
|
||||||
{{< code file="netlify.toml" >}}
|
{{< code file="netlify.toml" >}}
|
||||||
[context.deploy-preview.environment]
|
[context.deploy-preview.environment]
|
||||||
HUGO_VERSION = "0.99.1"
|
HUGO_VERSION = "0.115.4"
|
||||||
{{< /code >}}
|
{{< /code >}}
|
||||||
|
|
||||||
The Netlify configuration file can be a little hard to understand and get right for the different environment, and you may get some inspiration and tips from this site's `netlify.toml`:
|
The Netlify configuration file can be a little hard to understand and get right for the different environment, and you may get some inspiration and tips from this site's `netlify.toml`:
|
||||||
|
|
|
@ -1,20 +1,23 @@
|
||||||
## Build from source
|
## Build from source
|
||||||
|
|
||||||
To build Hugo from source you must:
|
To build the extended edition of Hugo from source you must:
|
||||||
|
|
||||||
1. Install [Git]
|
1. Install [Git]
|
||||||
1. Install [Go] version 1.19 or later
|
1. Install [Go] version 1.19 or later
|
||||||
1. Update your PATH environment variable as described in the [Go documentation]
|
1. Install a C compiler, either [GCC] or [Clang]
|
||||||
|
1. Update your `PATH` environment variable as described in the [Go documentation]
|
||||||
|
|
||||||
> The install directory is controlled by the GOPATH and GOBIN environment variables. If GOBIN is set, binaries are installed to that directory. If GOPATH is set, binaries are installed to the bin subdirectory of the first directory in the GOPATH list. Otherwise, binaries are installed to the bin subdirectory of the default GOPATH ($HOME/go or %USERPROFILE%\go).
|
> The install directory is controlled by the `GOPATH` and `GOBIN` environment variables. If `GOBIN` is set, binaries are installed to that directory. If `GOPATH` is set, binaries are installed to the bin subdirectory of the first directory in the `GOPATH` list. Otherwise, binaries are installed to the bin subdirectory of the default `GOPATH` (`$HOME/go` or `%USERPROFILE%\go`).
|
||||||
|
|
||||||
Then build and test:
|
Then build and test:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
go install -tags extended github.com/gohugoio/hugo@latest
|
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@latest
|
||||||
hugo version
|
hugo version
|
||||||
```
|
```
|
||||||
|
|
||||||
|
[Clang]: https://clang.llvm.org/
|
||||||
|
[GCC]: https://gcc.gnu.org/
|
||||||
[Git]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
|
[Git]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
|
||||||
[Go]: https://go.dev/doc/install
|
|
||||||
[Go documentation]: https://go.dev/doc/code#Command
|
[Go documentation]: https://go.dev/doc/code#Command
|
||||||
|
[Go]: https://go.dev/doc/install
|
||||||
|
|
|
@ -29,16 +29,18 @@ This will install the extended edition of Hugo:
|
||||||
sudo snap install hugo
|
sudo snap install hugo
|
||||||
```
|
```
|
||||||
|
|
||||||
To enable access to removable media:
|
To enable or revoke access to removable media:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo snap connect hugo:removable-media
|
sudo snap connect hugo:removable-media
|
||||||
|
sudo snap disconnect hugo:removable-media
|
||||||
```
|
```
|
||||||
|
|
||||||
To revoke access to removable media:
|
To enable or revoke access to SSH keys:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo snap disconnect hugo:removable-media
|
sudo snap connect hugo:ssh-keys
|
||||||
|
sudo snap disconnect hugo:ssh-keys
|
||||||
```
|
```
|
||||||
|
|
||||||
[most distributions]: https://snapcraft.io/docs/installing-snapd
|
[most distributions]: https://snapcraft.io/docs/installing-snapd
|
||||||
|
|
|
@ -52,10 +52,7 @@ winget install Hugo.Hugo.Extended
|
||||||
{{% readfile file="/installation/common/05-build-from-source.md" %}}
|
{{% readfile file="/installation/common/05-build-from-source.md" %}}
|
||||||
|
|
||||||
{{% note %}}
|
{{% note %}}
|
||||||
When building the extended edition of Hugo from source on Windows, you will also need to install the [GCC compiler]. See these [detailed instructions].
|
See these [detailed instructions](https://discourse.gohugo.io/t/41370) to install GCC on Windows.
|
||||||
|
|
||||||
[detailed instructions]: https://discourse.gohugo.io/t/41370
|
|
||||||
[GCC compiler]: https://gcc.gnu.org/
|
|
||||||
{{% /note %}}
|
{{% /note %}}
|
||||||
|
|
||||||
## Comparison
|
## Comparison
|
||||||
|
|
|
@ -9,8 +9,6 @@ aliases: [/0-25/]
|
||||||
|
|
||||||
Hugo `0.25` is the **Kinder Surprise**: It automatically opens the page you're working on in the browser, it adds full `AND` and `OR` support in page queries, and you can now have templates per language.
|
Hugo `0.25` is the **Kinder Surprise**: It automatically opens the page you're working on in the browser, it adds full `AND` and `OR` support in page queries, and you can now have templates per language.
|
||||||
|
|
||||||
![Hugo Open on Save](https://cdn-standard5.discourse.org/uploads/gohugo/optimized/2X/6/622088d4a8eacaf62bbbaa27dab19d789e10fe09_1_690x345.gif "Hugo Open on Save")
|
|
||||||
|
|
||||||
If you start with `hugo server --navigateToChanged`, Hugo will navigate to the relevant page on save (see animated GIF). This is extremely useful for site-wide edits. Another very useful feature in this version is the added support for `AND` (`intersect`) and `OR` (`union`) filters when combined with `where`.
|
If you start with `hugo server --navigateToChanged`, Hugo will navigate to the relevant page on save (see animated GIF). This is extremely useful for site-wide edits. Another very useful feature in this version is the added support for `AND` (`intersect`) and `OR` (`union`) filters when combined with `where`.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
|
@ -19,12 +19,12 @@ While the following internal templates are called similar to partials, they do *
|
||||||
|
|
||||||
## Google Analytics
|
## Google Analytics
|
||||||
|
|
||||||
Hugo ships with internal templates supporting Google Analytics, both [Google Analytics 4][GA4] (GA4) and Universal Analytics.
|
Hugo ships with an internal template supporting [Google Analytics 4][GA4] (GA4).
|
||||||
|
|
||||||
**Note:** Universal Analytics are deprecated. For details, see [Universal Analytics will be going away].
|
**Note:** Universal Analytics are [deprecated].
|
||||||
|
|
||||||
[GA4]: https://support.google.com/analytics/answer/10089681
|
[GA4]: https://support.google.com/analytics/answer/10089681
|
||||||
[Universal Analytics will be going away]: https://support.google.com/analytics/answer/11583528
|
[deprecated]: https://support.google.com/analytics/answer/11583528
|
||||||
|
|
||||||
### Configure Google Analytics
|
### Configure Google Analytics
|
||||||
|
|
||||||
|
@ -35,40 +35,29 @@ Provide your tracking ID in your configuration file:
|
||||||
googleAnalytics = "G-MEASUREMENT_ID"
|
googleAnalytics = "G-MEASUREMENT_ID"
|
||||||
{{</ code-toggle >}}
|
{{</ code-toggle >}}
|
||||||
|
|
||||||
**Google Universal Analytics (analytics.js)**
|
|
||||||
{{< code-toggle file="hugo" >}}
|
|
||||||
googleAnalytics = "UA-PROPERTY_ID"
|
|
||||||
{{</ code-toggle >}}
|
|
||||||
|
|
||||||
### Use the Google Analytics template
|
### Use the Google Analytics template
|
||||||
|
|
||||||
You can then include the Google Analytics internal template:
|
Include the Google Analytics internal template in your templates where you want the code to appear:
|
||||||
|
|
||||||
```go-html-template
|
|
||||||
{{ template "_internal/google_analytics_async.html" . }}
|
|
||||||
```
|
|
||||||
|
|
||||||
**Note:** The async template is _not_ suitable for Google Analytics 4.
|
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ template "_internal/google_analytics.html" . }}
|
{{ template "_internal/google_analytics.html" . }}
|
||||||
```
|
```
|
||||||
|
|
||||||
If you want to create your own template, you can access the configured ID with `{{ site.Config.Services.GoogleAnalytics.ID }}`.
|
To create your own template, access the configured ID with `{{ site.Config.Services.GoogleAnalytics.ID }}`.
|
||||||
|
|
||||||
## Disqus
|
## Disqus
|
||||||
|
|
||||||
Hugo also ships with an internal template for [Disqus comments][disqus], a popular commenting system for both static and dynamic websites. In order to effectively use Disqus, you will need to secure a Disqus "shortname" by [signing up for the free service][disqussignup].
|
Hugo also ships with an internal template for [Disqus comments][disqus], a popular commenting system for both static and dynamic websites. To effectively use Disqus, secure a Disqus "shortname" by [signing up for the free service][disqussignup].
|
||||||
|
|
||||||
### Configure Disqus
|
### Configure Disqus
|
||||||
|
|
||||||
To use Hugo's Disqus template, you first need to set a single configuration value:
|
To use Hugo's Disqus template, first set up a single configuration value:
|
||||||
|
|
||||||
{{< code-toggle file="hugo" >}}
|
{{< code-toggle file="hugo" >}}
|
||||||
disqusShortname = "your-disqus-shortname"
|
disqusShortname = "your-disqus-shortname"
|
||||||
{{</ code-toggle >}}
|
{{</ code-toggle >}}
|
||||||
|
|
||||||
You also have the option to set the following in the front matter for a given piece of content:
|
You can also set the following in the front matter for a given piece of content:
|
||||||
|
|
||||||
* `disqus_identifier`
|
* `disqus_identifier`
|
||||||
* `disqus_title`
|
* `disqus_title`
|
||||||
|
@ -76,7 +65,7 @@ You also have the option to set the following in the front matter for a given pi
|
||||||
|
|
||||||
### Use the Disqus template
|
### Use the Disqus template
|
||||||
|
|
||||||
To add Disqus, include the following line in templates where you want your comments to appear:
|
To add Disqus, include the following line in the templates where you want your comments to appear:
|
||||||
|
|
||||||
```go-html-template
|
```go-html-template
|
||||||
{{ template "_internal/disqus.html" . }}
|
{{ template "_internal/disqus.html" . }}
|
||||||
|
@ -222,7 +211,6 @@ The code for these templates is located [here](https://github.com/gohugoio/hugo/
|
||||||
|
|
||||||
* `_internal/disqus.html`
|
* `_internal/disqus.html`
|
||||||
* `_internal/google_analytics.html`
|
* `_internal/google_analytics.html`
|
||||||
* `_internal/google_analytics_async.html`
|
|
||||||
* `_internal/opengraph.html`
|
* `_internal/opengraph.html`
|
||||||
* `_internal/pagination.html`
|
* `_internal/pagination.html`
|
||||||
* `_internal/schema.html`
|
* `_internal/schema.html`
|
||||||
|
|
|
@ -94,7 +94,13 @@ most helpful when the condition depends on either of the values, or both:
|
||||||
|
|
||||||
#### `.Inner`
|
#### `.Inner`
|
||||||
|
|
||||||
If a closing shortcode is used, the `.Inner` variable will be populated with the content between the opening and closing shortcodes. If a closing shortcode is required, you can check the length of `.Inner` as an indicator of its existence.
|
If a closing shortcode is used, the `.Inner` variable will be populated with the content between the opening and closing shortcodes. To check if `.Inner` contains anything other than white space:
|
||||||
|
|
||||||
|
```go-html-template
|
||||||
|
{{ if strings.ContainsNonSpace .Inner }}
|
||||||
|
Inner is not empty
|
||||||
|
{{ end }}
|
||||||
|
```
|
||||||
|
|
||||||
A shortcode with content declared via the `.Inner` variable can also be declared without the content and without the closing tag by using the self-closing syntax:
|
A shortcode with content declared via the `.Inner` variable can also be declared without the content and without the closing tag by using the self-closing syntax:
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,6 @@ menu:
|
||||||
weight: 20
|
weight: 20
|
||||||
---
|
---
|
||||||
|
|
||||||
The Hugo community uses a wide range of preferred tools and has developed plug-ins for some of the most popular text editors to help automate parts of your workflow.
|
|
||||||
|
|
||||||
## Sublime Text
|
## Sublime Text
|
||||||
|
|
||||||
* [Hugofy](https://github.com/akmittal/Hugofy). Hugofy is a plugin for Sublime Text 3 to make life easier to use Hugo static site generator.
|
* [Hugofy](https://github.com/akmittal/Hugofy). Hugofy is a plugin for Sublime Text 3 to make life easier to use Hugo static site generator.
|
||||||
|
@ -25,7 +23,7 @@ The Hugo community uses a wide range of preferred tools and has developed plug-i
|
||||||
* [Hugo Language and Syntax Support](https://marketplace.visualstudio.com/items?itemName=budparr.language-hugo-vscode). Hugo Language and Syntax Support is a Visual Studio Code plugin for Hugo syntax highlighting and snippets. The source code can be found [here](https://github.com/budparr/language-hugo-vscode).
|
* [Hugo Language and Syntax Support](https://marketplace.visualstudio.com/items?itemName=budparr.language-hugo-vscode). Hugo Language and Syntax Support is a Visual Studio Code plugin for Hugo syntax highlighting and snippets. The source code can be found [here](https://github.com/budparr/language-hugo-vscode).
|
||||||
* [Hugo Themer](https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-hugo-themer). Hugo Themer is an extension to help you while developing themes. It allows you to easily navigate through your theme files.
|
* [Hugo Themer](https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-hugo-themer). Hugo Themer is an extension to help you while developing themes. It allows you to easily navigate through your theme files.
|
||||||
* [Front Matter](https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-front-matter). Once you go for a static site, you need to think about how you are going to manage your articles. Front matter is a tool that helps you maintain the metadata/front matter of your articles like: creation date, modified date, slug, tile, SEO check, and many more...
|
* [Front Matter](https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-front-matter). Once you go for a static site, you need to think about how you are going to manage your articles. Front matter is a tool that helps you maintain the metadata/front matter of your articles like: creation date, modified date, slug, tile, SEO check, and many more...
|
||||||
* [Syntax Highlighting for Hugo Shortcodes](https://marketplace.visualstudio.com/items?itemName=kaellarkin.hugo-shortcode-syntax). This extension add some syntax highlighting for Shortcodes, making visual identification of individual pieces easier.
|
* [Syntax Highlighting for Hugo Shortcodes](https://marketplace.visualstudio.com/items?itemName=kaellarkin.hugo-shortcode-syntax). This extension adds some syntax highlighting for Shortcodes, making visual identification of individual pieces easier.
|
||||||
|
|
||||||
## Emacs
|
## Emacs
|
||||||
|
|
||||||
|
@ -34,7 +32,7 @@ The Hugo community uses a wide range of preferred tools and has developed plug-i
|
||||||
|
|
||||||
## Vim
|
## Vim
|
||||||
|
|
||||||
* [Vim Hugo Helper](https://github.com/robertbasic/vim-hugo-helper). A small Vim plugin to help me with writing posts with Hugo.
|
* [Vim Hugo Helper](https://github.com/robertbasic/vim-hugo-helper). A small Vim plugin that facilitates authoring pages and blog posts with Hugo.
|
||||||
* [vim-hugo](https://github.com/phelipetls/vim-hugo). A Vim plugin with syntax highlighting for templates and a few other features.
|
* [vim-hugo](https://github.com/phelipetls/vim-hugo). A Vim plugin with syntax highlighting for templates and a few other features.
|
||||||
|
|
||||||
[formats]: /content-management/formats/
|
[formats]: /content-management/formats/
|
||||||
|
|
|
@ -16,52 +16,52 @@ The following is a list of page-level variables. Many of these will be defined i
|
||||||
## Page variables
|
## Page variables
|
||||||
|
|
||||||
.AlternativeOutputFormats
|
.AlternativeOutputFormats
|
||||||
: contains all alternative formats for a given page; this variable is especially useful `link rel` list in your site's `<head>`. (See [Output Formats](/templates/output-formats/).)
|
: Contains all alternative formats for a given page; this variable is especially useful `link rel` list in your site's `<head>`. (See [Output Formats](/templates/output-formats/).)
|
||||||
|
|
||||||
.Aliases
|
.Aliases
|
||||||
: aliases of this page
|
: Aliases of this page
|
||||||
|
|
||||||
.Ancestors
|
.Ancestors
|
||||||
: get the ancestors of each page, simplify [breadcrumb navigation](/content-management/sections#example-breadcrumb-navigation) implementation complexity
|
: Get the ancestors of each page, simplify [breadcrumb navigation](/content-management/sections#example-breadcrumb-navigation) implementation complexity
|
||||||
|
|
||||||
.BundleType
|
.BundleType
|
||||||
: the [bundle] type: `leaf`, `branch`, or an empty string if the page is not a bundle.
|
: The [bundle] type: `leaf`, `branch`, or an empty string if the page is not a bundle.
|
||||||
|
|
||||||
.Content
|
.Content
|
||||||
: the content itself, defined below the front matter.
|
: The content itself, defined below the front matter.
|
||||||
|
|
||||||
.Data
|
.Data
|
||||||
: the data specific to this type of page.
|
: The data specific to this type of page.
|
||||||
|
|
||||||
.Date
|
.Date
|
||||||
: the date associated with the page; `.Date` pulls from the `date` field in a content's front matter. See also `.ExpiryDate`, `.PublishDate`, and `.Lastmod`.
|
: The date associated with the page. By default, this is the front matter `date` value. See [configuring dates] for a description of fallback values and precedence. See also `.ExpiryDate`, `.Lastmod`, and `.PublishDate`.
|
||||||
|
|
||||||
.Description
|
.Description
|
||||||
: the description for the page.
|
: The description for the page.
|
||||||
|
|
||||||
.Draft
|
.Draft
|
||||||
: a boolean, `true` if the content is marked as a draft in the front matter.
|
: A boolean, `true` if the content is marked as a draft in the front matter.
|
||||||
|
|
||||||
.ExpiryDate
|
.ExpiryDate
|
||||||
: the date on which the content is scheduled to expire; `.ExpiryDate` pulls from the `expirydate` field in a content's front matter. See also `.PublishDate`, `.Date`, and `.Lastmod`.
|
: The date on which the content is scheduled to expire. By default, this is the front matter `expiryDate` value. See [configuring dates] for a description of fallback values and precedence. See also `.Date`, `.Lastmod`, and `.PublishDate`.
|
||||||
|
|
||||||
.File
|
.File
|
||||||
: filesystem-related data for this content file. See also [File Variables].
|
: Filesystem-related data for this content file. See also [File Variables].
|
||||||
|
|
||||||
.Fragments
|
.Fragments
|
||||||
: Fragments returns the fragments for this page. See [Page Fragments](#page-fragments).
|
: Fragments returns the fragments for this page. See [Page Fragments](#page-fragments).
|
||||||
|
|
||||||
.FuzzyWordCount
|
.FuzzyWordCount
|
||||||
: the approximate number of words in the content.
|
: The approximate number of words in the content.
|
||||||
|
|
||||||
.IsHome
|
.IsHome
|
||||||
: `true` in the context of the [homepage](/templates/homepage/).
|
: `true` in the context of the [homepage](/templates/homepage/).
|
||||||
|
|
||||||
.IsNode
|
.IsNode
|
||||||
: always `false` for regular content pages.
|
: Always `false` for regular content pages.
|
||||||
|
|
||||||
.IsPage
|
.IsPage
|
||||||
: always `true` for regular content pages.
|
: Always `true` for regular content pages.
|
||||||
|
|
||||||
.IsSection
|
.IsSection
|
||||||
: `true` if [`.Kind`](/templates/section-templates/#page-kinds) is `section`.
|
: `true` if [`.Kind`](/templates/section-templates/#page-kinds) is `section`.
|
||||||
|
@ -70,24 +70,19 @@ The following is a list of page-level variables. Many of these will be defined i
|
||||||
: `true` if there are translations to display.
|
: `true` if there are translations to display.
|
||||||
|
|
||||||
.Keywords
|
.Keywords
|
||||||
: the meta keywords for the content.
|
: The meta keywords for the content.
|
||||||
|
|
||||||
.Kind
|
.Kind
|
||||||
: the page's *kind*. Possible return values are `page`, `home`, `section`, `taxonomy`, or `term`. Note that there are also `RSS`, `sitemap`, `robotsTXT`, and `404` kinds, but these are only available during the rendering of each of these respective page's kind and therefore *not* available in any of the `Pages` collections.
|
: The page's *kind*. Possible return values are `page`, `home`, `section`, `taxonomy`, or `term`. Note that there are also `RSS`, `sitemap`, `robotsTXT`, and `404` kinds, but these are only available during the rendering of each of these respective page's kind and therefore *not* available in any of the `Pages` collections.
|
||||||
|
|
||||||
.Language
|
.Language
|
||||||
: a language object that points to the language's definition in the site configuration. `.Language.Lang` gives you the language code.
|
: A language object that points to the language's definition in the site configuration. `.Language.Lang` gives you the language code.
|
||||||
|
|
||||||
.Lastmod
|
.Lastmod
|
||||||
: the date the content was last modified. `.Lastmod` pulls from the `lastmod` field in a content's front matter.
|
: The date on which the content was last modified. By default, if `enableGitInfo` is `true` in your site configuration, this is the Git author date, otherwise the front matter `lastmod` value. See [configuring dates] for a description of fallback values and precedence. See also `.Date`,`ExpiryDate`, `.PublishDate`, and [`.GitInfo`][gitinfo].
|
||||||
|
|
||||||
- If `lastmod` is not set, and `.GitInfo` feature is disabled, the front matter `date` field will be used.
|
|
||||||
- If `lastmod` is not set, and `.GitInfo` feature is enabled, `.GitInfo.AuthorDate` will be used instead.
|
|
||||||
|
|
||||||
See also `.ExpiryDate`, `.Date`, `.PublishDate`, and [`.GitInfo`][gitinfo].
|
|
||||||
|
|
||||||
.LinkTitle
|
.LinkTitle
|
||||||
: access when creating links to the content. If set, Hugo will use the `linktitle` from the front matter before `title`.
|
: Access when creating links to the content. If set, Hugo will use the `linktitle` from the front matter before `title`.
|
||||||
|
|
||||||
.Next
|
.Next
|
||||||
: Points up to the next [regular page](/variables/site/#site-pages) (sorted by Hugo's [default sort](/templates/lists#default-weight--date--linktitle--filepath)). Example: `{{ with .Next }}{{ .Permalink }}{{ end }}`. Calling `.Next` from the first page returns `nil`.
|
: Points up to the next [regular page](/variables/site/#site-pages) (sorted by Hugo's [default sort](/templates/lists#default-weight--date--linktitle--filepath)). Example: `{{ with .Next }}{{ .Permalink }}{{ end }}`. Calling `.Next` from the first page returns `nil`.
|
||||||
|
@ -96,20 +91,19 @@ See also `.ExpiryDate`, `.Date`, `.PublishDate`, and [`.GitInfo`][gitinfo].
|
||||||
: Points up to the next [regular page](/variables/site/#site-pages) below the same top level section (e.g. in `/blog`)). Pages are sorted by Hugo's [default sort](/templates/lists#default-weight--date--linktitle--filepath). Example: `{{ with .NextInSection }}{{ .Permalink }}{{ end }}`. Calling `.NextInSection` from the first page returns `nil`.
|
: Points up to the next [regular page](/variables/site/#site-pages) below the same top level section (e.g. in `/blog`)). Pages are sorted by Hugo's [default sort](/templates/lists#default-weight--date--linktitle--filepath). Example: `{{ with .NextInSection }}{{ .Permalink }}{{ end }}`. Calling `.NextInSection` from the first page returns `nil`.
|
||||||
|
|
||||||
.OutputFormats
|
.OutputFormats
|
||||||
: contains all formats, including the current format, for a given page. Can be combined the with [`.Get` function](/functions/get/) to grab a specific format. (See [Output Formats](/templates/output-formats/).)
|
: Contains all formats, including the current format, for a given page. Can be combined the with [`.Get` function](/functions/get/) to grab a specific format. (See [Output Formats](/templates/output-formats/).)
|
||||||
|
|
||||||
.Pages
|
.Pages
|
||||||
: a collection of associated pages. This value will be `nil` within
|
: A collection of associated pages. This value will be `nil` within the context of regular content pages. See [`.Pages`](#pages).
|
||||||
the context of regular content pages. See [`.Pages`](#pages).
|
|
||||||
|
|
||||||
.Permalink
|
.Permalink
|
||||||
: the Permanent link for this page; see [Permalinks](/content-management/urls/)
|
: The Permanent link for this page; see [Permalinks](/content-management/urls/)
|
||||||
|
|
||||||
.Plain
|
.Plain
|
||||||
: the Page content stripped of HTML tags and presented as a string. You may need to pipe the result through the [`htmlUnescape`](/functions/htmlunescape/) function when rendering this value with the HTML [output format](/templates/output-formats#output-format-definitions).
|
: The Page content stripped of HTML tags and presented as a string. You may need to pipe the result through the [`htmlUnescape`](/functions/htmlunescape/) function when rendering this value with the HTML [output format](/templates/output-formats#output-format-definitions).
|
||||||
|
|
||||||
.PlainWords
|
.PlainWords
|
||||||
: the slice of strings that results from splitting .Plain into words, as defined in Go's [strings.Fields](https://pkg.go.dev/strings#Fields).
|
: The slice of strings that results from splitting .Plain into words, as defined in Go's [strings.Fields](https://pkg.go.dev/strings#Fields).
|
||||||
|
|
||||||
.Prev
|
.Prev
|
||||||
: Points down to the previous [regular page](/variables/site/#site-pages) (sorted by Hugo's [default sort](/templates/lists#default-weight--date--linktitle--filepath)). Example: `{{ if .Prev }}{{ .Prev.Permalink }}{{ end }}`. Calling `.Prev` from the last page returns `nil`.
|
: Points down to the previous [regular page](/variables/site/#site-pages) (sorted by Hugo's [default sort](/templates/lists#default-weight--date--linktitle--filepath)). Example: `{{ if .Prev }}{{ .Prev.Permalink }}{{ end }}`. Calling `.Prev` from the last page returns `nil`.
|
||||||
|
@ -118,71 +112,71 @@ See also `.ExpiryDate`, `.Date`, `.PublishDate`, and [`.GitInfo`][gitinfo].
|
||||||
: Points down to the previous [regular page](/variables/site/#site-pages) below the same top level section (e.g. `/blog`). Pages are sorted by Hugo's [default sort](/templates/lists#default-weight--date--linktitle--filepath). Example: `{{ if .PrevInSection }}{{ .PrevInSection.Permalink }}{{ end }}`. Calling `.PrevInSection` from the last page returns `nil`.
|
: Points down to the previous [regular page](/variables/site/#site-pages) below the same top level section (e.g. `/blog`). Pages are sorted by Hugo's [default sort](/templates/lists#default-weight--date--linktitle--filepath). Example: `{{ if .PrevInSection }}{{ .PrevInSection.Permalink }}{{ end }}`. Calling `.PrevInSection` from the last page returns `nil`.
|
||||||
|
|
||||||
.PublishDate
|
.PublishDate
|
||||||
: the date on which the content was or will be published; `.Publishdate` pulls from the `publishdate` field in a content's front matter. See also `.ExpiryDate`, `.Date`, and `.Lastmod`.
|
: The date on which the content was or will be published. By default, this is the front matter `publishDate` value. See [configuring dates] for a description of fallback values and precedence. See also `.Date`, `.ExpiryDate`, and `.Lastmod`.
|
||||||
|
|
||||||
.RawContent
|
.RawContent
|
||||||
: raw markdown content without the front matter. Useful with [remarkjs.com](
|
: Raw markdown content without the front matter. Useful with [remarkjs.com](
|
||||||
https://remarkjs.com)
|
https://remarkjs.com)
|
||||||
|
|
||||||
.ReadingTime
|
.ReadingTime
|
||||||
: the estimated time, in minutes, it takes to read the content.
|
: The estimated time, in minutes, it takes to read the content.
|
||||||
|
|
||||||
.Resources
|
.Resources
|
||||||
: resources such as images and CSS that are associated with this page
|
: Resources such as images and CSS that are associated with this page
|
||||||
|
|
||||||
.Ref
|
.Ref
|
||||||
: returns the permalink for a given reference (e.g., `.Ref "sample.md"`). `.Ref` does *not* handle in-page fragments correctly. See [Cross References](/content-management/cross-references/).
|
: Returns the permalink for a given reference (e.g., `.Ref "sample.md"`). `.Ref` does *not* handle in-page fragments correctly. See [Cross References](/content-management/cross-references/).
|
||||||
|
|
||||||
.RelPermalink
|
.RelPermalink
|
||||||
: the relative permanent link for this page.
|
: The relative permanent link for this page.
|
||||||
|
|
||||||
.RelRef
|
.RelRef
|
||||||
: returns the relative permalink for a given reference (e.g., `RelRef
|
: Returns the relative permalink for a given reference (e.g., `RelRef
|
||||||
"sample.md"`). `.RelRef` does *not* handle in-page fragments correctly. See [Cross References](/content-management/cross-references/).
|
"sample.md"`). `.RelRef` does *not* handle in-page fragments correctly. See [Cross References](/content-management/cross-references/).
|
||||||
|
|
||||||
.Site
|
.Site
|
||||||
: see [Site Variables](/variables/site/).
|
: See [Site Variables](/variables/site/).
|
||||||
|
|
||||||
.Sites
|
.Sites
|
||||||
: returns all sites (languages). A typical use case would be to link back to the main language: `<a href="{{ .Sites.First.Home.RelPermalink }}">...</a>`.
|
: Returns all sites (languages). A typical use case would be to link back to the main language: `<a href="{{ .Sites.First.Home.RelPermalink }}">...</a>`.
|
||||||
|
|
||||||
.Sites.First
|
.Sites.First
|
||||||
: returns the site for the first language. If this is not a multilingual setup, it will return itself.
|
: Returns the site for the first language. If this is not a multilingual setup, it will return itself.
|
||||||
|
|
||||||
.Summary
|
.Summary
|
||||||
: a generated summary of the content for easily showing a snippet in a summary view. The breakpoint can be set manually by inserting <code><!--more--></code> at the appropriate place in the content page, or the summary can be written independent of the page text. See [Content Summaries](/content-management/summaries/) for more details.
|
: A generated summary of the content for easily showing a snippet in a summary view. The breakpoint can be set manually by inserting <code><!--more--></code> at the appropriate place in the content page, or the summary can be written independent of the page text. See [Content Summaries](/content-management/summaries/) for more details.
|
||||||
|
|
||||||
.TableOfContents
|
.TableOfContents
|
||||||
: the rendered [table of contents](/content-management/toc/) for the page.
|
: The rendered [table of contents](/content-management/toc/) for the page.
|
||||||
|
|
||||||
.Title
|
.Title
|
||||||
: the title for this page.
|
: The title for this page.
|
||||||
|
|
||||||
.Translations
|
.Translations
|
||||||
: a list of translated versions of the current page. See [Multilingual Mode](/content-management/multilingual/) for more information.
|
: A list of translated versions of the current page. See [Multilingual Mode](/content-management/multilingual/) for more information.
|
||||||
|
|
||||||
.TranslationKey
|
.TranslationKey
|
||||||
: the key used to map language translations of the current page. See [Multilingual Mode](/content-management/multilingual/) for more information.
|
: The key used to map language translations of the current page. See [Multilingual Mode](/content-management/multilingual/) for more information.
|
||||||
|
|
||||||
.Truncated
|
.Truncated
|
||||||
: a boolean, `true` if the `.Summary` is truncated. Useful for showing a "Read more..." link only when necessary. See [Summaries](/content-management/summaries/) for more information.
|
: A boolean, `true` if the `.Summary` is truncated. Useful for showing a "Read more..." link only when necessary. See [Summaries](/content-management/summaries/) for more information.
|
||||||
|
|
||||||
.Type
|
.Type
|
||||||
: the [content type](/content-management/types/) of the content (e.g., `posts`).
|
: The [content type](/content-management/types/) of the content (e.g., `posts`).
|
||||||
|
|
||||||
.Weight
|
.Weight
|
||||||
: assigned weight (in the front matter) to this content, used in sorting.
|
: Assigned weight (in the front matter) to this content, used in sorting.
|
||||||
|
|
||||||
.WordCount
|
.WordCount
|
||||||
: the number of words in the content.
|
: The number of words in the content.
|
||||||
|
|
||||||
## Writable page-scoped variables
|
## Writable page-scoped variables
|
||||||
|
|
||||||
[.Scratch][scratch]
|
[.Scratch][scratch]
|
||||||
: returns a Scratch to store and manipulate data. In contrast to the [`.Store`][store] method, this scratch is reset on server rebuilds.
|
: Returns a Scratch to store and manipulate data. In contrast to the [`.Store`][store] method, this scratch is reset on server rebuilds.
|
||||||
|
|
||||||
[.Store][store]
|
[.Store][store]
|
||||||
: returns a Scratch to store and manipulate data. In contrast to the [`.Scratch`][scratch] method, this scratch is not reset on server rebuilds.
|
: Returns a Scratch to store and manipulate data. In contrast to the [`.Scratch`][scratch] method, this scratch is not reset on server rebuilds.
|
||||||
|
|
||||||
## Section variables and methods
|
## Section variables and methods
|
||||||
|
|
||||||
|
@ -318,6 +312,7 @@ author:
|
||||||
{{ $.Param "author.display_name" }}
|
{{ $.Param "author.display_name" }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
[configuring dates]: /getting-started/configuration/#configure-dates
|
||||||
[gitinfo]: /variables/git/
|
[gitinfo]: /variables/git/
|
||||||
[File Variables]: /variables/files/
|
[File Variables]: /variables/files/
|
||||||
[bundle]: /content-management/page-bundles
|
[bundle]: /content-management/page-bundles
|
||||||
|
|
|
@ -3,7 +3,7 @@ publish = "public"
|
||||||
command = "hugo --gc --minify"
|
command = "hugo --gc --minify"
|
||||||
|
|
||||||
[context.production.environment]
|
[context.production.environment]
|
||||||
HUGO_VERSION = "0.115.4"
|
HUGO_VERSION = "0.116.1"
|
||||||
HUGO_ENV = "production"
|
HUGO_ENV = "production"
|
||||||
HUGO_ENABLEGITINFO = "true"
|
HUGO_ENABLEGITINFO = "true"
|
||||||
|
|
||||||
|
@ -11,20 +11,20 @@ HUGO_ENABLEGITINFO = "true"
|
||||||
command = "hugo --gc --minify --enableGitInfo"
|
command = "hugo --gc --minify --enableGitInfo"
|
||||||
|
|
||||||
[context.split1.environment]
|
[context.split1.environment]
|
||||||
HUGO_VERSION = "0.115.4"
|
HUGO_VERSION = "0.116.1"
|
||||||
HUGO_ENV = "production"
|
HUGO_ENV = "production"
|
||||||
|
|
||||||
[context.deploy-preview]
|
[context.deploy-preview]
|
||||||
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
|
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
|
||||||
|
|
||||||
[context.deploy-preview.environment]
|
[context.deploy-preview.environment]
|
||||||
HUGO_VERSION = "0.115.4"
|
HUGO_VERSION = "0.116.1"
|
||||||
|
|
||||||
[context.branch-deploy]
|
[context.branch-deploy]
|
||||||
command = "hugo --gc --minify -b $DEPLOY_PRIME_URL"
|
command = "hugo --gc --minify -b $DEPLOY_PRIME_URL"
|
||||||
|
|
||||||
[context.branch-deploy.environment]
|
[context.branch-deploy.environment]
|
||||||
HUGO_VERSION = "0.115.4"
|
HUGO_VERSION = "0.116.1"
|
||||||
|
|
||||||
[context.next.environment]
|
[context.next.environment]
|
||||||
HUGO_ENABLEGITINFO = "true"
|
HUGO_ENABLEGITINFO = "true"
|
||||||
|
|
Loading…
Reference in a new issue