diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/commands/hugo.md b/content/commands/hugo.md index 9e2097585..18aed3b75 100644 --- a/content/commands/hugo.md +++ b/content/commands/hugo.md @@ -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 diff --git a/content/commands/hugo_benchmark.md b/content/commands/hugo_benchmark.md index c76ab271d..63348c36d 100644 --- a/content/commands/hugo_benchmark.md +++ b/content/commands/hugo_benchmark.md @@ -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 diff --git a/content/commands/hugo_check.md b/content/commands/hugo_check.md index 27bde257a..239934dc2 100644 --- a/content/commands/hugo_check.md +++ b/content/commands/hugo_check.md @@ -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 diff --git a/content/commands/hugo_check_ulimit.md b/content/commands/hugo_check_ulimit.md index 73183c085..340a51259 100644 --- a/content/commands/hugo_check_ulimit.md +++ b/content/commands/hugo_check_ulimit.md @@ -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 diff --git a/content/commands/hugo_config.md b/content/commands/hugo_config.md index 031e3cbc7..66f3372ac 100644 --- a/content/commands/hugo_config.md +++ b/content/commands/hugo_config.md @@ -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 diff --git a/content/commands/hugo_convert.md b/content/commands/hugo_convert.md index 180669103..7ed15d309 100644 --- a/content/commands/hugo_convert.md +++ b/content/commands/hugo_convert.md @@ -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 diff --git a/content/commands/hugo_convert_toJSON.md b/content/commands/hugo_convert_toJSON.md index 2142cb194..03e2f692e 100644 --- a/content/commands/hugo_convert_toJSON.md +++ b/content/commands/hugo_convert_toJSON.md @@ -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 diff --git a/content/commands/hugo_convert_toTOML.md b/content/commands/hugo_convert_toTOML.md index 8d821d497..9abb418bb 100644 --- a/content/commands/hugo_convert_toTOML.md +++ b/content/commands/hugo_convert_toTOML.md @@ -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 diff --git a/content/commands/hugo_convert_toYAML.md b/content/commands/hugo_convert_toYAML.md index 79b777e46..8d87896eb 100644 --- a/content/commands/hugo_convert_toYAML.md +++ b/content/commands/hugo_convert_toYAML.md @@ -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 diff --git a/content/commands/hugo_env.md b/content/commands/hugo_env.md index 09811c844..b6062724e 100644 --- a/content/commands/hugo_env.md +++ b/content/commands/hugo_env.md @@ -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 diff --git a/content/commands/hugo_gen.md b/content/commands/hugo_gen.md index f28700f63..025fe5875 100644 --- a/content/commands/hugo_gen.md +++ b/content/commands/hugo_gen.md @@ -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 diff --git a/content/commands/hugo_gen_autocomplete.md b/content/commands/hugo_gen_autocomplete.md index 1f9819b48..2d327f64d 100644 --- a/content/commands/hugo_gen_autocomplete.md +++ b/content/commands/hugo_gen_autocomplete.md @@ -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 diff --git a/content/commands/hugo_gen_chromastyles.md b/content/commands/hugo_gen_chromastyles.md index 353e2381b..4db33e88e 100644 --- a/content/commands/hugo_gen_chromastyles.md +++ b/content/commands/hugo_gen_chromastyles.md @@ -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 diff --git a/content/commands/hugo_gen_doc.md b/content/commands/hugo_gen_doc.md index 321c2387e..2abf0c5a3 100644 --- a/content/commands/hugo_gen_doc.md +++ b/content/commands/hugo_gen_doc.md @@ -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 diff --git a/content/commands/hugo_gen_man.md b/content/commands/hugo_gen_man.md index ae55cdd81..50b72d892 100644 --- a/content/commands/hugo_gen_man.md +++ b/content/commands/hugo_gen_man.md @@ -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 diff --git a/content/commands/hugo_import.md b/content/commands/hugo_import.md index f6d42da4c..5dae58bea 100644 --- a/content/commands/hugo_import.md +++ b/content/commands/hugo_import.md @@ -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 diff --git a/content/commands/hugo_import_jekyll.md b/content/commands/hugo_import_jekyll.md index 6442aa6cf..c61116c6f 100644 --- a/content/commands/hugo_import_jekyll.md +++ b/content/commands/hugo_import_jekyll.md @@ -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 diff --git a/content/commands/hugo_list.md b/content/commands/hugo_list.md index 3d68a1859..69c3f8aa8 100644 --- a/content/commands/hugo_list.md +++ b/content/commands/hugo_list.md @@ -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 diff --git a/content/commands/hugo_list_drafts.md b/content/commands/hugo_list_drafts.md index d9b1d7228..c5f6251fa 100644 --- a/content/commands/hugo_list_drafts.md +++ b/content/commands/hugo_list_drafts.md @@ -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 diff --git a/content/commands/hugo_list_expired.md b/content/commands/hugo_list_expired.md index cf7cd64e4..6e5bc37b0 100644 --- a/content/commands/hugo_list_expired.md +++ b/content/commands/hugo_list_expired.md @@ -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 diff --git a/content/commands/hugo_list_future.md b/content/commands/hugo_list_future.md index 4d9c1494f..4fc138442 100644 --- a/content/commands/hugo_list_future.md +++ b/content/commands/hugo_list_future.md @@ -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 diff --git a/content/commands/hugo_new.md b/content/commands/hugo_new.md index 6d2986f85..448951c94 100644 --- a/content/commands/hugo_new.md +++ b/content/commands/hugo_new.md @@ -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 diff --git a/content/commands/hugo_new_site.md b/content/commands/hugo_new_site.md index d71e29788..65316f7cb 100644 --- a/content/commands/hugo_new_site.md +++ b/content/commands/hugo_new_site.md @@ -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 diff --git a/content/commands/hugo_new_theme.md b/content/commands/hugo_new_theme.md index 4a21ceab7..a7def203d 100644 --- a/content/commands/hugo_new_theme.md +++ b/content/commands/hugo_new_theme.md @@ -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 diff --git a/content/commands/hugo_server.md b/content/commands/hugo_server.md index 8f524452b..c3ed93bc9 100644 --- a/content/commands/hugo_server.md +++ b/content/commands/hugo_server.md @@ -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 diff --git a/content/commands/hugo_version.md b/content/commands/hugo_version.md index ab9441458..308013a4f 100644 --- a/content/commands/hugo_version.md +++ b/content/commands/hugo_version.md @@ -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 diff --git a/content/content-management/front-matter.md b/content/content-management/front-matter.md index 2fc18ee31..bf067797c 100644 --- a/content/content-management/front-matter.md +++ b/content/content-management/front-matter.md @@ -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]. +\ +: 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 -``` +{{}} ## Order Content Through Front Matter diff --git a/content/functions/readfile.md b/content/functions/readfile.md index cb03ac551..bcd845c96 100644 --- a/content/functions/readfile.md +++ b/content/functions/readfile.md @@ -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/ diff --git a/content/functions/scratch.md b/content/functions/scratch.md index b8fc0e59c..9df78fe43 100644 --- a/content/functions/scratch.md +++ b/content/functions/scratch.md @@ -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/ diff --git a/content/getting-started/configuration.md b/content/getting-started/configuration.md index 8da25fd58..23fceb56f 100644 --- a/content/getting-started/configuration.md +++ b/content/getting-started/configuration.md @@ -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: diff --git a/content/news/0.39-relnotes/featured-hugo-39-poster.png b/content/news/0.39-relnotes/featured-hugo-39-poster.png new file mode 100644 index 000000000..e3fa6400a Binary files /dev/null and b/content/news/0.39-relnotes/featured-hugo-39-poster.png differ diff --git a/content/news/0.39-relnotes/index.md b/content/news/0.39-relnotes/index.md index d7fc7fd43..a114e4820 100644 --- a/content/news/0.39-relnotes/index.md +++ b/content/news/0.39-relnotes/index.md @@ -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"] --- diff --git a/data/docs.json b/data/docs.json index 6400900af..2a7f727b7 100644 --- a/data/docs.json +++ b/data/docs.json @@ -2977,6 +2977,42 @@ "Examples": [] } }, + "path": { + "Join": { + "Description": "Join joins any number of path elements into a single path, adding a\nseparating slash if necessary. All the input\npath elements are passed into filepath.ToSlash converting any Windows slashes\nto forward slashes.\nThe result is Cleaned; in particular,\nall empty strings are ignored.", + "Args": [ + "elements" + ], + "Aliases": null, + "Examples": [ + [ + "{{ slice \"my/path\" \"filename.txt\" | path.Join }}", + "my/path/filename.txt" + ], + [ + "{{ path.Join \"my\" \"path\" \"filename.txt\" }}", + "my/path/filename.txt" + ] + ] + }, + "Split": { + "Description": "Split splits path immediately following the final slash,\nseparating it into a directory and file name component.\nIf there is no slash in path, Split returns an empty dir and\nfile set to path.\nThe input path is passed into filepath.ToSlash converting any Windows slashes\nto forward slashes.\nThe returned values have the property that path = dir+file.", + "Args": [ + "path" + ], + "Aliases": null, + "Examples": [ + [ + "{{ \"/my/path/filename.txt\" | path.Split }}", + "/my/path/|filename.txt" + ], + [ + "{{ \"/my/path/filename.txt\" | path.Split }}", + "/my/path/|filename.txt" + ] + ] + } + }, "safe": { "CSS": { "Description": "CSS returns a given string as html/template CSS content.", @@ -3607,6 +3643,21 @@ ], "Examples": [] }, + "Anchorize": { + "Description": "Anchorize creates sanitized anchor names that are compatible with Blackfriday.", + "Args": [ + "a" + ], + "Aliases": [ + "anchorize" + ], + "Examples": [ + [ + "{{ \"This is a title\" | anchorize }}", + "this-is-a-title" + ] + ] + }, "Parse": { "Description": "", "Args": null, diff --git a/netlify.toml b/netlify.toml index 0f24d5ae3..caf6bc3e8 100644 --- a/netlify.toml +++ b/netlify.toml @@ -3,7 +3,7 @@ publish = "public" command = "hugo" [context.production.environment] -HUGO_VERSION = "0.38.2" +HUGO_VERSION = "0.39" HUGO_ENV = "production" HUGO_ENABLEGITINFO = "true" @@ -11,20 +11,20 @@ HUGO_ENABLEGITINFO = "true" command = "hugo --enableGitInfo" [context.split1.environment] -HUGO_VERSION = "0.38.2" +HUGO_VERSION = "0.39" HUGO_ENV = "production" [context.deploy-preview] command = "hugo -b $DEPLOY_PRIME_URL" [context.deploy-preview.environment] -HUGO_VERSION = "0.38.2" +HUGO_VERSION = "0.39" [context.branch-deploy] command = "hugo -b $DEPLOY_PRIME_URL" [context.branch-deploy.environment] -HUGO_VERSION = "0.38.2" +HUGO_VERSION = "0.39" [context.next.environment] HUGO_ENABLEGITINFO = "true" diff --git a/resources/_gen/images/news/0.39-relnotes/featured-hugo-39-poster_hu2a1fdf8d3d53aa00bce401a32585d7ec_216872_640x0_resize_catmullrom_2.png b/resources/_gen/images/news/0.39-relnotes/featured-hugo-39-poster_hu2a1fdf8d3d53aa00bce401a32585d7ec_216872_640x0_resize_catmullrom_2.png new file mode 100644 index 000000000..18d992dfe Binary files /dev/null and b/resources/_gen/images/news/0.39-relnotes/featured-hugo-39-poster_hu2a1fdf8d3d53aa00bce401a32585d7ec_216872_640x0_resize_catmullrom_2.png differ diff --git a/resources/_gen/images/news/0.39-relnotes/featured-hugo-39-poster_hu3261e6e65defb4edf9f0fce20bf5f60d_217215_480x0_resize_catmullrom_2.png b/resources/_gen/images/news/0.39-relnotes/featured-hugo-39-poster_hu3261e6e65defb4edf9f0fce20bf5f60d_217215_480x0_resize_catmullrom_2.png new file mode 100644 index 000000000..e9fe82ca4 Binary files /dev/null and b/resources/_gen/images/news/0.39-relnotes/featured-hugo-39-poster_hu3261e6e65defb4edf9f0fce20bf5f60d_217215_480x0_resize_catmullrom_2.png differ diff --git a/resources/_gen/images/news/0.39-relnotes/featured-hugo-39-poster_hu3261e6e65defb4edf9f0fce20bf5f60d_217215_640x0_resize_catmullrom_2.png b/resources/_gen/images/news/0.39-relnotes/featured-hugo-39-poster_hu3261e6e65defb4edf9f0fce20bf5f60d_217215_640x0_resize_catmullrom_2.png new file mode 100644 index 000000000..18d992dfe Binary files /dev/null and b/resources/_gen/images/news/0.39-relnotes/featured-hugo-39-poster_hu3261e6e65defb4edf9f0fce20bf5f60d_217215_640x0_resize_catmullrom_2.png differ