node_modules
nohup.out
.DS_Store
-trace.out
\ No newline at end of file
+trace.out
+.hugo_build.lock
---
linktitle: ""
description: ""
-godocref: ""
publishdate: ""
lastmod: ""
categories: []
slug: ""
aliases: []
toc: false
----
\ No newline at end of file
+---
---
linktitle: ""
description: ""
-godocref: ""
publishdate: ""
lastmod: ""
categories: [functions]
relatedfuncs: []
toc: false
deprecated: false
----
\ No newline at end of file
+---
lineNumbersInTable = true
noClasses = false
+[tableOfContents]
+endLevel = 2
+ordered = false
+startLevel = 2
\ No newline at end of file
### SEE ALSO
* [hugo check](/commands/hugo_check/) - Contains some verification checks
+* [hugo completion](/commands/hugo_completion/) - generate the autocompletion script for the specified shell
* [hugo config](/commands/hugo_config/) - Print the site configuration
* [hugo convert](/commands/hugo_convert/) - Convert your content to different formats
* [hugo deploy](/commands/hugo_deploy/) - Deploy your site to a Cloud provider.
--- /dev/null
+---
+title: "hugo completion"
+slug: hugo_completion
+url: /commands/hugo_completion/
+---
+## hugo completion
+
+generate the autocompletion script for the specified shell
+
+### Synopsis
+
+
+Generate the autocompletion script for hugo for the specified shell.
+See each sub-command's help for details on how to use the generated script.
+
+
+### Options
+
+```
+ -h, --help help for completion
+```
+
+### Options inherited from parent commands
+
+```
+ --config string config file (default is path/config.yaml|json|toml)
+ --configDir string config dir (default "config")
+ --debug debug output
+ -e, --environment string build environment
+ --ignoreVendor ignores any _vendor directory
+ --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern
+ --log enable Logging
+ --logFile string log File path (if set, logging enabled automatically)
+ --quiet build in quiet mode
+ -s, --source string filesystem path to read files relative from
+ --themesDir string filesystem path to themes directory
+ -v, --verbose verbose output
+ --verboseLog verbose logging
+```
+
+### SEE ALSO
+
+* [hugo](/commands/hugo/) - hugo builds your site
+* [hugo completion bash](/commands/hugo_completion_bash/) - generate the autocompletion script for bash
+* [hugo completion fish](/commands/hugo_completion_fish/) - generate the autocompletion script for fish
+* [hugo completion powershell](/commands/hugo_completion_powershell/) - generate the autocompletion script for powershell
+* [hugo completion zsh](/commands/hugo_completion_zsh/) - generate the autocompletion script for zsh
+
--- /dev/null
+---
+title: "hugo completion bash"
+slug: hugo_completion_bash
+url: /commands/hugo_completion_bash/
+---
+## hugo completion bash
+
+generate the autocompletion script for bash
+
+### Synopsis
+
+
+Generate the autocompletion script for the bash shell.
+
+This script depends on the 'bash-completion' package.
+If it is not installed already, you can install it via your OS's package manager.
+
+To load completions in your current shell session:
+$ source <(hugo completion bash)
+
+To load completions for every new session, execute once:
+Linux:
+ $ hugo completion bash > /etc/bash_completion.d/hugo
+MacOS:
+ $ hugo completion bash > /usr/local/etc/bash_completion.d/hugo
+
+You will need to start a new shell for this setup to take effect.
+
+
+```
+hugo completion bash
+```
+
+### Options
+
+```
+ -h, --help help for bash
+ --no-descriptions disable completion descriptions
+```
+
+### Options inherited from parent commands
+
+```
+ --config string config file (default is path/config.yaml|json|toml)
+ --configDir string config dir (default "config")
+ --debug debug output
+ -e, --environment string build environment
+ --ignoreVendor ignores any _vendor directory
+ --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern
+ --log enable Logging
+ --logFile string log File path (if set, logging enabled automatically)
+ --quiet build in quiet mode
+ -s, --source string filesystem path to read files relative from
+ --themesDir string filesystem path to themes directory
+ -v, --verbose verbose output
+ --verboseLog verbose logging
+```
+
+### SEE ALSO
+
+* [hugo completion](/commands/hugo_completion/) - generate the autocompletion script for the specified shell
+
--- /dev/null
+---
+title: "hugo completion fish"
+slug: hugo_completion_fish
+url: /commands/hugo_completion_fish/
+---
+## hugo completion fish
+
+generate the autocompletion script for fish
+
+### Synopsis
+
+
+Generate the autocompletion script for the fish shell.
+
+To load completions in your current shell session:
+$ hugo completion fish | source
+
+To load completions for every new session, execute once:
+$ hugo completion fish > ~/.config/fish/completions/hugo.fish
+
+You will need to start a new shell for this setup to take effect.
+
+
+```
+hugo completion fish [flags]
+```
+
+### Options
+
+```
+ -h, --help help for fish
+ --no-descriptions disable completion descriptions
+```
+
+### Options inherited from parent commands
+
+```
+ --config string config file (default is path/config.yaml|json|toml)
+ --configDir string config dir (default "config")
+ --debug debug output
+ -e, --environment string build environment
+ --ignoreVendor ignores any _vendor directory
+ --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern
+ --log enable Logging
+ --logFile string log File path (if set, logging enabled automatically)
+ --quiet build in quiet mode
+ -s, --source string filesystem path to read files relative from
+ --themesDir string filesystem path to themes directory
+ -v, --verbose verbose output
+ --verboseLog verbose logging
+```
+
+### SEE ALSO
+
+* [hugo completion](/commands/hugo_completion/) - generate the autocompletion script for the specified shell
+
--- /dev/null
+---
+title: "hugo completion powershell"
+slug: hugo_completion_powershell
+url: /commands/hugo_completion_powershell/
+---
+## hugo completion powershell
+
+generate the autocompletion script for powershell
+
+### Synopsis
+
+
+Generate the autocompletion script for powershell.
+
+To load completions in your current shell session:
+PS C:\> hugo completion powershell | Out-String | Invoke-Expression
+
+To load completions for every new session, add the output of the above command
+to your powershell profile.
+
+
+```
+hugo completion powershell [flags]
+```
+
+### Options
+
+```
+ -h, --help help for powershell
+ --no-descriptions disable completion descriptions
+```
+
+### Options inherited from parent commands
+
+```
+ --config string config file (default is path/config.yaml|json|toml)
+ --configDir string config dir (default "config")
+ --debug debug output
+ -e, --environment string build environment
+ --ignoreVendor ignores any _vendor directory
+ --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern
+ --log enable Logging
+ --logFile string log File path (if set, logging enabled automatically)
+ --quiet build in quiet mode
+ -s, --source string filesystem path to read files relative from
+ --themesDir string filesystem path to themes directory
+ -v, --verbose verbose output
+ --verboseLog verbose logging
+```
+
+### SEE ALSO
+
+* [hugo completion](/commands/hugo_completion/) - generate the autocompletion script for the specified shell
+
--- /dev/null
+---
+title: "hugo completion zsh"
+slug: hugo_completion_zsh
+url: /commands/hugo_completion_zsh/
+---
+## hugo completion zsh
+
+generate the autocompletion script for zsh
+
+### Synopsis
+
+
+Generate the autocompletion script for the zsh shell.
+
+If shell completion is not already enabled in your environment you will need
+to enable it. You can execute the following once:
+
+$ echo "autoload -U compinit; compinit" >> ~/.zshrc
+
+To load completions for every new session, execute once:
+# Linux:
+$ hugo completion zsh > "${fpath[1]}/_hugo"
+# macOS:
+$ hugo completion zsh > /usr/local/share/zsh/site-functions/_hugo
+
+You will need to start a new shell for this setup to take effect.
+
+
+```
+hugo completion zsh [flags]
+```
+
+### Options
+
+```
+ -h, --help help for zsh
+ --no-descriptions disable completion descriptions
+```
+
+### Options inherited from parent commands
+
+```
+ --config string config file (default is path/config.yaml|json|toml)
+ --configDir string config dir (default "config")
+ --debug debug output
+ -e, --environment string build environment
+ --ignoreVendor ignores any _vendor directory
+ --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern
+ --log enable Logging
+ --logFile string log File path (if set, logging enabled automatically)
+ --quiet build in quiet mode
+ -s, --source string filesystem path to read files relative from
+ --themesDir string filesystem path to themes directory
+ -v, --verbose verbose output
+ --verboseLog verbose logging
+```
+
+### SEE ALSO
+
+* [hugo completion](/commands/hugo_completion/) - generate the autocompletion script for the specified shell
+
{{ template "_internal/disqus.html" . }}
```
-## Comments Alternatives
+## Alternatives
-There are a few alternatives to commenting on static sites for those who do not want to use Disqus:
+These are some alternatives to Disqus:
-* [Staticman](https://staticman.net/)
-* [Talkyard](https://www.talkyard.io/blog-comments) (Open source, & serverless hosting)
+* [Cactus Comments](https://cactus.chat/docs/integrations/hugo/) (Open Source, Matrix appservice, Docker install)
+* [Commento](https://commento.io/) (Open Source, available as a service, local install, or docker image)
+* [Graph Comment](https://graphcomment.com/)
+* [Hyvor Talk](https://talk.hyvor.com/) (Available as a service)
* [IntenseDebate](https://intensedebate.com/)
-* [Graph Comment][]
+* [Isso](https://posativ.org/isso/) (Self-hosted, Python) ([tutorial][issotutorial])
* [Muut](https://muut.com/)
-* [Isso](https://posativ.org/isso/) (Self-hosted, Python)
- * [Tutorial on Implementing Isso with Hugo][issotutorial]
+* [Remark42](https://remark42.com/) (Open source, Golang, Easy to run docker)
+* [Staticman](https://staticman.net/)
+* [Talkyard](https://www.talkyard.io/blog-comments) (Open source, & serverless hosting)
* [Utterances](https://utteranc.es/) (Open source, GitHub comments widget built on GitHub issues)
-* [Remark](https://github.com/umputun/remark) (Open source, Golang, Easy to run docker)
-* [Commento](https://commento.io/) (Open Source, available as a service, local install, or docker image)
-* [Hyvor Talk](https://talk.hyvor.com/) (Available as a service)
-
[configuration]: /getting-started/configuration/
[disquspartial]: /templates/partials/#disqus
[disqussetup]: https://disqus.com/profile/signup/
[forum]: https://discourse.gohugo.io
[front matter]: /content-management/front-matter/
-[Graph Comment]: https://graphcomment.com/
[kaijuissue]: https://github.com/spf13/kaiju/issues/new
[issotutorial]: https://stiobhart.net/2017-02-24-isso-comments/
[partials]: /templates/partials/
[mmark]: https://github.com/mmarkdown/mmark
[org]: https://orgmode.org/
[pandoc]: https://www.pandoc.org/
-[Pygments]: https://pygments.org/
[rest]: https://docutils.sourceforge.io/rst.html
[sc]: /content-management/shortcodes/
[sct]: /templates/shortcode-templates/
: A [Glob](https://github.com/gobwas/glob) pattern matching the content path below /content. Expects Unix-styled slashes. Note that this is the virtual path, so it starts at the mount root. The matching support double-asterisks so you can match for patterns like `/blog/*/**` to match anything from the third level and down.
kind
-: A Glob pattern matching the Page's Kind(s), e.g. "{home,section}".
+: The Page's Kind, e.g. "section".
lang
: A Glob pattern matching the Page's language, e.g. "{en,sv}".
title: Shortcodes
linktitle:
description: Shortcodes are simple snippets inside your content files calling built-in or custom templates.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2019-11-07
[Instagram]: https://www.instagram.com/
[pagevariables]: /variables/page/
[partials]: /templates/partials/
-[Pygments]: https://pygments.org/
[quickstart]: /getting-started/quick-start/
[sctemps]: /templates/shortcode-templates/
[scvars]: /variables/shortcodes/
## Generate Syntax Highlighter CSS
-If you run with `pygmentsUseClasses=true` in your site config, you need a style sheet.
+If you run with `markup.highlight.noClasses=false` in your site config, you need a style sheet.
You can generate one with Hugo:
pick 3502f2e Refactoring and typo fixes
```
-In the case above we should merge the last to commits in the commit of this tutorial (`Add "How to contribute to Hugo" tutorial`). You can "squash" commits, i.e. merge two or more commits into a single one.
+In the case above we should merge the last two commits in the commit of this tutorial (`Add "How to contribute to Hugo" tutorial`). You can "squash" commits, i.e. merge two or more commits into a single one.
All operations are written before the commit message. Replace "pick" with an operation. In this case `squash` or `s` for short:
---
title: .GetPage
description: "Gets a `Page` of a given `path`."
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: .RenderString
description: "Renders markup to HTML."
-godocref:
date: 2019-12-18
categories: [functions]
menu:
title: Functions Quick Reference
linktitle: Functions Quick Reference
description: Comprehensive list of Hugo templating functions, including basic and advanced usage examples.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: absLangURL
description: Adds the absolute URL with correct language prefix according to site configuration for multilingual.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: absURL
description: Creates an absolute URL based on the configured baseURL.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: .AddDate
description: Returns the time corresponding to adding the given number of years, months, and days passed to the function.
-godocref: https://golang.org/pkg/time/#Time.AddDate
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: after
description: "`after` slices an array to only the items after the <em>N</em>th item."
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: apply
description: Given a map, array, or slice, `apply` returns a new slice with a function applied over it.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: base64
description: "`base64Encode` and `base64Decode` let you easily decode content with a base64 encoding and vice versa through pipes."
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: chomp
+toc: true
description: Removes any trailing newline characters.
-godocref: Removes any trailing newline characters.
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: countrunes
description: Determines the number of runes in a string excluding any whitespace.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: countwords
description: Counts the number of words in a string.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: time.Format
description: Converts a date/time to a localized string.
-godocref: https://golang.org/pkg/time/
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
{{ time.Format "Monday, Jan 2, 2006" "2015-01-21" }} → "Wednesday, Jan 21, 2015"
```
-Note that since Hugo 0.87.0, `time.Format` will return a localized string for the currrent language. {{< new-in "0.87.0" >}}
+Note that since Hugo 0.87.0, `time.Format` will return a localized string for the current language. {{< new-in "0.87.0" >}}
The `LAYOUT` string can be either:
{{< new-in "0.87.0" >}}
-Go's date layout strings can be hard to reason about, especially with multiple languages. Since Hugo 0.87.0 you can alternatively use some predefined layout idenfifiers that will output localized dates or times:
+Go's date layout strings can be hard to reason about, especially with multiple languages. Since Hugo 0.87.0 you can alternatively use some predefined layout identifiers that will output localized dates or times:
```go-html-template
{{ .Date | time.Format ":date_long" }}
title: default
description: Allows setting a default value that can be returned if a first value is not set.
qref: "Returns a default value if a value is not set when checked."
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: delimit
description: Loops through any array, slice, or map and returns a string of all the values separated by a delimiter.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: dict
description: Creates a dictionary from a list of key and value pairs.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-26
---
title: echoParam
description: Prints a parameter if it is set.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: emojify
description: Runs a string through the Emoji emoticons processor.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: eq
linktitle: eq
description: Returns the boolean truth of arg1 == arg2.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
linktitle: "fileExists"
date: 2017-08-31T22:38:22+02:00
description: Checks whether a file exists under the given path.
-godocref:
publishdate: 2017-08-31T22:38:22+02:00
lastmod: 2017-08-31T22:38:22+02:00
categories: [functions]
{{- end }}
```
-In the example above, a banner from the `static` folder should be shown if the given path points to an existing file.
\ No newline at end of file
+In the example above, a banner from the `static` folder should be shown if the given path points to an existing file.
---
title: findRE
description: Returns a list of strings that match the regular expression.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: first
linktitle: first
description: "Slices an array to only the first _N_ elements."
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: float
linktitle: float
description: Creates a `float` from the argument passed into the function.
-godocref:
date: 2017-09-28
publishdate: 2017-09-28
lastmod: 2017-09-28
---
title: .Format
description: Formats built-in Hugo dates---`.Date`, `.PublishDate`, and `.Lastmod`---according to Go's layout string.
-godocref: https://golang.org/pkg/time/#example_Time_Format
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: ge
linktitle: ge
description: Returns the boolean truth of arg1 >= arg2.
-godocref:
date: 2017-07-26
publishdate: 2017-07-26
lastmod: 2017-07-26
---
title: .Get
description: Accesses positional and ordered parameters in shortcode declaration.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
```
[sc]: /templates/shortcode-templates/
-
-
-
-
---
title: getenv
description: Returns the value of an environment variable.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: gt
linktitle: gt
description: Returns the boolean truth of arg1 > arg2.
-godocref:
date: 2017-07-26
publishdate: 2017-07-26
lastmod: 2017-07-26
title: hasprefix
linktitle: hasPrefix
description: Tests whether a string begins with prefix.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: .HasChildren
description:
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: .HasMenuCurrent
description:
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: highlight
linktitle: highlight
description: Takes a string of code and language declaration and uses Chroma to return syntax-highlighted HTML.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
[highlight]: /content-management/shortcodes/#highlight
-[installpygments]: /getting-started/installing/#installing-pygments-optional
-[syntax]: /content-management/syntax-highlighting/
title: hmac
linktitle: hmac
description: Compute the cryptographic checksum of a message.
-godocref:
date: 2020-05-29
publishdate: 2020-05-29
lastmod: 2020-05-29
title: htmlEscape
linktitle:
description: Returns the given string with the reserved HTML codes escaped.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: htmlUnescape
linktitle: htmlUnescape
description: Returns the given string with HTML escape codes un-escaped.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: hugo
linktitle: hugo
description: The `hugo` function provides easy access to Hugo-related data.
-godocref:
date: 2019-01-31
publishdate: 2019-01-31
lastmod: 2019-01-31
{{% note "Use the Hugo Generator Tag" %}}
We highly recommend using `hugo.Generator` in your website's `<head>`. `hugo.Generator` is included by default in all themes hosted on [themes.gohugo.io](https://themes.gohugo.io). The generator tag allows the Hugo team to track the usage and popularity of Hugo.
{{% /note %}}
-
title: humanize
linktitle:
description: Returns the humanized version of an argument with the first letter capitalized.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: i18n
linktitle: i18n
description: Translates a piece of content based on your i18n configuration files.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: Image Functions
description: The images namespace provides a list of filters and other image related functions.
-godocref:
date: 2017-02-01
categories: [functions]
aliases: [/functions/imageconfig/]
title: in
linktitle:
description: Checks if an element is in an array or slice--or a substring in a string---and returns a boolean.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: index
linktitle: index
description: Looks up the index(es) or key(s) of the data structure passed into it.
-godocref: https://golang.org/pkg/text/template/#hdr-Functions
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
{{ index $map "c" "e" }} => 20
```
+You may write multiple indices as a slice:
+
+```go-text-template
+{{ $map := dict "a" 100 "b" 200 "c" (dict "d" 10 "e" 20) }}
+{{ $slice := slice "c" "e" }}
+{{ index $map $slice }} => 20
+```
+
## Example: Load Data from a Path Based on Front Matter Params
Assume you want to add a `location = ""` field to your front matter for every article written in `content/vacations/`. You want to use this field to populate information about the location at the bottom of the article in your `single.html` template. You also have a directory in `data/locations/` that looks like the following:
title: int
linktitle: int
description: Creates an `int` from the argument passed into the function.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: intersect
linktitle: intersect
description: Returns the common elements of two arrays or slices, in the same order as the first array.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: .IsMenuCurrent
description:
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: isset
linktitle: isset
description: Returns true if the parameter is set.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
All site-level configuration keys are stored as lower case. Therefore, a `myParam` key-value set in your [site configuration file](/getting-started/configuration/) needs to be accessed with `{{if isset .Site.Params "myparam"}}` and *not* with `{{if isset .Site.Params "myParam"}}`. Note that you can still access the same config key with `.Site.Params.myParam` *or* `.Site.Params.myparam`, for example, when using [`with`](/functions/with).
This restriction also applies when accessing page-level front matter keys from within [shortcodes](/content-management/shortcodes/).
{{% /warning %}}
-
title: jsonify
linktitle: jsonify
description: Encodes a given object to JSON.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2020-04-13
---
title: lang.Merge
description: "Merge missing translations from other languages."
-godocref: ""
date: 2018-03-16
categories: [functions]
keywords: [multilingual]
menu:
docs:
parent: "functions"
-toc: false
signature: ["lang.NumFmt PRECISION NUMBER [OPTIONS [DELIMITER]]"]
aliases: ['/functions/numfmt/']
type: 'template-func'
----
-
-The default options value is `- . ,`. The default delimiter within the options
-value is a space. If you need to use a space as one of the options, set a
-custom delimiter.s
-Numbers greater than or equal to 5 are rounded up. For example, if precision is set to `0`, `1.5` becomes `2`, and `1.4` becomes `1`.
+---
-```
-{{ lang.NumFmt 2 12345.6789 }} → 12,345.68
-{{ lang.NumFmt 2 12345.6789 "- , ." }} → 12.345,68
-{{ lang.NumFmt 0 -12345.6789 "- . ," }} → -12,346
-{{ lang.NumFmt 6 -12345.6789 "- ." }} → -12345.678900
-{{ lang.NumFmt 6 -12345.6789 "-|.| " "|" }} → -1 2345.678900
-{{ -98765.4321 | lang.NumFmt 2 }} → -98,765.43
-```
title: last
linktitle: last
description: "slices an array to only the last <em>N</em>th elements."
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: le
linktitle: le
description: Returns the boolean truth of arg1 <= arg2.
-godocref:
date: 2017-07-26
publishdate: 2017-07-26
lastmod: 2017-07-26
title: len
linktitle: len
description: Returns the length of a variable according to its type.
-godocref: https://golang.org/pkg/builtin/#len
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-04-18
title: lower
linktitle: lower
description: Converts all characters in the provided string to lowercase.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: lt
linktitle: lt
description: Returns the boolean truth of arg1 < arg2.
-godocref:
date: 2017-07-26
publishdate: 2017-07-26
lastmod: 2017-07-26
title: markdownify
linktitle: markdownify
description: Runs the provided string through the Markdown processor.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
*Note*: if you need [Render Hooks][], which `markdownify` doesn't currently
support, use [.RenderString](/functions/renderstring/) instead.
-[Render Hooks]: /getting-started/configuration-markup/#markdown-render-hooks
\ No newline at end of file
+[Render Hooks]: /getting-started/configuration-markup/#markdown-render-hooks
---
title: Math
description: Hugo provides mathematical operators in templates.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2020-02-23
title: md5
linktitle: md5
description: hashes the given input and returns its MD5 checksum.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: ne
linktitle: ne
description: Returns the boolean truth of arg1 != arg2.
-godocref:
date: 2017-07-26
publishdate: 2017-07-26
lastmod: 2017-07-26
title: now
linktitle: now
description: Returns the current local time
-godocref: https://godoc.org/time#Time
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-04-30
---
title: os.Stat
description: Gets a file information of a given path.
-godocref:
date: 2018-08-07
publishdate: 2018-08-07
lastmod: 2018-08-07
---
title: .Param
description: Calls page or site variables into your template.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-04-30
title: partialCached
linktitle: partialCached
description: Allows for caching of partials that do not need to be re-rendered on every invocation.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: path.Base
description: Base returns the last element of a path.
-godocref:
date: 2018-11-28
publishdate: 2018-11-28
lastmod: 2018-11-28
---
title: path.Dir
description: Dir returns all but the last element of a path.
-godocref:
date: 2018-11-28
publishdate: 2018-11-28
lastmod: 2018-11-28
---
title: path.Ext
description: Ext returns the file name extension of a path.
-godocref:
date: 2018-11-28
publishdate: 2018-11-28
lastmod: 2018-11-28
---
title: path.Join
description: Join path elements into a single path.
-godocref:
date: 2018-11-28
publishdate: 2018-11-28
lastmod: 2018-11-28
---
title: path.Split
description: Split path immediately following the final slash.
-godocref:
date: 2018-11-28
publishdate: 2018-11-28
lastmod: 2018-11-28
title: plainify
linktitle: plainify
description: Strips any HTML and returns the plain text version of the provided string.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-04-30
title: pluralize
linktitle: pluralize
description: Pluralizes the given word according to a set of common English pluralization rules
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
```
{{ "cat" | pluralize }} → "cats"
```
-
title: print
linktitle: print
description: Prints the default representation of the given arguments using the standard `fmt.Print` function.
-godocref: https://golang.org/pkg/fmt/
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: printf
linktitle: printf
description: Formats a string using the standard `fmt.Sprintf` function.
-godocref: https://golang.org/pkg/fmt/
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: println
linktitle: println
description: Prints the default representation of the given argument using the standard `fmt.Print` function and enforces a linebreak.
-godocref: https://golang.org/pkg/fmt/
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
docs:
parent: "functions"
keywords: [urls]
-godocref:
signature: ["querify KEY VALUE [KEY VALUE]...", "querify COLLECTION"]
hugoversion:
deprecated: false
title: range
linktitle:
description: Iterates over a map, array, or slice.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: readDir
description: Gets a directory listing from a directory relative to the current working directory.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
For more information on using `readDir` and `readFile` in your templates, see [Local File Templates][local].
[local]: /templates/files/
-
---
title: readFile
description: Reads a file from disk relative to the current project working directory and returns a string.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-04-30
title: ref
linktitle: ref
description: Returns the absolute permalink to a page.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2020-09-05
---
title: reflect.IsMap
description: Reports if a value is a map.
-godocref:
date: 2018-11-28
publishdate: 2018-11-28
lastmod: 2018-11-28
---
title: reflect.IsSlice
description: Reports if a value is a slice.
-godocref:
date: 2018-11-28
publishdate: 2018-11-28
lastmod: 2018-11-28
---
title: relLangURL
description: Adds the relative URL with correct language prefix according to site configuration for multilingual.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: relref
linktitle: relref
description: Returns the relative permalink to a page.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2020-09-05
---
title: relURL
description: Creates a baseURL-relative URL.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: .Render
description: Takes a view to apply when rendering content.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: replace
description: Replaces all occurrences of the search string with the replacement string.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2020-09-07
{{ replace "aabbaabb" "a" "z" 2 }} → "zzbbaabb"
```
-
---
title: replaceRE
description: Replaces all occurrences of a regular expression with the replacement pattern.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2020-09-07
---
title: safeCSS
description: Declares the provided string as a known "safe" CSS string.
-godocref: https://golang.org/src/html/template/content.go?s=919:929#L15
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-26
{{% note "ZgotmplZ" %}}
"ZgotmplZ" is a special value that indicates that unsafe content reached a CSS or URL context.
{{% /note %}}
-
title: safeHTML
# linktitle:
description: Declares a provided string as a "safe" HTML document to avoid escaping by Go templates.
-godocref: https://golang.org/src/html/template/content.go?s=1374:1385#L25
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: safeHTMLAttr
# linktitle: safeHTMLAttr
description: Declares the provided string as a safe HTML attribute.
-godocref: https://golang.org/src/html/template/content.go?s=1661:1676#L33
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
* <span class="bad">`<a href="{{ .URL }}">` → `<a href="#ZgotmplZ">`</span>
* <span class="good">`<a {{ printf "href=%q" .URL | safeHTMLAttr }}>` → `<a href="irc://irc.freenode.net/#golang">`</span>
-
title: safeJS
# linktitle:
description: Declares the provided string as a known safe JavaScript string.
-godocref: https://golang.org/src/html/template/content.go?s=2548:2557#L51
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
* <span class="good">`<script>var form_{{ .Params.hash | safeJS }};…</script>` → `<script>var form_619c16f;…</script>`</span>
* <span class="bad">`<script>var form_{{ .Params.hash }};…</script>` → `<script>var form_"619c16f";…</script>`</span>
-
---
title: safeURL
description: Declares the provided string as a safe URL or URL substring.
-godocref: https://golang.org/pkg/html/template/#HTMLEscape
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: .Scratch
description: Acts as a "scratchpad" to store and manipulate data.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
#### The local `newScratch`
-{{< new-in "0.43.0" >}} A Scratch instance can also be assigned to any variable using the `newScratch` function. In this case, no Page or Shortcode context is required and the scope of the scratch is only local. The methods detailed below are available from the variable the Scratch instance was assigned to.
+{{< new-in "0.43" >}} A Scratch instance can also be assigned to any variable using the `newScratch` function. In this case, no Page or Shortcode context is required and the scope of the scratch is only local. The methods detailed below are available from the variable the Scratch instance was assigned to.
```go-html-template
{{ $data := newScratch }}
#### .Delete
-{{< new-in "0.38.0" >}} Remove the given key.
+{{< new-in "0.38" >}} Remove the given key.
```go-html-template
{{ $scratch.Set "greeting" "Hello" }}
title: seq
# linktitle:
description: Creates a sequence of integers.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: sha
# linktitle: sha
description: Hashes the given input and returns either an SHA1 or SHA256 checksum.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: shuffle
# linktitle:
description: Returns a random permutation of a given array or slice.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-04-30
title: singularize
# linktitle: singularize
description: Converts a word according to a set of common English singularization rules.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
`{{ "cats" | singularize }}` → "cat"
See also the `.Data.Singular` [taxonomy variable](/variables/taxonomy/) for singularizing taxonomy names.
-
title: site
linktitle: site
description: The `site` function provides global access to the same data as the `.Site` page method.
-godocref:
date: 2021-02-11
publishdate: 2021-02-11
lastmod: 2021-02-11
---
`site` is a global function which returns the same data as the `.Site` page method. See: [Site Variables]({{< relref "/variables/site" >}}).
-
-
title: slice
# linktitle: slice
description: Creates a slice (array) of all passed arguments.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: slicestr
# linktitle:
description: Creates a slice of a half-open range, including start and end indices.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
* `{{slicestr "BatMan" 3}}` → "Man"
* `{{slicestr "BatMan" 0 3}}` → "Bat"
-
title: sort
# linktitle: sort
description: Sorts maps, arrays, and slices and returns a sorted slice.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
→ Outputs Authors: Perkins Linsley Bergevin
```
-
title: split
# linktitle: split
description: splits a string into substrings separated by a delimiter
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
* `{{split "tag1,tag2,tag3" "," }}` → ["tag1" "tag2" "tag3"]
-
-
title: string
# linktitle: string
description: Creates a string from the argument passed to the function
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
* `{{string "BatMan"}}` → "BatMan"
-
---
title: strings.Count
description: Returns the number of non-overlapping instances of a substring within a string.
-godocref:
date: 2020-09-07
publishdate: 2020-09-07
lastmod: 2020-09-07
---
title: strings.HasSuffix
description: Determine whether or not a given string ends with the provided trailing suffix string.
-godocref:
date: 2019-08-13
publishdate: 2019-08-13
lastmod: 2019-08-13
title: strings.Repeat
# linktitle:
description: Returns INPUT repeated COUNT times.
-godocref:
date: 2018-05-31
publishdate: 2018-05-31
lastmod: 2018-05-31
---
title: strings.RuneCount
description: Determines the number of runes in a string.
-godocref:
date: 2018-06-01
publishdate: 2018-06-01
lastmod: 2018-06-01
<!-- outputs a content length of 9 runes. -->
```
-[`utf8.RuneCount`]: https://golang.org/pkg/unicode/utf8/#RuneCount
\ No newline at end of file
+[`utf8.RuneCount`]: https://golang.org/pkg/unicode/utf8/#RuneCount
---
title: strings.TrimLeft
description: Returns a slice of a given string with all leading characters contained in the cutset removed.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
---
title: strings.TrimPrefix
description: Returns a given string s without the provided leading prefix string. If s doesn't start with prefix, s is returned unchanged.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
{{ strings.TrimPrefix "a" "aabbaa" }} → "abbaa"
{{ strings.TrimPrefix "aa" "aabbaa" }} → "bbaa"
- {{ strings.TrimPrefix "aaa" "aabbaa" }} → "aabbaa"
\ No newline at end of file
+ {{ strings.TrimPrefix "aaa" "aabbaa" }} → "aabbaa"
---
title: strings.TrimRight
description: Returns a slice of a given string with all trailing characters contained in the cutset removed.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
Numbers can be handled as well:
{{ strings.TrimRight 12 1221341221 }} → "122134"
-
---
title: strings.TrimSuffix
description: Returns a given string s without the provided trailing suffix string. If s doesn't end with suffix, s is returned unchanged.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
{{ strings.TrimSuffix "a" "aabbaa" }} → "aabba"
{{ strings.TrimSuffix "aa" "aabbaa" }} → "aabb"
- {{ strings.TrimSuffix "aaa" "aabbaa" }} → "aabbaa"
\ No newline at end of file
+ {{ strings.TrimSuffix "aaa" "aabbaa" }} → "aabbaa"
title: substr
# linktitle:
description: Extracts parts of a string from a specified character's position and returns the specified number of characters.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: templates.Exists
linktitle: ""
description: "Checks whether a template file exists under the given path relative to the `layouts` directory."
-godocref: ""
date: 2018-11-01
publishdate: 2018-11-01
lastmod: 2018-11-01
title: time
linktitle:
description: Converts a timestamp string into a `time.Time` structure.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: title
# linktitle:
description: Converts all characters in the provided string to title case.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: trim
# linktitle:
description: Returns a slice of a passed string with all leading and trailing characters from cutset removed.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: truncate
# linktitle: truncate
description: Truncates a text to a max length without cutting words or leaving unclosed HTML tags.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: union
# linktitle: union
description: Given two arrays or slices, returns a new array that contains the elements or objects that belong to either or both arrays/slices.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-03-12
title: uniq
linktitle: uniq
description: Takes in a slice or array and returns a slice with subsequent duplicate elements removed.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
{{ slice 1 2 3 2 | uniq }}
<!-- both return [1 2 3] -->
```
-
-
-
-
title: .Unix
draft: false
description: .Unix returns the local Time corresponding to the given Unix time, sec seconds and nsec nanoseconds since January 1, 1970 UTC.
-godocref: https://golang.org/search?q=Unix#Functions
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: upper
# linktitle: upper
description: Converts all characters in a string to uppercase
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
{{ upper "BatMan" }} → "BATMAN"
{{ "BatMan" | upper }} → "BATMAN"
```
-
docs:
parent: "functions"
keywords: [urls,strings]
-godocref:
signature: ["urlize INPUT"]
hugoversion:
deprecated: false
---
title: urls.Parse
description: Parse parses a given url, which may be relative or absolute, into a URL structure.
-godocref: https://godoc.org/net/url#URL
date: 2017-09-25
publishdate: 2017-09-25
lastmod: 2017-09-25
```
{{ $url.Scheme }} → "http"
{{ $url.Host }} → "www.gohugo.io"
-```
\ No newline at end of file
+```
title: where
# linktitle: where
description: Filters an array to only the elements containing a matching value for a given field.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: with
# linktitle: with
description: Rebinds the context (`.`) within its scope and skips the block if the variable is absent or empty.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-03-12
value in parentheses. Users may choose to override those values in their site
config file(s).
-archetypeDir ("archetypes")
-: The directory where Hugo finds archetype files (content templates). {{% module-mounts-note %}}
+### archetypeDir
-assetDir ("assets")
-: The directory where Hugo finds asset files used in [Hugo Pipes](/hugo-pipes/). {{% module-mounts-note %}}
+**Default value:** "archetypes"
-baseURL
-: Hostname (and path) to the root, e.g. https://bep.is/
+The directory where Hugo finds archetype files (content templates). {{% module-mounts-note %}}
-blackfriday
-: See [Configure Blackfriday](/getting-started/configuration-markup#blackfriday)
+### assetDir
-build
-: See [Configure Build](#configure-build)
+**Default value:** "assets"
-buildDrafts (false)
-: Include drafts when building.
+The directory where Hugo finds asset files used in [Hugo Pipes](/hugo-pipes/). {{% module-mounts-note %}}
-buildExpired (false)
-: Include content already expired.
+### baseURL
+Hostname (and path) to the root, e.g. https://bep.is/
-buildFuture (false)
-: Include content with publishdate in the future.
+### blackfriday
+See [Configure Blackfriday](/getting-started/configuration-markup#blackfriday)
-caches
-: See [Configure File Caches](#configure-file-caches)
+### build
+See [Configure Build](#configure-build)
-cascade {{< new-in "0.86.0" >}}
-: Pass down down default configuration values (front matter) to pages in the content tree. The options in site config is the same as in page front matter, see [Front Matter Cascade](/content-management/front-matter#front-matter-cascade).
+### buildDrafts (false)
-canonifyURLs (false)
-: Enable to turn relative URLs into absolute.
+**Default value:** false
-contentDir ("content")
-: The directory from where Hugo reads content files. {{% module-mounts-note %}}
+Include drafts when building.
-dataDir ("data")
-: The directory from where Hugo reads data files. {{% module-mounts-note %}}
+### buildExpired
-defaultContentLanguage ("en")
-: Content without language indicator will default to this language.
+**Default value:** false
-defaultContentLanguageInSubdir (false)
-: Render the default content language in subdir, e.g. `content/en/`. The site root `/` will then redirect to `/en/`.
+Include content already expired.
-disableAliases (false)
-: Will disable generation of alias redirects. Note that even if `disableAliases` is set, the aliases themselves are preserved on the page. The motivation with this is to be able to generate 301 redirects in an `.htaccess`, a Netlify `_redirects` file or similar using a custom output format.
+### buildFuture
-disableHugoGeneratorInject (false)
-: Hugo will, by default, inject a generator meta tag in the HTML head on the _home page only_. You can turn it off, but we would really appreciate if you don't, as this is a good way to watch Hugo's popularity on the rise.
+**Default value:** false
-disableKinds ([])
-: Enable disabling of all pages of the specified *Kinds*. Allowed values in this list: `"page"`, `"home"`, `"section"`, `"taxonomy"`, `"term"`, `"RSS"`, `"sitemap"`, `"robotsTXT"`, `"404"`.
+Include content with publishdate in the future.
-disableLiveReload (false)
-: Disable automatic live reloading of browser window.
+### caches
+See [Configure File Caches](#configure-file-caches)
+
+### cascade
+
+{{< new-in "0.86.0" >}}
+
+Pass down down default configuration values (front matter) to pages in the content tree. The options in site config is the same as in page front matter, see [Front Matter Cascade](/content-management/front-matter#front-matter-cascade).
+
+### canonifyURLs
+
+**Default value:** false
+
+Enable to turn relative URLs into absolute.
+
+### contentDir
+
+**Default value:** "content"
+
+The directory from where Hugo reads content files. {{% module-mounts-note %}}
+
+### dataDir
+
+**Default value:** "data"
+
+The directory from where Hugo reads data files. {{% module-mounts-note %}}
+
+### defaultContentLanguage
+
+**Default value:** "en"
+
+Content without language indicator will default to this language.
+
+### defaultContentLanguageInSubdir
+
+**Default value:** false
+
+Render the default content language in subdir, e.g. `content/en/`. The site root `/` will then redirect to `/en/`.
+
+### disableAliases
+
+**Default value:** false
+
+Will disable generation of alias redirects. Note that even if `disableAliases` is set, the aliases themselves are preserved on the page. The motivation with this is to be able to generate 301 redirects in an `.htaccess`, a Netlify `_redirects` file or similar using a custom output format.
+
+### disableHugoGeneratorInject
+
+**Default value:** false
+
+Hugo will, by default, inject a generator meta tag in the HTML head on the _home page only_. You can turn it off, but we would really appreciate if you don't, as this is a good way to watch Hugo's popularity on the rise.
+
+### disableKinds
+
+**Default value:** []
+
+Enable disabling of all pages of the specified *Kinds*. Allowed values in this list: `"page"`, `"home"`, `"section"`, `"taxonomy"`, `"term"`, `"RSS"`, `"sitemap"`, `"robotsTXT"`, `"404"`.
+
+### disableLiveReload
+
+**Default value:** false
+
+Disable automatic live reloading of browser window.
+
+### disablePathToLower
+
+**Default value:** false
-disablePathToLower (false)
: Do not convert the url/path to lowercase.
-enableEmoji (false)
-: Enable Emoji emoticons support for page content; see the [Emoji Cheat Sheet](https://www.webpagefx.com/tools/emoji-cheat-sheet/).
+### enableEmoji
+
+**Default value:** false
-enableGitInfo (false)
-: Enable `.GitInfo` object for each page (if the Hugo site is versioned by Git). This will then update the `Lastmod` parameter for each page using the last git commit date for that content file.
+Enable Emoji emoticons support for page content; see the [Emoji Cheat Sheet](https://www.webpagefx.com/tools/emoji-cheat-sheet/).
-enableInlineShortcodes (false)
-: Enable inline shortcode support. See [Inline Shortcodes](/templates/shortcode-templates/#inline-shortcodes).
+### enableGitInfo
-enableMissingTranslationPlaceholders (false)
-: Show a placeholder instead of the default value or an empty string if a translation is missing.
+**Default value:** false
-enableRobotsTXT (false)
-: Enable generation of `robots.txt` file.
+Enable `.GitInfo` object for each page (if the Hugo site is versioned by Git). This will then update the `Lastmod` parameter for each page using the last git commit date for that content file.
-frontmatter
+### enableInlineShortcodes
-: See [Front matter Configuration](#configure-front-matter).
+**Default value:** false
-footnoteAnchorPrefix ("")
-: Prefix for footnote anchors.
+Enable inline shortcode support. See [Inline Shortcodes](/templates/shortcode-templates/#inline-shortcodes).
-footnoteReturnLinkContents ("")
-: Text to display for footnote return links.
+### enableMissingTranslationPlaceholders
-googleAnalytics ("")
-: Google Analytics tracking ID.
+**Default value:** false
-hasCJKLanguage (false)
-: If true, auto-detect Chinese/Japanese/Korean Languages in the content. This will make `.Summary` and `.WordCount` behave correctly for CJK languages.
+Show a placeholder instead of the default value or an empty string if a translation is missing.
-imaging
-: See [Image Processing Config](/content-management/image-processing/#image-processing-config).
+### enableRobotsTXT
-languages
-: See [Configure Languages](/content-management/multilingual/#configure-languages).
+**Default value:** false
-languageCode ("")
-: The site's language code. It is used in the default [RSS template](/templates/rss/#configure-rss) and can be useful for [multi-lingual sites](/content-management/multilingual/#configure-multilingual-multihost).
+Enable generation of `robots.txt` file.
-languageName ("")
-: The site's language name.
+### frontmatter
-disableLanguages
-: See [Disable a Language](/content-management/multilingual/#disable-a-language)
+See [Front matter Configuration](#configure-front-matter).
-layoutDir ("layouts")
-: The directory from where Hugo reads layouts (templates).
+### footnoteAnchorPrefix
-log (false)
-: Enable logging.
+**Default value:** ""
-logFile ("")
-: Log File path (if set, logging enabled automatically).
+Prefix for footnote anchors.
-markup
-: See [Configure Markup](/getting-started/configuration-markup).{{< new-in "0.60.0" >}}
+### footnoteReturnLinkContents
-mediaTypes
+**Default value:** ""
+
+Text to display for footnote return links.
+
+### googleAnalytics
+
+**Default value:** ""
+
+Google Analytics tracking ID.
+
+### hasCJKLanguage
+
+**Default value:** false
+
+If true, auto-detect Chinese/Japanese/Korean Languages in the content. This will make `.Summary` and `.WordCount` behave correctly for CJK languages.
+
+### imaging
+See [Image Processing Config](/content-management/image-processing/#image-processing-config).
+
+### languages
+See [Configure Languages](/content-management/multilingual/#configure-languages).
+
+### disableLanguages
+
+See [Disable a Language](/content-management/multilingual/#disable-a-language)
+
+### markup
+See [Configure Markup](/getting-started/configuration-markup).{{< new-in "0.60.0" >}}
+
+### mediaTypes
See [Configure Media Types](/templates/output-formats/#media-types).
-menu
-: See [Add Non-content Entries to a Menu](/content-management/menus/#add-non-content-entries-to-a-menu).
+### menus
+See [Add Non-content Entries to a Menu](/content-management/menus/#add-non-content-entries-to-a-menu).
-minify
-: See [Configure Minify](#configure-minify)
+### minify
+See [Configure Minify](#configure-minify)
-module
-: Module config see [Module Config](/hugo-modules/configuration/).{{< new-in "0.56.0" >}}
+### module
+Module config see [Module Config](/hugo-modules/configuration/).{{< new-in "0.56.0" >}}
-newContentEditor ("")
-: The editor to use when creating new content.
+### newContentEditor
+The editor to use when creating new content.
-noChmod (false)
-: Don't sync permission mode of files.
+### noChmod
+Don't sync permission mode of files.
-noTimes (false)
-: Don't sync modification time of files.
+### noTimes
+Don't sync modification time of files.
-outputFormats
+### outputFormats
See [Configure Output Formats](#configure-additional-output-formats).
-paginate (10)
-: Default number of elements per page in [pagination](/templates/pagination/).
+### paginate
+
+**Default value:** 10
+
+Default number of elements per page in [pagination](/templates/pagination/).
+
+### paginatePath
-paginatePath ("page")
-: The path element used during pagination (https://example.com/page/2).
+**Default value:** "page"
-permalinks
-: See [Content Management](/content-management/urls/#permalinks).
+The path element used during pagination (`https://example.com/page/2`).
-pluralizeListTitles (true)
-: Pluralize titles in lists.
+### permalinks
+See [Content Management](/content-management/urls/#permalinks).
-publishDir ("public")
-: The directory to where Hugo will write the final static site (the HTML files etc.).
+### pluralizeListTitles
-related
+**Default value:** true
+
+Pluralize titles in lists.
+
+### publishDir
+
+**Default value:** "public"
+
+The directory to where Hugo will write the final static site (the HTML files etc.).
+
+### related
: See [Related Content](/content-management/related/#configure-related-content).{{< new-in "0.27" >}}
-relativeURLs (false)
-: Enable this to make all relative URLs relative to content root. Note that this does not affect absolute URLs.
+### relativeURLs
+Enable this to make all relative URLs relative to content root. Note that this does not affect absolute URLs.
+
+### refLinksErrorLevel
+
+**Default value:** "ERROR"
+
+When using `ref` or `relref` to resolve page links and a link cannot resolved, it will be logged with this log level. Valid values are `ERROR` (default) or `WARNING`. Any `ERROR` will fail the build (`exit -1`).
+
+### refLinksNotFoundURL
+URL to be used as a placeholder when a page reference cannot be found in `ref` or `relref`. Is used as-is.
+
+### rssLimit
+
+Maximum number of items in the RSS feed.
+
+### sectionPagesMenu
+See ["Section Menu for Lazy Bloggers"](/templates/menu-templates/#section-menu-for-lazy-bloggers).
+
+### sitemap
+Default [sitemap configuration](/templates/sitemap-template/#configure-sitemapxml).
+
+### summaryLength
+
+**Default value:** 70
+
+The length of text in words to show in a [`.Summary`](/content-management/summaries/#hugo-defined-automatic-summary-splitting).
-refLinksErrorLevel ("ERROR")
-: When using `ref` or `relref` to resolve page links and a link cannot resolved, it will be logged with this logg level. Valid values are `ERROR` (default) or `WARNING`. Any `ERROR` will fail the build (`exit -1`).
+### taxonomies
+See [Configure Taxonomies](/content-management/taxonomies#configure-taxonomies).
-refLinksNotFoundURL
-: URL to be used as a placeholder when a page reference cannot be found in `ref` or `relref`. Is used as-is.
+### theme
+: See [Module Config](/hugo-modules/configuration/#module-config-imports) for how to import a theme.
-rssLimit (unlimited)
-: Maximum number of items in the RSS feed.
+### themesDir
-sectionPagesMenu ("")
-: See ["Section Menu for Lazy Bloggers"](/templates/menu-templates/#section-menu-for-lazy-bloggers).
+**Default value:** "themes"
-sitemap
-: Default [sitemap configuration](/templates/sitemap-template/#configure-sitemapxml).
+The directory where Hugo reads the themes from.
-staticDir ("static")
-: A directory or a list of directories from where Hugo reads [static files][static-files]. {{% module-mounts-note %}}
+### timeout
-summaryLength (70)
-: The length of text in words to show in a [`.Summary`](/content-management/summaries/#hugo-defined-automatic-summary-splitting).
+**Default value:** 10000
-taxonomies
-: See [Configure Taxonomies](/content-management/taxonomies#configure-taxonomies).
+Timeout for generating page contents, in milliseconds (defaults to 10 seconds). *Note:* this is used to bail out of recursive content generation, if your pages are slow to generate (e.g., because they require large image processing or depend on remote contents) you might need to raise this limit.
-theme ("")
-: Theme to use (located by default in `/themes/THEMENAME/`).
+### timeZone
-themesDir ("themes")
-: The directory where Hugo reads the themes from.
+{{< new-in "0.87.0" >}}
-timeout (10000)
-: Timeout for generating page contents, in milliseconds (defaults to 10 seconds). *Note:* this is used to bail out of recursive content generation, if your pages are slow to generate (e.g., because they require large image processing or depend on remote contents) you might need to raise this limit.
+The time zone (or location), e.g. `Europe/Oslo`, used to parse front matter dates without such information and in the [`time` function](/functions/time/). The list of valid values may be system dependent, but should include `UTC`, `Local`, and any location in the [IANA Time Zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
-timeZone {{< new-in "0.86.0" >}}
-: The time zone (or location), e.g. `Europe/Oslo`, used to parse front matter dates without such information and in the [`time` function](/functions/time/).
+### title
+Site title.
-title ("")
-: Site title.
+### titleCaseStyle
-titleCaseStyle ("AP")
-: See [Configure Title Case](#configure-title-case)
+**Default value:** "AP"
-uglyURLs (false)
-: When enabled, creates URL of the form `/filename.html` instead of `/filename/`.
+See [Configure Title Case](#configure-title-case)
-verbose (false)
-: Enable verbose output.
+### uglyURLs
+When enabled, creates URL of the form `/filename.html` instead of `/filename/`.
-verboseLog (false)
-: Enable verbose logging.
+### watch
-watch (false)
-: Watch filesystem for changes and recreate as needed.
+Watch filesystem for changes and recreate as needed.
{{% note %}}
If you are developing your site on a \*nix machine, here is a handy shortcut for finding a configuration option from the command line:
{{< new-in "0.67.0" >}}
-This is only relevant when running `hugo server`, and it allows to set HTTP headers during development, which allows you to test out your Content Security Policy and similar. The configuration format matches [Netlify's](https://docs.netlify.com/routing/headers/#syntax-for-the-netlify-configuration-file) with slighly more powerful [Glob matching](https://github.com/gobwas/glob):
+This is only relevant when running `hugo server`, and it allows to set HTTP headers during development, which allows you to test out your Content Security Policy and similar. The configuration format matches [Netlify's](https://docs.netlify.com/routing/headers/#syntax-for-the-netlify-configuration-file) with slightly more powerful [Glob matching](https://github.com/gobwas/glob):
{{< code-toggle file="config">}}
[installgo]: https://golang.org/dl/
[linuxbrew]: https://docs.brew.sh/Homebrew-on-Linux
[Path Editor]: https://patheditor2.codeplex.com/
-[pygments]: https://pygments.org
[quickstart]: /getting-started/quick-start/
[redhatforum]: https://discourse.gohugo.io/t/solved-fedora-copr-repository-out-of-service/2491
[releases]: https://github.com/gohugoio/hugo/releases
It is recommended to have [Git installed](https://git-scm.com/downloads) to run this tutorial.
-For other approaches learning Hugo like book or a video tutorial refer to the [external learning resources](/getting-started/external-learning-resources/) page.
+For other approaches to learning Hugo (like books or video tutorials), refer to the [external learning resources](/getting-started/external-learning-resources/) page.
{{% /note %}}
## Step 1: Install Hugo
**Navigate to your new site at [http://localhost:1313/](http://localhost:1313/).**
-Feel free to edit or add new content and simply refresh in browser to see changes quickly (You might need to force refresh in webbrowser, something like Ctrl-R usually works).
+Feel free to edit or add new content and simply refresh in browser to see changes quickly. (You might need to force refresh your web browser, something like Ctrl-R usually works.)
## Step 6: Customize the Theme
LiveReload works by injecting JavaScript into the pages Hugo generates. The script creates a connection from the browser's web socket client to the Hugo web socket server.
-LiveReload is awesome for development. However, some Hugo users may use `hugo server` in production to instantly display updated content. The following methods make it easy to disable LiveReload:
+The following methods make it easy to disable LiveReload:
```
hugo server --watch=false
+++ /dev/null
----
-title: Deployment with Wercker
-linktitle: Deployment with Wercker
-description: You can use a free tool called Wercker to automate deployments between your GitHub-hosted source and final website on GitHub pages.
-date: 2017-02-01
-publishdate: 2017-02-01
-lastmod: 2017-02-01
-categories: [hosting and deployment]
-keywords: [wercker,deployment,github,git]
-authors: [Arjen Schwarz, Samuel Debruyn]
-menu:
- docs:
- parent: "hosting-and-deployment"
- weight: 60
-weight: 60
-sections_weight: 60
-draft: false
-aliases: [/tutorials/automated-deployments/]
-toc: true
-wip: false
-notesforauthors:
----
-
-## Goals
-
-By the end of this guide, you will have completed the following:
-
-* Creating a basic Hugo project and website
-* Version controlling your project with Git
-* Adding your project to GitHub
-* Automating site deployments with a free tool called Wercker
-* Deploying your website to GitHub Pages for free hosting
-
-## Assumptions
-
-1. You have a working familiarity with using Git for version control
-2. You have a GitHub account
-3. You have already created a basic Hugo project
-
-If you do not meet these assumptions, the [GitHub help section][githubhelp] has an explanation of how to install and use git. [Signing up for a GitHub][ghsignup] account is free as well. If you are completely unfamiliar with creating a new Hugo website, visit the [Hugo Quick Start][quickstart].
-
-## Create a Basic Hugo Site
-
-{{% note "This Guide Uses the Hugo CLI" %}}
-All the work for setting up a Hugo project and using this guide is done via the Hugo CLI's most basic commands. See the [command line reference page](/commands/) for a more exhaustive account of the CLI's features.
-{{% /note %}}
-
-First, create your new Hugo website using the [`hugo new site` command][basicusage] and change into the newly created directory for the project. In this guide, we are calling our new project `hugo-wercker-example`:
-
-{{< code file="hugo-new-site.sh" >}}
-hugo new site hugo-wercker-example
-cd hugo-wercker-example
-{{< /code >}}
-
-We will use the [Herring Cove theme][] by first cloning the theme into the `themes` directory.
-
-{{< code file="clone-herring-cove-theme.sh" >}}
-cd themes
-git clone https://github.com/spf13/herring-cove.git
-{{< /code >}}
-
-Cloning the project from the command line will conflict with our own version control. So, we need to remove the external git configuration that came with the clone of Herring Cove:
-
-{{< code file="remove-herring-cove-git.sh" >}}
-rm -rf herring-cove/.git
-{{< /code >}}
-
-We need content for Hugo to build. Let's add a quick `/about` page:
-
-```
-hugo new about.md
-```
-
-{{% note %}}
-The preceding example for the about page leverages archetypes to scaffold a new content file with preconfigured front matter. [Find out more about Hugo's archetypes](/content-management/archetypes/).
-{{% /note %}}
-
-Now you can edit `contents/about.md` in your text editor of choice, but this is not necessary for the purposes of this guide. Running the following command will build your Hugo site into the `public` directory.
-
-Once the website is build, it's a good idea to run the following command to start a local server and ensure you're changes have been implemented:
-
-```
-hugo server --theme=herring-cove
-```
-
-If everything is fine, you should see something similar to the image below when you go to <http://localhost:1313> in your browser.
-
-![][1]
-
-## Set up Version Control in Git
-
-Adding Git to your project is done by running the `git init` command from the root directory of your project.
-
-```
-git init
-```
-
-Running `git status` at this point will show you the following entries: the `config.toml` file, the `themes` directory, the `contents` directory, and the `public` directory. However, we don't want the `public` directory version controlled because Wercker is responsible for generating the finished website later on. Therefore, we'll add a `.gitignore` file to our project that will exclude the `/public` directory from being tracked by Git:
-
-{{< code file="gitignore.sh" >}}
-echo "/public" >> .gitignore
-{{< /code >}}
-
-Wercker might complain when we try to build the site later on because we currently do not have any static files outside of the `themes` directory. We simply have to add *any* file to the static folder to prevent Wercker from complaining. To keep this guide simple, let's add a `robots.txt`. The following command creates the file in `/static`. The contents of the `robots.txt` lets search engines know they have full access to crawl the published website:
-
-{{< code file="addrobotstxt.sh" >}}
-echo "User-agent: *\nDisallow:" > static/robots.txt
-{{< /code >}}
-
-Now we need to add (i.e., [stage [see Git documentation]][gitbasics]) and commit all of our changes in the repository into Git:
-
-```
-git commit -a -m "Initial commit"
-```
-
-## Add the Project to GitHub
-
-Now we need to create a new repository on GitHub. Once you are signed in to GitHub, you can add a new repository by clicking on the **+▼** dropdown at the top right or by going to [https://github.com/new](https://github.com)..
-
-We then choose a name for the project (`hugo-wercker-example`). When clicking on create repository GitHub displays the commands for adding an existing project to the site. The commands shown below are the ones used for this site, if you're following along you will need to use the ones shown by GitHub. Once we've run those commands the project is in GitHub and we can move on to setting up the Wercker configuration. Be sure to replace `YourUserName` with your GitHub account/username:
-
-{{< code file="setup-gh-repo.sh" >}}
-git remote add origin git@github.com:YourUsername/hugo-wercker-example.git
-git push -u origin master
-{{< /code >}}
-
-![][2]
-
-## Set Up Wercker
-
-To sign up for a free Wercker account, go to <https://www.wercker.com> and click the **Sign Up** button on the top right of the home screen.
-
-![][3]
-
-### Register for Wercker with Your GitHub Account
-
-Sign up for Wercker using your GitHub credentials. If you don't have a GitHub account, or don't want to use it for your account, you have the option to register with a username and password as well. However, the second half of this guide---devoted to hosting your website on GitHub pages---will no longer be of interest to you.
-
-![][4]
-
-### Connect GitHub or Bitbucket
-
-After you are registered, you will need to link your GitHub or Bitbucket account to Wercker. You can link your account by navigating to your profile settings and then selecting "Git connections."
-
-![][17]
-
-If you registered for Wercker using GitHub, it will most likely look like the following image. To connect a missing service, click the **Connect** button, which may send you to either GitHub or Bitbucket to sign into your respective account.
-
-![][5]
-
-### Add Your Project
-
-Now that we've got all the preliminaries out of the way, it's time to set up our application. For this we click on the **+ Create** button next to Applications and choose GitHub as our provider.
-
-![][6]
-
-### Select a Repository
-
-When selecting GitHub, Wercker will show all your GitHub repositories. You have the option to filter repositories using the search input at the top of the repositories list. Once you have your repository selected, click the **Use selected repo** button.
-
-![][7]
-
-### Select the Repository Owner
-
-In the next step, Wercker asks you to select the repository owner. Select your GitHub account and continue.
-
-![][8]
-
-### Configure Access
-
-{{% note %}}
-This guide assumes you are using a public GitHub repository and understand that the [published GitHub Pages website will be available to everyone](https://help.github.com/articles/what-is-github-pages/#usage-limits).
-{{%/note %}}
-
-This step can be slightly tricky. Wercker does not have privileges to check out your private projects by default and therefore needs your permission to add a deploy key to your repository. By selecting the first option, you're simply allowing Wercker to check out the code via the same methods available to anyone visiting the project on GitHub.
-
-![][9]
-
-### Wercker.yml
-
-Wercker will now attempt to create an initial `wercker.yml` file for you. More specifically, it will create a code block within the Wercker interface that you can copy to your finished file. Wercker gives us a `debian` box because our project does not have any special requirements.
-
-Now we need to create a *wercker.yml* file in the root of our project. This file will contain our Wercker app's configuration. After we finish setting up our app, we will expand the contents of this file to build and deploy our website.
-
-![][10]
-
-### Public or Private
-
-This is a personal choice. You can make an app public so that everyone can see more details about it. Keeping it private or public does not provide any overt benefits for you as the creator of the app. That said, [the app we are currently creating has been made public][publicappurl] to facilitate easier usage of this hosting and deployment guide.
-
-![][11]
-
-#### App Successfully Created
-
-The application is now added and Wercker will offer you the chance to trigger a build. However, we will decline the offer because we haven't yet pushed our `wercker.yml` file to our GitHub repository.
-
-![][12]
-
-### Add the Hugo-build Step
-
-Now we need to add the Wercker steps to our build process. First, we go to the "Registry" action in the top menu. When in the registry, we can search for "hugo build". Select the "Hugo-Build by **arjen**" step.
-
-![][13]
-
-### Use the Hugo-build Step
-
-A summary of very basic usage is available at the top of the details for the Hugo-Build step. Below the basic usage is the contents of the `README.md` file associated with the step's repository. `README.md`'s on Wercker usually contain more details about the advanced options and examples of usage.
-
-We're not going to use any of the advanced features of Hugo-Build in this guide. Let's return to our project and add the first section of details we need to our `wercker.yml`.
-
-{{% warning "Hugo Version in `wercker.yml`" %}}
-The docs are a work in progress. As such, the `version` represented in this guide may not represent the version you've been using for local development. Be sure to use the appropriate Hugo version for your build step.
-{{% /warning %}}
-
-{{< code file="wercker-build-step.yml" >}}
-box: debian
-build:
- steps:
- - arjen/hugo-build:
- version: "0.17"
- theme: herring-cove
- flags: --buildDrafts=true
-{{< /code >}}
-
-We can conclude this first step by pushing our `wercker.yml` to our GitHub repository and then seeing the magic at work within Wercker's interface.
-
-{{< code file="push-wecker-to-gh.sh" >}}
-git commit -a -m "Add wercker.yml"
-git push origin master
-{{< /code >}}
-
-If completed and successful, a green check mark should appear in the commit column of your first build. However, this is only the build step. We still need to deploy the website to our free hosting on GitHub Pages. If you would like more details about the build, you can click the commit hash.
-
-![][14]
-
-### Add a GitHub Pages Deploy Step to `wercker.yml`
-
-In order to deploy to GitHub Pages, we need to add a deploy step to our `wercker.yml`. We are going to add `lukevevier/gh-pages`, the most popular GitHub Pages step in the Wercker Steps repository. Additionally, we need to ensure the box Wercker uses for our deployments has git and ssh installed. We can do this using the `install-packages` command. Here is our *final* `wercker.yml` file:
-
-{{< code file="wercker.yml" >}}
-box: debian
-build:
- steps:
- - arjen/hugo-build:
- version: "0.17"
- theme: herring-cove
- flags: --buildDrafts=true
-deploy:
- steps:
- - install-packages:
- packages: git ssh-client
- - lukevivier/gh-pages@0.2.1:
- token: $GIT_TOKEN
- domain: hugo-wercker.ig.nore.me
- basedir: public
-{{< /code >}}
-
-### How does the GitHub Pages Configuration Work?
-
-We've provided a some important information in our `wercker.yml`. First, we've added the domain we want to use for our published website. Configuring the domain here will ensure that GitHub Pages is aware of the domain we want to use.
-
-Secondly, we've configured the `basedir` to `public`. This is the directory that will be used as the website on GitHub Pages. `public` is also the default publishing directory in Hugo. (For more information, see [hugo's configuration docs][hugoconfig]).
-
-Lastly, you'll notice a `$GIT_TOKEN` variable. This is used for pushing our changes to GitHub. We will need to configure this token before Wercker can build our website.
-
-### Set the App's Deploy Target
-
-We can set our deploy target by going to our app's settings and clicking on **Deploy targets**. Now select **Add deploy target** and then **Custom deploy**.
-
-![][15]
-
-### Configure the Deploy Step in Wercker
-
-The next screen requires you fill in the deploy target name.
-
-1. Make sure you enable **auto deploy** from the **master** branch.
-2. Add a variable for the **GIT_TOKEN**. You'll need to create an access token in GitHub. Follow the directions in [GitHub help][accesstokenghhelp].
-3. With the deploy step configured in Wercker, we can push the updated wercker.yml file to GitHub and it will create the GitHub pages site for us.
-
-The website described in this guide is available at <http://hugo-wercker.ig.nore.me>.
-
-![][16]
-
-## Conclusion
-
-Once this workflow is established, you can update your website automatically by pushing any content changes to your GitHub repository.
-
-### Code for the Wercker Deployment Guide
-
-[The source code for the site used in this guide is available on GitHub][guidesource], as is the [Wercker Hugo Build step][guidestep].
-
-[1]: /images/hosting-and-deployment/deployment-with-wercker/creating-a-basic-hugo-site.png
-[2]: /images/hosting-and-deployment/deployment-with-wercker/adding-the-project-to-github.png
-[3]: /images/hosting-and-deployment/deployment-with-wercker/wercker-sign-up.png
-[4]: /images/hosting-and-deployment/deployment-with-wercker/wercker-sign-up-page.png
-[5]: /images/hosting-and-deployment/deployment-with-wercker/wercker-git-connections.png
-[6]: /images/hosting-and-deployment/deployment-with-wercker/wercker-add-app.png
-[7]: /images/hosting-and-deployment/deployment-with-wercker/wercker-select-repository.png
-[8]: /images/hosting-and-deployment/deployment-with-wercker/wercker-select-owner.png
-[9]: /images/hosting-and-deployment/deployment-with-wercker/wercker-access.png
-[10]: /images/hosting-and-deployment/deployment-with-wercker/werckeryml.png
-[11]: /images/hosting-and-deployment/deployment-with-wercker/public-or-not.png
-[12]: /images/hosting-and-deployment/deployment-with-wercker/and-we-ve-got-an-app.png
-[13]: /images/hosting-and-deployment/deployment-with-wercker/wercker-search.png
-[14]: /images/hosting-and-deployment/deployment-with-wercker/using-hugo-build.png
-[15]: /images/hosting-and-deployment/deployment-with-wercker/adding-a-github-pages-step.png
-[16]: /images/hosting-and-deployment/deployment-with-wercker/configure-the-deploy-step.png
-[17]: /images/hosting-and-deployment/deployment-with-wercker/wercker-account-settings.png
-
-
-[accesstokenghhelp]: https://help.github.com/articles/creating-an-access-token-for-command-line-use/
-[basicusage]: /getting-started/usage/
-[ghsignup]: https://github.com/join
-[gitbasics]: https://git-scm.com/book/en/v2/Getting-Started-Git-Basics
-[githubhelp]: https://help.github.com/articles/set-up-git/
-[guidesource]: https://github.com/ArjenSchwarz/hugo-wercker-example
-[guidestep]: https://github.com/ArjenSchwarz/wercker-step-hugo-build
-[Herring Cove theme]: https://github.com/spf13/herring-cove
-[hugoconfig]: /getting-started/configuration/
-[publicappurl]: https://app.wercker.com/#applications/5586dcbdaf7de9c51b02b0d5
-[quickstart]: /getting-started/quick-start/
Go to the [Firebase console][console] and create a new project (unless you already have a project). You will need to globally install `firebase-tools` (node.js):
-
```
npm install -g firebase-tools
```
[console]: https://console.firebase.google.com
[Quick Start]: /getting-started/quick-start/
[signup]: https://console.firebase.google.com/
-[Wercker]: /hosting-and-deployment/deployment-with-wercker/
: Path to the PostCSS configuration file
noMap [bool]
-: Default is `true`. Disable the default inline sourcemaps
+: Default is `false`. Disable the default inline sourcemaps
inlineImports [bool] {{< new-in "0.66.0" >}}
: Default is `false`. Enable inlining of @import statements. It does so recursively, but will only import a file once.
- Add `AsciiDoc` support using external helpers.
- Add experimental support for [`Mmark`](https://github.com/miekg/mmark) markdown processor
- Bash autocomplete support via `genautocomplete` command
-- Add section menu support for a [Section Menu for "the Lazy Blogger"](http://gohugo.io/extras/menus.md#section-menu-for-the-lazy-blogger")
+- Add section menu support for a [Section Menu for Lazy Bloggers](https://gohugo.io/templates/menu-templates/#section-menu-for-lazy-bloggers)
- Add support for `Ace` base templates
- Adding `RelativeURLs = true` to site config will now make all the relative URLs relative to the content root.
- New template functions:
---
date: 2021-07-30
title: "Hugo 0.86.1: One Bug Fix"
-description: "This version fixes a of bug introduced in 0.86.0."
+description: "This version fixes a bug introduced in 0.86.0."
categories: ["Releases"]
images:
- images/blog/hugo-bug-poster.png
--- /dev/null
+
+---
+date: 2021-08-03
+title: "Localized Time and Dates and Numbers"
+description: "Hugo 0.87.0 brings time zone support, localized time and dates and numbers backed by CLDR, and more."
+categories: ["Releases"]
+---
+
+Hugo `0.87` brings two long sought-after features: Default time zone support (per language if needed) for dates without zone offset or location info, and localized time and dates and numbers (backed by [CLDR](https://en.wikipedia.org/wiki/Common_Locale_Data_Repository)).
+
+For more information, see:
+
+* The [time zone config](https://gohugo.io/getting-started/configuration/#timezone) documentation.
+* The [time.Format](https://gohugo.io/functions/dateformat/) documentation. This function will now give you localized dates (with weekdays and months in the current language). It supports all of Go's layout syntax, but also some predefined constants, e.g. `{{ .Date | time.Format ":date_long" }}`.
+* A set of new [localized number formatting ](https://gohugo.io/functions/lang/) functions.
+
+Also in this release, we have switched to using [go-toml](https://github.com/pelletier/go-toml) for all things TOML in Hugo. A big thanks to [@pelletier](https://github.com/pelletier) for his work on the `v2` version. It's both faster than what we had and [TOML v1.0.0](https://toml.io/en/v1.0.0) compliant.
+
+This release represents **40 contributions by 4 contributors** to the main Hugo code base.[@bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [@dependabot[bot]](https://github.com/apps/dependabot), [@digitalcraftsman](https://github.com/digitalcraftsman), and [@jmooring](https://github.com/jmooring) for their ongoing contributions.
+
+Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs),
+which has received **1 contributions by 1 contributors**.
+
+Hugo now has:
+
+* 53261+ [stars](https://github.com/gohugoio/hugo/stargazers)
+* 430+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors)
+* 395+ [themes](http://themes.gohugo.io/)
+
+
+## Notes
+
+* Deprecate Blackfriday and fix a potential deadlock in config [c7252224](https://github.com/gohugoio/hugo/commit/c7252224c4fecfe8321f31b901e2510d98b657c4) [@bep](https://github.com/bep) [#8792](https://github.com/gohugoio/hugo/issues/8792)[#8791](https://github.com/gohugoio/hugo/issues/8791)
+
+## Enhancements
+
+### Templates
+
+* Adjust tests to handle matching local time zones [9ff17c33](https://github.com/gohugoio/hugo/commit/9ff17c332405da5830cef9b3711706b1fc9a7444) [@bep](https://github.com/bep) [#8843](https://github.com/gohugoio/hugo/issues/8843)
+* Add new localized versions of lang.FormatNumber etc. [7907d24b](https://github.com/gohugoio/hugo/commit/7907d24ba16fc5a80930c1aabf5144e684ff7f29) [@bep](https://github.com/bep) [#8820](https://github.com/gohugoio/hugo/issues/8820)
+
+### Other
+
+* Make sure module config loading errors have file positioning info [d70c4857](https://github.com/gohugoio/hugo/commit/d70c485707edfd445bcfc0e84181bc15eb146e76) [@bep](https://github.com/bep) [#8845](https://github.com/gohugoio/hugo/issues/8845)
+* Remove superflous replace statement [7aaaf7e3](https://github.com/gohugoio/hugo/commit/7aaaf7e33afd05d2c74d74fbbfbd34d55e8129eb) [@bep](https://github.com/bep)
+* Reduce binary size vs locale, update to CLDR v36.1 [3a966555](https://github.com/gohugoio/hugo/commit/3a96655592d0b0db4126f20ca717d553dda9c4ed) [@bep](https://github.com/bep) [#8839](https://github.com/gohugoio/hugo/issues/8839)[#8841](https://github.com/gohugoio/hugo/issues/8841)
+* Update github.com/tdewolff/minify/v2 v2.9.20 => v2.9.21 [9a7383ca](https://github.com/gohugoio/hugo/commit/9a7383caf3945b9b11db2b108003f87e2e8b6a3a) [@jmooring](https://github.com/jmooring) [#8831](https://github.com/gohugoio/hugo/issues/8831)
+* Fail on invalid time zone [4d221ce4](https://github.com/gohugoio/hugo/commit/4d221ce468a1209ee9dd6cbece9d1273dad6a29b) [@bep](https://github.com/bep) [#8832](https://github.com/gohugoio/hugo/issues/8832)
+* Improve handling of <nil> Params [e3dc5240](https://github.com/gohugoio/hugo/commit/e3dc5240f01fd5ec67643e40f27c026d707da110) [@bep](https://github.com/bep) [#8825](https://github.com/gohugoio/hugo/issues/8825)
+* Merge branch 'release-0.86.1' [268065cb](https://github.com/gohugoio/hugo/commit/268065cb2d8339392766a23703beaf7cc49d6b5c) [@bep](https://github.com/bep)
+* bump github.com/evanw/esbuild from 0.12.16 to 0.12.17 [e90b3591](https://github.com/gohugoio/hugo/commit/e90b3591a155d1266a86c9490886720740b9d62e) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/getkin/kin-openapi from 0.67.0 to 0.68.0 [4b7da6a9](https://github.com/gohugoio/hugo/commit/4b7da6a9d720ed5ab4b45d6aa3b0b7af4683d02f) [@dependabot[bot]](https://github.com/apps/dependabot)
+* Go back to WARNING for Page deprecations [726fe9c3](https://github.com/gohugoio/hugo/commit/726fe9c3c97a9c979dc7862e7f226fc5ec1341de) [@bep](https://github.com/bep)
+* Handle toml.LocalDate and toml.LocalDateTime in front matter [b5de37ee](https://github.com/gohugoio/hugo/commit/b5de37ee793c01f2acccdea7119be05c4182723f) [@bep](https://github.com/bep) [#8801](https://github.com/gohugoio/hugo/issues/8801)
+* Upgrade github.com/pelletier/go-toml/v2 v2.0.0-beta.3 => v2.0.0-beta.3.0.20210727221244-fa0796069526 [bf301daf](https://github.com/gohugoio/hugo/commit/bf301daf158e5e9673ad5f457ea3a264315942b5) [@bep](https://github.com/bep)
+* Switch to go-toml v2 [a3701e09](https://github.com/gohugoio/hugo/commit/a3701e09313695d4a0f6fb0eb7844c1a4befc07a) [@bep](https://github.com/bep) [#8801](https://github.com/gohugoio/hugo/issues/8801)
+* bump github.com/tdewolff/minify/v2 from 2.9.19 to 2.9.20 [40b6016c](https://github.com/gohugoio/hugo/commit/40b6016cf3f7aac541b042d32e3a162411fd9cd0) [@dependabot[bot]](https://github.com/apps/dependabot)
+* Add a TOML front matter benchmark [7e130571](https://github.com/gohugoio/hugo/commit/7e1305710f08d26d9214abb5410ccd675e59a6e9) [@bep](https://github.com/bep)
+* Add timezone support for front matter dates without one [efa5760d](https://github.com/gohugoio/hugo/commit/efa5760db5ef39ae084bfccb5b8f756c7b117a2a) [@bep](https://github.com/bep) [#8810](https://github.com/gohugoio/hugo/issues/8810)
+* Localize time.Format [a57dda85](https://github.com/gohugoio/hugo/commit/a57dda854b5efd3429af5f0b1564fc9d9d5439b9) [@bep](https://github.com/bep) [#8797](https://github.com/gohugoio/hugo/issues/8797)
+* bump github.com/getkin/kin-openapi from 0.61.0 to 0.67.0 [f9afba93](https://github.com/gohugoio/hugo/commit/f9afba933579de07d2d2e36a457895ec5f1b7f01) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/spf13/cast from 1.3.1 to 1.4.0 [a5d2ba42](https://github.com/gohugoio/hugo/commit/a5d2ba429d34004efd3c6b82c1bcb130c85aca9c) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump google.golang.org/api from 0.45.0 to 0.51.0 [31972f36](https://github.com/gohugoio/hugo/commit/31972f3647b284eea1a66a2e27ed42d04a391a7a) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/sanity-io/litter from 1.5.0 to 1.5.1 [2e58782f](https://github.com/gohugoio/hugo/commit/2e58782f96972487dc5e5ba91d0256ec6e86dad7) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/mattn/go-isatty from 0.0.12 to 0.0.13 [7b68f652](https://github.com/gohugoio/hugo/commit/7b68f6524d24d450330cbe4a2380301e66abee4a) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/spf13/cobra from 1.1.3 to 1.2.1 [81265af2](https://github.com/gohugoio/hugo/commit/81265af2cccd3247df87f05eebf8907a14e978a4) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/mitchellh/mapstructure from 1.3.3 to 1.4.1 [c102c971](https://github.com/gohugoio/hugo/commit/c102c9719b3a29406ef59dc18eca6bd280e4dc43) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/google/go-cmp from 0.5.5 to 0.5.6 [7c0f904f](https://github.com/gohugoio/hugo/commit/7c0f904f29c41e8782b44a37fd4e98e441cd2b2c) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/mitchellh/hashstructure from 1.0.0 to 1.1.0 [b2fbd4d1](https://github.com/gohugoio/hugo/commit/b2fbd4d13a47ce3f6a56f08d0bda77e16793de72) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/gobuffalo/flect from 0.2.2 to 0.2.3 [90041d1b](https://github.com/gohugoio/hugo/commit/90041d1b6d4eeb91ea085f5a97b02887159a655b) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/pelletier/go-toml from 1.9.0 to 1.9.3 [05047096](https://github.com/gohugoio/hugo/commit/05047096f52e43ff09acbc50616441bb42a1c6f7) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/aws/aws-sdk-go from 1.38.23 to 1.40.8 [a469156e](https://github.com/gohugoio/hugo/commit/a469156ea4ad023aa4fda0d3fb657ce003412abb) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/tdewolff/minify/v2 from 2.9.18 to 2.9.19 [18fdd85b](https://github.com/gohugoio/hugo/commit/18fdd85bcc4ac2d9a33546dca8a0a24f63987361) [@dependabot[bot]](https://github.com/apps/dependabot)
+* Update github.com/evanw/esbuild v0.11.16 => v0.12.16 [aeb1935d](https://github.com/gohugoio/hugo/commit/aeb1935d44eb258a794c8f055eedaf3a7655a3ad) [@bep](https://github.com/bep)
+* Update github.com/yuin/goldmark v1.3.9 => v1.4.0 [e09d7882](https://github.com/gohugoio/hugo/commit/e09d7882c88812bedb2c2e66b68c7eed21213dbc) [@bep](https://github.com/bep)
+* bump github.com/frankban/quicktest from 1.12.0 to 1.13.0 [15c0eed0](https://github.com/gohugoio/hugo/commit/15c0eed0487598ac1e5a6fff167b19031b6595bc) [@dependabot[bot]](https://github.com/apps/dependabot)
+* Bump all long-living deprecations to ERRORs [91cbb963](https://github.com/gohugoio/hugo/commit/91cbb963020ac2aead68ff2bbd7e9077d5558abd) [@bep](https://github.com/bep)
+
+## Fixes
+
+### Other
+
+* Fix error handling for the time func alias [6c70e1f2](https://github.com/gohugoio/hugo/commit/6c70e1f22f365322d5f754302e110c9ed716b215) [@bep](https://github.com/bep) [#8835](https://github.com/gohugoio/hugo/issues/8835)
+* Fix a potential deadlock in config reading [94b616bd](https://github.com/gohugoio/hugo/commit/94b616bdfad177daa99f5e87535943f509198f6f) [@bep](https://github.com/bep) [#8791](https://github.com/gohugoio/hugo/issues/8791)
+* Fix theme count in release notes [a352d19d](https://github.com/gohugoio/hugo/commit/a352d19d881474f53d01791be4febd305453a9d6) [@digitalcraftsman](https://github.com/digitalcraftsman)
+
+
+
+
+
--- /dev/null
+
+---
+date: 2021-09-02
+title: "Go 1.17 Update"
+description: "Hugo 0.88.0 brings Go 1.17 support, a dependency refresh, and more."
+categories: ["Releases"]
+---
+
+The most important piece in this release is the Go 1.17 update. This release is built with that new Go version, but also and more importantly, the Hugo Modules logic has been updated to support Go's new way of (lazy) loading transitive dependencies. If you already have Go 1.17 installed, building existing Hugo Modules backed projects have not been an issue, but `hugo mod init` for a new project could give you _too new_ versions of transitive dependencies. Hugo 0.88 fixes this.
+
+This release represents **26 contributions by 6 contributors** to the main Hugo code base.[@bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [@dependabot[bot]](https://github.com/apps/dependabot), [@helfper](https://github.com/helfper), and [@wzshiming](https://github.com/wzshiming) for their ongoing contributions.
+
+Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs),
+which has received **9 contributions by 6 contributors**. A special thanks to [@bep](https://github.com/bep), [@jmooring](https://github.com/jmooring), [@StevenMaude](https://github.com/StevenMaude), and [@coliff](https://github.com/coliff) for their work on the documentation site.
+
+Hugo now has:
+
+* 53915+ [stars](https://github.com/gohugoio/hugo/stargazers)
+* 430+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors)
+* 404+ [themes](http://themes.gohugo.io/)
+
+## Notes
+* We have fixed a bug with the import order in `js.Build` for the case `./foo` when both `./foo.js` and `./foo/index.js` exists. This is in line with how both Node and ESBuild's native import resolver does it. We discovered this trying to build AlpineJS v3 from source mounted in `/assets`. See [cf73cc2e](https://github.com/gohugoio/hugo/commit/cf73cc2ececd4e794df09ea382a38ab18960d84e) [@bep](https://github.com/bep) [#8945](https://github.com/gohugoio/hugo/issues/8945).
+
+## Enhancements
+
+### Templates
+
+* Handle nil values in time.AsTime [abd969a6](https://github.com/gohugoio/hugo/commit/abd969a670852f9ed57c1a26434445aa985706fe) [@bep](https://github.com/bep)
+* Handle nil values in time.AsTime [3e110728](https://github.com/gohugoio/hugo/commit/3e11072892ca31bb76980ee38890a4bd92d83dfd) [@bep](https://github.com/bep) [#8865](https://github.com/gohugoio/hugo/issues/8865)
+
+### Other
+
+* Run go mod tidy [6631c9c7](https://github.com/gohugoio/hugo/commit/6631c9c7e00fb9dc237b4ec2fbb261d05df268d1) [@bep](https://github.com/bep)
+* Don't fail on template errors on go mod graph etc. [7d1f806e](https://github.com/gohugoio/hugo/commit/7d1f806ecb3621ae7b545a686d04de4568814055) [@bep](https://github.com/bep) [#8942](https://github.com/gohugoio/hugo/issues/8942)
+* bump github.com/getkin/kin-openapi from 0.74.0 to 0.75.0 [04b59599](https://github.com/gohugoio/hugo/commit/04b59599613a62d378bf3710ac0eb06c9543b96d) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/frankban/quicktest from 1.13.0 to 1.13.1 [c278b6e4](https://github.com/gohugoio/hugo/commit/c278b6e45d56b101db9691347f9e5a99a9319572) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/evanw/esbuild from 0.12.22 to 0.12.24 [107c86fe](https://github.com/gohugoio/hugo/commit/107c86febbb7057c4ae90c6a35b3e8eda24297c7) [@dependabot[bot]](https://github.com/apps/dependabot)
+* Avoid failing with "module not found" for hugo mod init and similar [a0489c2d](https://github.com/gohugoio/hugo/commit/a0489c2dfd3ceb4d0702de0da7a4af3eabce05e5) [@bep](https://github.com/bep) [#8940](https://github.com/gohugoio/hugo/issues/8940)
+* Update to Go 1.17 [0fc2ce9e](https://github.com/gohugoio/hugo/commit/0fc2ce9e4bf0524994a861b7300e4332f6f8d390) [@bep](https://github.com/bep) [#8930](https://github.com/gohugoio/hugo/issues/8930)
+* Remove Pygments from snapcraft.yml [32569285](https://github.com/gohugoio/hugo/commit/32569285c181c8798ef594c12d3cfd7f9a252a04) [@anthonyfok](https://github.com/anthonyfok)
+* bump github.com/fsnotify/fsnotify from 1.4.9 to 1.5.0 [5a46eefb](https://github.com/gohugoio/hugo/commit/5a46eefbc6da3463b796ada8d15902be197455a3) [@bep](https://github.com/bep) [#8920](https://github.com/gohugoio/hugo/issues/8920)
+* Add tabindex when code is not highlighted [7a15edaf](https://github.com/gohugoio/hugo/commit/7a15edafe240471c072d3548b72ccda0271ffd8f) [@helfper](https://github.com/helfper)
+* bump github.com/evanw/esbuild from 0.12.17 to 0.12.22 [2f0945ba](https://github.com/gohugoio/hugo/commit/2f0945bafe501103abe97b2f2b5566b28ec48e52) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump golang.org/x/text from 0.3.6 to 0.3.7 [7ba3f3d2](https://github.com/gohugoio/hugo/commit/7ba3f3d201e386cb9c7c15df5a6cc1c4b46473bd) [@dependabot[bot]](https://github.com/apps/dependabot)
+* bump github.com/fsnotify/fsnotify from 1.4.9 to 1.5.0 [f7016524](https://github.com/gohugoio/hugo/commit/f70165242b98e3ee182fbac08bf2893a7f09e961) [@dependabot[bot]](https://github.com/apps/dependabot)
+* Prevent minifier from removing quotes around post-processed attributes [bc0743ed](https://github.com/gohugoio/hugo/commit/bc0743ed8eafc3c2d9b21a1e8f1b05d64b85e8ba) [@bep](https://github.com/bep) [#8884](https://github.com/gohugoio/hugo/issues/8884)
+* Avoid too many watch file handles causing the server to fail to start [ffa2fe61](https://github.com/gohugoio/hugo/commit/ffa2fe61172aa0d892234b23d1497c77a6a7f5c4) [@bep](https://github.com/bep)
+* Remove some pygments references [d966f5d0](https://github.com/gohugoio/hugo/commit/d966f5d08d7f75f1ae9acd94e292bf61de2adf0d) [@helfper](https://github.com/helfper)
+* Avoid too many watch file handles causing the server to fail to start [3f38c785](https://github.com/gohugoio/hugo/commit/3f38c785b7208440e2a9dd9a80cb39d4ae23e676) [@wzshiming](https://github.com/wzshiming) [#8904](https://github.com/gohugoio/hugo/issues/8904)
+* bump github.com/getkin/kin-openapi from 0.68.0 to 0.74.0 [24589c08](https://github.com/gohugoio/hugo/commit/24589c0814bc5d21565470bec6215ee792f1655e) [@dependabot[bot]](https://github.com/apps/dependabot)
+* Update github.com/spf13/cast v1.4.0 => v1.4.1 [efebd756](https://github.com/gohugoio/hugo/commit/efebd756eb1f35c515ac82ccc85ec520bac91240) [@bep](https://github.com/bep) [#8891](https://github.com/gohugoio/hugo/issues/8891)
+* Import time/tzdata on Windows [58b6742c](https://github.com/gohugoio/hugo/commit/58b6742cfeb6d4cd04450cbe9592209510c2b977) [@bep](https://github.com/bep) [#8892](https://github.com/gohugoio/hugo/issues/8892)
+* Indent TOML tables [9bba9a3a](https://github.com/gohugoio/hugo/commit/9bba9a3a98fa268391597d8d7a52112fb401d952) [@bep](https://github.com/bep) [#8850](https://github.com/gohugoio/hugo/issues/8850)
+
+## Fixes
+
+### Other
+
+* Fix import order for ./foo when both ./foo.js and ./foo/index.js exists [cf73cc2e](https://github.com/gohugoio/hugo/commit/cf73cc2ececd4e794df09ea382a38ab18960d84e) [@bep](https://github.com/bep) [#8945](https://github.com/gohugoio/hugo/issues/8945)
+* Fix it so disableKinds etc. does not get merged in from theme [f4ffeea7](https://github.com/gohugoio/hugo/commit/f4ffeea71dd3d044a2628bbb5d6634680667398f) [@bep](https://github.com/bep) [#8866](https://github.com/gohugoio/hugo/issues/8866)
+* Fix `lang.FormatPercent` description [d6c8cd77](https://github.com/gohugoio/hugo/commit/d6c8cd771834ae2913658c652e30a9feadc2a7b7) [@salim-b](https://github.com/salim-b)
--- /dev/null
+
+---
+date: 2021-09-04
+title: "Hugo 0.88.1: One Fix"
+description: "This version fixes a release issue introduced in 0.88.0."
+categories: ["Releases"]
+images:
+- images/blog/hugo-bug-poster.png
+
+---
+
+
+
+This is a bug-fix release with one important fix.
+
+* Bump down again to Go 1.16.7 for the release builds [e1ead4db](https://github.com/gohugoio/hugo/commit/e1ead4dbca4cfb00ec0893c8c8563c91624ecca7) [@bep](https://github.com/bep) [#8952](https://github.com/gohugoio/hugo/issues/8952)[#8955](https://github.com/gohugoio/hugo/issues/8955)
+
+
+
+++ /dev/null
----
-title: "HTTP/2 Server Push in Hugo"
-date: 2017-07-24T18:36:00+02:00
-description: >
- As every page in Hugo can be output to multiple formats, it is easy to create Netlify's _redirects and _headers files on the fly.
-categories: [blog]
-keywords: []
-slug: "http2-server-push-in-hugo"
-aliases: []
-author: bep
-images:
-- images/gohugoio-card-1.png
----
-
-**Netlify** recently announced support for [HTTP/2 server push](https://www.netlify.com/blog/2017/07/18/http/2-server-push-on-netlify/), and we have now added it to the **gohugo.io** sites for the main `CSS` and `JS` bundles, along with server-side 301 redirect support.
-
-If you navigate to https://gohugo.io and look in the Chrome developer network console, you should now see `Push` as the new source ("Initiator") for the `CSS` and `JSS`:
-
-{{< figure src="/images/blog/hugo-http2-push.png" caption="Network log for https://gohugo.io" >}}
-
-**Setting up this in Hugo was easy:**
-
-## 1. Configure Netlify Output Formats
-
-Add a new custom media type and two new output formats to `config.toml`. For more on output formats in Hugo, see [Custom Output Formats](/templates/output-formats/).
-
-```toml
-[outputs]
-home = [ "HTML", "RSS", "REDIR", "HEADERS" ]
-
-[mediaTypes]
-[mediaTypes."text/netlify"]
-suffix = ""
-delimiter = ""
-
-[outputFormats]
-[outputFormats.REDIR]
-mediatype = "text/netlify"
-baseName = "_redirects"
-isPlainText = true
-notAlternative = true
-[outputFormats.HEADERS]
-mediatype = "text/netlify"
-baseName = "_headers"
-isPlainText = true
-notAlternative = true
-```
-## 2. Add Template For the _headers File
-
-Add `layouts/index.headers`:
-
-```bash
-/*
- X-Frame-Options: DENY
- X-XSS-Protection: 1; mode=block
- X-Content-Type-Options: nosniff
- Referrer-Policy: origin-when-cross-origin
-*/
- Link: <{{ "dist/app.bundle.js" | relURL }}>; rel=preload; as=script
- Link: <{{ "dist/main.css" | relURL }}>; rel=preload; as=style
-```
-The template above creates both a security header definition and a HTTP/2 server push configuration.
-
-Also note that this is a template for the home page, so the full `Page` with its `Site` and many variables are available. You can also use `partial` to include other templates.
-
-
-## 3. Add Template For the _redirects File
-Add `layouts/index.redir`:
-```bash
-# Netlify redirects. See https://www.netlify.com/docs/redirects/
-{{ range $p := .Site.Pages -}}
-{{ range .Aliases }}
-{{ . | printf "%-35s" }} {{ $p.RelPermalink -}}
-{{ end -}}
-{{- end -}}
-```
-The template above creates 301 redirects for your [aliases](/content-management/urls/#aliases), so you will probably want to turn off aliases in your `config.toml`: `disableAliases = true`.
-
* A _regular_ page is a "post" page or a "content" page.
* A _leaf bundle_ is a regular page.
* A _list_ page can list _regular_ pages and other _list_ pages. Some
- examples are: homepage, section pages, _taxonomy term_ (`/tags/`) and
- _taxonomy_ (`/tags/foo/`) pages.
+ examples are: homepage, section pages, _taxonomy_ (`/tags/`) and
+ _term_ (`/tags/foo/`) pages.
* A _branch bundle_ is a _list_ page.
`.Site.Pages`
* [GitHub Pages](/hosting-and-deployment/hosting-on-github/) and [GitLab Pages](/hosting-and-deployment/hosting-on-gitlab/). The 404 page is automatic.
* Apache. You can specify `ErrorDocument 404 /404.html` in an `.htaccess` file in the root of your site.
-* Nginx. You might specify `error_page 404 /404.html;` in your `nginx.conf` file.
+* Nginx. You might specify `error_page 404 /404.html;` in your `nginx.conf` file. [Details here](https://nginx.org/en/docs/http/ngx_http_core_module.html#error_page).
* Amazon AWS S3. When setting a bucket up for static web serving, you can specify the error file from within the S3 GUI.
* Amazon CloudFront. You can specify the page in the Error Pages section in the CloudFront Console. [Details here](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)
* Caddy Server. Using `errors { 404 /404.html }`. [Details here](https://caddyserver.com/docs/errors)
title: DEPRECATED - Alternative Templating Languages
linktitle: Alternative Templating
description: DEPRECATED - Support for Ace & Amber templating has been removed in version 0.62
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-20
title: Base Templates and Blocks
linktitle:
description: The base and block constructs allow you to define the outer shell of your master templates (i.e., the chrome of the page).
-godocref: https://golang.org/pkg/text/template/#example_Template_block
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
- "Reads documentation"
{{</ code-toggle >}}
-You can use the following code to render the `Short Description` in your layout::
+You can use the following code to render the `Short Description` in your layout:
```
<div>Short Description of {{.Site.Data.User0123.Name}}: <p>{{ index .Site.Data.User0123 "Short Description" | markdownify }}</p></div>
title: Local File Templates
linktitle: Local File Templates
description: Hugo's `readDir` and `readFile` functions make it easy to traverse your project's directory structure and write file contents to your templates.
-godocref: https://golang.org/pkg/os/#FileInfo
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: Introduction to Hugo Templating
linktitle: Introduction
description: Hugo uses Go's `html/template` and `text/template` libraries as the basis for the templating.
-godocref: https://golang.org/pkg/html/template/
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-25
title: Hugo's Lookup Order
linktitle: Template Lookup Order
description: Hugo searches for the layout to use for a given page in a well defined order, starting from the most specific.
-godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-07-05
`permalinkable`
: make `.Permalink` and `.RelPermalink` return the rendering Output Format rather than main ([see below](#link-to-output-formats)). This is enabled by default for `HTML` and `AMP`. **Default:** `false`.
+`weight`
+: Setting this to a non-zero value will be used as the first sort criteria.
+
## Output Formats for Pages
A `Page` in Hugo can be rendered to multiple *output formats* on the file
## Inline Shortcodes
-{{< new-in "0.52.0" >}}
+{{< new-in "0.52" >}}
Since Hugo 0.52, you can implement your shortcodes inline -- e.g. where you use them in the content file. This can be useful for scripting that you only need in one place.
title: Template Debugging
# linktitle: Template Debugging
description: You can use Go templates' `printf` function to debug your Hugo templates. These snippets provide a quick and easy visualization of the variables available to you in different contexts.
-godocref: https://golang.org/pkg/fmt/
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
title: Base 模板 and Blocks
linktitle:
description: The base and block constructs allow you to define the outer shell of your master templates (i.e., the chrome of the page).
-godocref: https://golang.org/pkg/text/template/#example_Template_block
date: 2017-02-01
publishdate: 2018-08-11
lastmod: 2017-02-01
"-12,346"
],
[
- "{{ -98765.4321 | lang.NumFmt 2 }}",
+ "{{ -98765.4321 | lang.FormatNumberCustom 2 }}",
"-98,765.43"
]
]
},
"FormatPercent": {
- "Description": "FormatPercent formats number with the given precision for the current language.\nNote that the number is assumbed to be percent.",
+ "Description": "FormatPercent formats number with the given precision for the current language.\nNote that the number is assumed to be a percentage.",
"Args": [
"precision",
"number"
link = "https://twitter.com/jscarto/status/1039648827815485440"
date = 2018-09-12T00:00:00Z
-[[tweet]]
-name = "Jens Munch"
-twitter_handle = "@jensamunch"
-quote = "Hugo is really, really incredible... Now does resizing/resampling of images as well! Crazy that something so fast can be a static site generator... Amazing open-source project."
-link = "https://twitter.com/jensamunch/status/948533063537086464"
-date = 2018-01-03T04:00:00Z
-
-[[tweet]]
-name = "STOQE"
-twitter_handle = "@STOQE"
-quote = "I fear <a href='https://twitter.com/gohugoio' target='_blank'>@GoHugoIO</a> v0.22 might be so fast it creates a code vortex that time-warps me back to a time I used Wordpress. <a href='https://twitter.com/hashtag/gasp?src=hash'>#gasp</a>"
-link = "https://twitter.com/STOQE/status/874184881701494784"
-date = 2017-06-12T00:00:00Z
-
[[tweet]]
name = "Christophe Diericx"
twitter_handle = "@spcrngr_"
command = "hugo --gc --minify"
[context.production.environment]
-HUGO_VERSION = "0.86.1"
+HUGO_VERSION = "0.88.1"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
command = "hugo --gc --minify --enableGitInfo"
[context.split1.environment]
-HUGO_VERSION = "0.86.1"
+HUGO_VERSION = "0.88.1"
HUGO_ENV = "production"
[context.deploy-preview]
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
[context.deploy-preview.environment]
-HUGO_VERSION = "0.86.1"
+HUGO_VERSION = "0.88.1"
[context.branch-deploy]
command = "hugo --gc --minify -b $DEPLOY_PRIME_URL"
[context.branch-deploy.environment]
-HUGO_VERSION = "0.86.1"
+HUGO_VERSION = "0.88.1"
[context.next.environment]
HUGO_ENABLEGITINFO = "true"
+[[redirects]]
+from = "/npmjs/*"
+to = "/npmjs/"
+status = 200
\ No newline at end of file
--- /dev/null
+<html>
+ <head>
+ <meta name="go-import" content="gohugo.io/npmjs mod http://localhost:8072">
+ </head>
+ <body></body>
+</html>