mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-24 21:56:05 +02:00
Merge commit 'd2ec1a06df8ab6b17ad05cb008d5701b40327d47'
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo"
|
||||
slug: hugo
|
||||
url: /commands/hugo/
|
||||
@@ -77,4 +77,4 @@ hugo [flags]
|
||||
* [hugo server](/commands/hugo_server/) - A high performance webserver
|
||||
* [hugo version](/commands/hugo_version/) - Print the version number of Hugo
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo benchmark"
|
||||
slug: hugo_benchmark
|
||||
url: /commands/hugo_benchmark/
|
||||
@@ -70,4 +70,4 @@ hugo benchmark [flags]
|
||||
|
||||
* [hugo](/commands/hugo/) - hugo builds your site
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo check"
|
||||
slug: hugo_check
|
||||
url: /commands/hugo_check/
|
||||
@@ -35,4 +35,4 @@ Contains some verification checks
|
||||
* [hugo](/commands/hugo/) - hugo builds your site
|
||||
* [hugo check ulimit](/commands/hugo_check_ulimit/) - Check system ulimit settings
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo check ulimit"
|
||||
slug: hugo_check_ulimit
|
||||
url: /commands/hugo_check_ulimit/
|
||||
@@ -39,4 +39,4 @@ hugo check ulimit [flags]
|
||||
|
||||
* [hugo check](/commands/hugo_check/) - Contains some verification checks
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo config"
|
||||
slug: hugo_config
|
||||
url: /commands/hugo_config/
|
||||
@@ -19,7 +19,8 @@ hugo config [flags]
|
||||
### Options
|
||||
|
||||
```
|
||||
-h, --help help for config
|
||||
-h, --help help for config
|
||||
-s, --source string filesystem path to read files relative from
|
||||
```
|
||||
|
||||
### Options inherited from parent commands
|
||||
@@ -38,4 +39,4 @@ hugo config [flags]
|
||||
|
||||
* [hugo](/commands/hugo/) - hugo builds your site
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo convert"
|
||||
slug: hugo_convert
|
||||
url: /commands/hugo_convert/
|
||||
@@ -42,4 +42,4 @@ See convert's subcommands toJSON, toTOML and toYAML for more information.
|
||||
* [hugo convert toTOML](/commands/hugo_convert_totoml/) - Convert front matter to TOML
|
||||
* [hugo convert toYAML](/commands/hugo_convert_toyaml/) - Convert front matter to YAML
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo convert toJSON"
|
||||
slug: hugo_convert_toJSON
|
||||
url: /commands/hugo_convert_tojson/
|
||||
@@ -42,4 +42,4 @@ hugo convert toJSON [flags]
|
||||
|
||||
* [hugo convert](/commands/hugo_convert/) - Convert your content to different formats
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo convert toTOML"
|
||||
slug: hugo_convert_toTOML
|
||||
url: /commands/hugo_convert_totoml/
|
||||
@@ -42,4 +42,4 @@ hugo convert toTOML [flags]
|
||||
|
||||
* [hugo convert](/commands/hugo_convert/) - Convert your content to different formats
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo convert toYAML"
|
||||
slug: hugo_convert_toYAML
|
||||
url: /commands/hugo_convert_toyaml/
|
||||
@@ -42,4 +42,4 @@ hugo convert toYAML [flags]
|
||||
|
||||
* [hugo convert](/commands/hugo_convert/) - Convert your content to different formats
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo env"
|
||||
slug: hugo_env
|
||||
url: /commands/hugo_env/
|
||||
@@ -38,4 +38,4 @@ hugo env [flags]
|
||||
|
||||
* [hugo](/commands/hugo/) - hugo builds your site
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo gen"
|
||||
slug: hugo_gen
|
||||
url: /commands/hugo_gen/
|
||||
@@ -38,4 +38,4 @@ A collection of several useful generators.
|
||||
* [hugo gen doc](/commands/hugo_gen_doc/) - Generate Markdown documentation for the Hugo CLI.
|
||||
* [hugo gen man](/commands/hugo_gen_man/) - Generate man pages for the Hugo CLI
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo gen autocomplete"
|
||||
slug: hugo_gen_autocomplete
|
||||
url: /commands/hugo_gen_autocomplete/
|
||||
@@ -56,4 +56,4 @@ hugo gen autocomplete [flags]
|
||||
|
||||
* [hugo gen](/commands/hugo_gen/) - A collection of several useful generators.
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo gen chromastyles"
|
||||
slug: hugo_gen_chromastyles
|
||||
url: /commands/hugo_gen_chromastyles/
|
||||
@@ -43,4 +43,4 @@ hugo gen chromastyles [flags]
|
||||
|
||||
* [hugo gen](/commands/hugo_gen/) - A collection of several useful generators.
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo gen doc"
|
||||
slug: hugo_gen_doc
|
||||
url: /commands/hugo_gen_doc/
|
||||
@@ -45,4 +45,4 @@ hugo gen doc [flags]
|
||||
|
||||
* [hugo gen](/commands/hugo_gen/) - A collection of several useful generators.
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo gen man"
|
||||
slug: hugo_gen_man
|
||||
url: /commands/hugo_gen_man/
|
||||
@@ -41,4 +41,4 @@ hugo gen man [flags]
|
||||
|
||||
* [hugo gen](/commands/hugo_gen/) - A collection of several useful generators.
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo import"
|
||||
slug: hugo_import
|
||||
url: /commands/hugo_import/
|
||||
@@ -37,4 +37,4 @@ Import requires a subcommand, e.g. `hugo import jekyll jekyll_root_path target_p
|
||||
* [hugo](/commands/hugo/) - hugo builds your site
|
||||
* [hugo import jekyll](/commands/hugo_import_jekyll/) - hugo import from Jekyll
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo import jekyll"
|
||||
slug: hugo_import_jekyll
|
||||
url: /commands/hugo_import_jekyll/
|
||||
@@ -41,4 +41,4 @@ hugo import jekyll [flags]
|
||||
|
||||
* [hugo import](/commands/hugo_import/) - Import your site from others.
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo list"
|
||||
slug: hugo_list
|
||||
url: /commands/hugo_list/
|
||||
@@ -40,4 +40,4 @@ List requires a subcommand, e.g. `hugo list drafts`.
|
||||
* [hugo list expired](/commands/hugo_list_expired/) - List all posts already expired
|
||||
* [hugo list future](/commands/hugo_list_future/) - List all posts dated in the future
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo list drafts"
|
||||
slug: hugo_list_drafts
|
||||
url: /commands/hugo_list_drafts/
|
||||
@@ -39,4 +39,4 @@ hugo list drafts [flags]
|
||||
|
||||
* [hugo list](/commands/hugo_list/) - Listing out various types of content
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo list expired"
|
||||
slug: hugo_list_expired
|
||||
url: /commands/hugo_list_expired/
|
||||
@@ -40,4 +40,4 @@ hugo list expired [flags]
|
||||
|
||||
* [hugo list](/commands/hugo_list/) - Listing out various types of content
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo list future"
|
||||
slug: hugo_list_future
|
||||
url: /commands/hugo_list_future/
|
||||
@@ -40,4 +40,4 @@ hugo list future [flags]
|
||||
|
||||
* [hugo list](/commands/hugo_list/) - Listing out various types of content
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo new"
|
||||
slug: hugo_new
|
||||
url: /commands/hugo_new/
|
||||
@@ -48,4 +48,4 @@ hugo new [path] [flags]
|
||||
* [hugo new site](/commands/hugo_new_site/) - Create a new site (skeleton)
|
||||
* [hugo new theme](/commands/hugo_new_theme/) - Create a new theme
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo new site"
|
||||
slug: hugo_new_site
|
||||
url: /commands/hugo_new_site/
|
||||
@@ -43,4 +43,4 @@ hugo new site [path] [flags]
|
||||
|
||||
* [hugo new](/commands/hugo_new/) - Create new content for your site
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo new theme"
|
||||
slug: hugo_new_theme
|
||||
url: /commands/hugo_new_theme/
|
||||
@@ -42,4 +42,4 @@ hugo new theme [name] [flags]
|
||||
|
||||
* [hugo new](/commands/hugo_new/) - Create new content for your site
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo server"
|
||||
slug: hugo_server
|
||||
url: /commands/hugo_server/
|
||||
@@ -88,4 +88,4 @@ hugo server [flags]
|
||||
|
||||
* [hugo](/commands/hugo/) - hugo builds your site
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2018-01-31T11:40:21+01:00
|
||||
date: 2018-04-16
|
||||
title: "hugo version"
|
||||
slug: hugo_version
|
||||
url: /commands/hugo_version/
|
||||
@@ -38,4 +38,4 @@ hugo version [flags]
|
||||
|
||||
* [hugo](/commands/hugo/) - hugo builds your site
|
||||
|
||||
###### Auto generated by spf13/cobra on 31-Jan-2018
|
||||
###### Auto generated by spf13/cobra on 16-Apr-2018
|
||||
|
@@ -56,70 +56,70 @@ slug = "spf13-vim-3-0-release-and-new-website"
|
||||
|
||||
There are a few predefined variables that Hugo is aware of. See [Page Variables][pagevars] for how to call many of these predefined variables in your templates.
|
||||
|
||||
`aliases`
|
||||
aliases
|
||||
: an array of one or more aliases (e.g., old published paths of renamed content) that will be created in the output directory structure . See [Aliases][aliases] for details.
|
||||
|
||||
`date`
|
||||
date
|
||||
: the datetime at which the content was created; note this value is auto-populated according to Hugo's built-in [archetype][].
|
||||
|
||||
`description`
|
||||
description
|
||||
: the description for the content.
|
||||
|
||||
`draft`
|
||||
draft
|
||||
: if `true`, the content will not be rendered unless the `--buildDrafts` flag is passed to the `hugo` command.
|
||||
|
||||
`expiryDate`
|
||||
expiryDate
|
||||
: the datetime at which the content should no longer be published by Hugo; expired content will not be rendered unless the `--buildExpired` flag is passed to the `hugo` command.
|
||||
|
||||
`headless`
|
||||
headless
|
||||
: if `true`, sets a leaf bundle to be [headless][headless-bundle].
|
||||
|
||||
`isCJKLanguage`
|
||||
isCJKLanguage
|
||||
: if `true`, Hugo will explicitly treat the content as a CJK language; both `.Summary` and `.WordCount` work properly in CJK languages.
|
||||
|
||||
`keywords`
|
||||
keywords
|
||||
: the meta keywords for the content.
|
||||
|
||||
`layout`
|
||||
layout
|
||||
: the layout Hugo should select from the [lookup order][lookup] when rendering the content. If a `type` is not specified in the front matter, Hugo will look for the layout of the same name in the layout directory that corresponds with a content's section. See ["Defining a Content Type"][definetype]
|
||||
|
||||
`lastmod`
|
||||
lastmod
|
||||
: the datetime at which the content was last modified.
|
||||
|
||||
`linkTitle`
|
||||
linkTitle
|
||||
: used for creating links to content; if set, Hugo defaults to using the `linktitle` before the `title`. Hugo can also [order lists of content by `linktitle`][bylinktitle].
|
||||
|
||||
`markup`
|
||||
markup
|
||||
: **experimental**; specify `"rst"` for reStructuredText (requires`rst2html`) or `"md"` (default) for Markdown.
|
||||
|
||||
`outputs`
|
||||
outputs
|
||||
: allows you to specify output formats specific to the content. See [output formats][outputs].
|
||||
|
||||
`publishDate`
|
||||
publishDate
|
||||
: if in the future, content will not be rendered unless the `--buildFuture` flag is passed to `hugo`.
|
||||
|
||||
`resources`
|
||||
resources
|
||||
: used for configuring page bundle resources. See [Page Resources][page-resources].
|
||||
|
||||
`slug`
|
||||
slug
|
||||
: appears as the tail of the output URL. A value specified in front matter will override the segment of the URL based on the filename.
|
||||
|
||||
`taxonomies`
|
||||
: these will use the field name of the plural form of the index; see the `tags` and `categories` in the above front matter examples.
|
||||
|
||||
`title`
|
||||
title
|
||||
: the title for the content.
|
||||
|
||||
`type`
|
||||
type
|
||||
: the type of the content; this value will be automatically derived from the directory (i.e., the [section][]) if not specified in front matter.
|
||||
|
||||
`url`
|
||||
url
|
||||
: the full path to the content from the web root. It makes no assumptions about the path of the content file. It also ignores any language prefixes of
|
||||
the multilingual feature.
|
||||
|
||||
`weight`
|
||||
weight
|
||||
: used for [ordering your content in lists][ordering].
|
||||
|
||||
\<taxonomies\>
|
||||
: field name of the *plural* form of the index. See `tags` and `categories` in the above front matter examples. _Note that the plural form of user-defined taxonomies cannot be the same as any of the predefined front matter variables._
|
||||
|
||||
{{% note "Hugo's Default URL Destinations" %}}
|
||||
If neither `slug` nor `url` is present and [permalinks are not configured otherwise in your site `config` file](/content-management/urls/#permalinks), Hugo will use the filename of your content to create the output URL. See [Content Organization](/content-management/organization) for an explanation of paths in Hugo and [URL Management](/content-management/urls/) for ways to customize Hugo's default behaviors.
|
||||
{{% /note %}}
|
||||
@@ -130,10 +130,10 @@ You can add fields to your front matter arbitrarily to meet your needs. These us
|
||||
|
||||
The following fields can be accessed via `.Params.include_toc` and `.Params.show_comments`, respectively. The [Variables][] section provides more information on using Hugo's page- and site-level variables in your templates.
|
||||
|
||||
```
|
||||
{{< code-toggle copy="false" >}}
|
||||
include_toc: true
|
||||
show_comments: false
|
||||
```
|
||||
{{</ code-toggle >}}
|
||||
|
||||
|
||||
## Order Content Through Front Matter
|
||||
|
@@ -18,7 +18,7 @@ deprecated: false
|
||||
aliases: []
|
||||
---
|
||||
|
||||
Note that the filename must be relative to the current project working directory.
|
||||
Note that the filename must be relative to the current project working directory, or the project's `/content` folder.
|
||||
|
||||
So, if you have a file with the name `README.txt` in the root of your project with the content `Hugo Rocks!`:
|
||||
|
||||
@@ -26,6 +26,8 @@ So, if you have a file with the name `README.txt` in the root of your project wi
|
||||
{{readFile "README.txt"}} → "Hugo Rocks!"
|
||||
```
|
||||
|
||||
If you receive a "file doesn't exist" error with a path listed, do take note that the path is the last one checked by the function, and may not accurately reflect your target. You should generally double-check your path for mistakes.
|
||||
|
||||
For more information on using `readDir` and `readFile` in your templates, see [Local File Templates][local].
|
||||
|
||||
[local]: /templates/files/
|
||||
|
@@ -20,66 +20,94 @@ draft: false
|
||||
aliases: [/extras/scratch/,/doc/scratch/]
|
||||
---
|
||||
|
||||
In most cases you can do well without `Scratch`, but there are some use cases that aren't solvable with Go's templates without `Scratch`'s help, due to scoping issues.
|
||||
In most cases you can do okay without `Scratch`, but due to scoping issues, there are many use cases that aren't solvable in Go Templates without `Scratch`'s help.
|
||||
|
||||
{{% note %}}
|
||||
See [this Go issue](https://github.com/golang/go/issues/10608) for the main motivation behind Scratch.
|
||||
{{% /note %}}
|
||||
|
||||
{{% note %}}
|
||||
For a detailed analysis of `.Scratch` and in context use cases, see this [post](https://regisphilibert.com/blog/2017/04/hugo-scratch-explained-variable/).
|
||||
{{% /note %}}
|
||||
|
||||
## Methods
|
||||
|
||||
`Scratch` is added to both `Page` and `Shortcode` -- with following methods:
|
||||
|
||||
* `Set` and `Add` takes a `key` and the `value` to add.
|
||||
* `Get` returns the `value` for the `key` given.
|
||||
* `SetInMap` takes a `key`, `mapKey` and `value`
|
||||
* `GetSortedMapValues` returns array of values from `key` sorted by `mapKey`
|
||||
* `Delete` takes a `key` to remove
|
||||
#### .Set
|
||||
Set the given value to a given key
|
||||
|
||||
`Set` and `SetInMap` can store values of any type.
|
||||
```go-html-template
|
||||
{{ .Scratch.Set "greeting" "Hello" }}
|
||||
```
|
||||
#### .Get
|
||||
Get the value of a given key
|
||||
|
||||
```go-html-template
|
||||
{{ .Scratch.Set "greeting" "Hello" }}
|
||||
----
|
||||
{{ .Scratch.Get "greeting" }} > Hello
|
||||
```
|
||||
|
||||
#### .Add
|
||||
Will add a given value to existing value of the given key.
|
||||
|
||||
For single values, `Add` accepts values that support Go's `+` operator. If the first `Add` for a key is an array or slice, the following adds will be appended to that list.
|
||||
|
||||
```go-html-template
|
||||
{{ .Scratch.Add "greetings" "Hello" }}
|
||||
{{ .Scratch.Add "greetings" "Welcome" }}
|
||||
----
|
||||
{{ .Scratch.Get "greetings" }} > HelloWelcome
|
||||
```
|
||||
|
||||
```go-html-template
|
||||
{{ .Scratch.Add "total" 3 }}
|
||||
{{ .Scratch.Add "total" 7 }}
|
||||
----
|
||||
{{ .Scratch.Get "total" }} > 10
|
||||
```
|
||||
|
||||
|
||||
```go-html-template
|
||||
{{ .Scratch.Add "greetings" (slice "Hello") }}
|
||||
{{ .Scratch.Add "greetings" (slice "Welcome" "Cheers") }}
|
||||
----
|
||||
{{ .Scratch.Get "greetings" }} > []interface {}{"Hello", "Welcome", "Cheers"}
|
||||
```
|
||||
|
||||
#### .SetInMap
|
||||
Takes a `key`, `mapKey` and `value` and add a map of `mapKey` and `value` to the given `key`.
|
||||
|
||||
```go-html-template
|
||||
{{ .Scratch.SetInMap "greetings" "english" "Hello" }}
|
||||
{{ .Scratch.SetInMap "greetings" "french" "Bonjour" }}
|
||||
----
|
||||
{{ .Scratch.Get "greetings" }} > map[french:Bonjour english:Hello]
|
||||
```
|
||||
|
||||
#### .GetSortedMapValues
|
||||
Returns array of values from `key` sorted by `mapKey`
|
||||
|
||||
```go-html-template
|
||||
{{ .Scratch.SetInMap "greetings" "english" "Hello" }}
|
||||
{{ .Scratch.SetInMap "greetings" "french" "Bonjour" }}
|
||||
----
|
||||
{{ .Scratch.GetSortedMapValues "greetings" }} > [Hello Bonjour]
|
||||
```
|
||||
#### .Delete
|
||||
Removes the given key
|
||||
|
||||
```go-html-template
|
||||
{{ .Scratch.Delete "greetings" }}
|
||||
```
|
||||
|
||||
## Scope
|
||||
The scope of the backing data is global for the given `Page` or `Shortcode`, and spans partial and shortcode includes.
|
||||
|
||||
Note that `.Scratch` from a shortcode will return the shortcode's `Scratch`, which in most cases is what you want. If you want to store it in the page scroped Scratch, then use `.Page.Scratch`.
|
||||
Note that `.Scratch` from a shortcode will return the shortcode's `Scratch`, which in most cases is what you want. If you want to store it in the page scoped Scratch, then use `.Page.Scratch`.
|
||||
|
||||
## Sample usage
|
||||
|
||||
The usage is best illustrated with some samples:
|
||||
|
||||
```
|
||||
{{ $.Scratch.Add "a1" 12 }}
|
||||
{{ $.Scratch.Get "a1" }} {{/* => 12 */}}
|
||||
{{ $.Scratch.Add "a1" 1 }}
|
||||
{{ $.Scratch.Get "a1" }} // {{/* => 13 */}}
|
||||
|
||||
{{ $.Scratch.Add "a2" "AB" }}
|
||||
{{ $.Scratch.Get "a2" }} {{/* => AB */}}
|
||||
{{ $.Scratch.Add "a2" "CD" }}
|
||||
{{ $.Scratch.Get "a2" }} {{/* => ABCD */}}
|
||||
|
||||
{{ $.Scratch.Add "l1" (slice "A" "B") }}
|
||||
{{ $.Scratch.Get "l1" }} {{/* => [A B] */}}
|
||||
{{ $.Scratch.Add "l1" (slice "C" "D") }}
|
||||
{{ $.Scratch.Get "l1" }} {{/* => [A B C D] */}}
|
||||
|
||||
{{ $.Scratch.Set "v1" 123 }}
|
||||
{{ $.Scratch.Get "v1" }} {{/* => 123 */}}
|
||||
|
||||
{{ $.Scratch.SetInMap "a3" "b" "XX" }}
|
||||
{{ $.Scratch.SetInMap "a3" "a" "AA" }}
|
||||
{{ $.Scratch.SetInMap "a3" "c" "CC" }}
|
||||
{{ $.Scratch.SetInMap "a3" "b" "BB" }}
|
||||
{{ $.Scratch.GetSortedMapValues "a3" }} {{/* => []interface {}{"AA", "BB", "CC"} */}}
|
||||
|
||||
{{ $.Scratch.Add "a" 1 }}
|
||||
{{ $.Scratch.Delete "a" }}
|
||||
{{ $.Scratch.Add "a" 2 }}
|
||||
{{ $.Scratch.Get "a" }} {{/* => 2 */}}
|
||||
```
|
||||
|
||||
{{% note %}}
|
||||
The examples above uses the special `$` variable, which refers to the top-level node. This is the behavior you most likely want, and will help remove some confusion when using `Scratch` inside page range loops -- and you start inadvertently calling the wrong `Scratch`. But there may be use cases for `{{ .Scratch.Add "key" "some value" }}`.
|
||||
{{% /note %}}
|
||||
|
||||
|
||||
[pagevars]: /variables/page/
|
||||
|
@@ -346,7 +346,7 @@ The above will try first to extract the value for `.Lastmod` starting with the `
|
||||
|
||||
|
||||
`:filename`
|
||||
: Fetches the date from the content file's filename. For example, `218-02-22-mypage.md` will extract the date `218-02-22`. Also, if `slug is not set, `mypage` will be used as the value for `.Slug`.
|
||||
: Fetches the date from the content file's filename. For example, `218-02-22-mypage.md` will extract the date `218-02-22`. Also, if `slug` is not set, `mypage` will be used as the value for `.Slug`.
|
||||
|
||||
An example:
|
||||
|
||||
|
BIN
docs/content/news/0.39-relnotes/featured-hugo-39-poster.png
Normal file
BIN
docs/content/news/0.39-relnotes/featured-hugo-39-poster.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 212 KiB |
@@ -1,8 +1,8 @@
|
||||
|
||||
---
|
||||
date: 2018-04-16
|
||||
title: "0.39"
|
||||
description: "0.39"
|
||||
title: "The Nat King Cole Stabilizer Edition"
|
||||
description: "Hugo 0.39: Rewrite of the /commands package, `Resource.Content`, several new template funcs, and more …"
|
||||
categories: ["Releases"]
|
||||
---
|
||||
|
||||
|
Reference in New Issue
Block a user