From 07b8d9466dfb59c429c1b470a0443337bc0aeefe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Tue, 20 Apr 2021 20:21:45 +0200 Subject: [PATCH] Squashed 'docs/' changes from 9cece6640..fb551cc75 fb551cc75 Update index.md 7af894857 Update index.md d235753ea Hugo 0.82.1 e03e72deb Merge branch 'temp0821' e62648961 Merge branch 'release-0.82.1' e1ab0f6eb releaser: Add release notes to /docs for release of 0.82.1 5d354c38d Replaced ``` code blocks with Code Toggler c9d065c20 Remove duplicate YAML keys (#1420) 8ae31e701 Add webp image encoding support 848f2af26 Update internal.md (#1407) c103a86a4 Fix `ref` shortcode example output (#1409) 9f8ba56dc Remove leading dot from where function KEY (#1419) 363251a51 Improve presentation of template lookup order (#1382) b73da986d Improve description of Page Resources (#1381) 4e0bb96d5 Rework robots.txt page (#1405) edf893e6f Update migrations.md (#1412) 450f1580b Add link to `site` function doc (#1417) cfffa6e6f Added one extension to the list (#1414) 05f1665a0 Update theme 5de0b1c6a Update theme 250e20552 Add hugo.IsExtended dea5e1fd7 Fix typo on merge function page (#1408) 1bbed2cf3 Update configuration.md be0b64a46 Omit ISO cbb5b8367 Fix `dateFormat` documentation 698f15466 Regenerate the docshelper f9a8a7cb6 Update multilingual.md a22dc6267 Fix grammar (#1398) eb98b0997 Fix pretty URL example (#1397) f4c4153dc Mention date var complementation in post scheduling (#1396) 17fae284c Fix resources.ExecuteAsTemplate argument order (#1394) 97e2c2abb Use code-toggle shortcode in `multilingual.md` (#1388) 3a84929bb Harmonize capitalization (#1393) 17f15daa6 fix file naming used in example (#1392) 5d97b6a18 Add slice syntax to sections permalinks config 00665b97b Improve description of `site.md` edcf5e3fc Fix example in `merge.md` f275ab778 Update postprocess.md 9593e3991 Fix file name 59bd9656f Update postprocess.md 1172fb6d0 Update to theNewDynamic repository (#1263) f5b5c1d2c Update Hugo container image 4f2e92f2a Adapt anchorize.md to Goldmark 98aa19073 Directly link to `highlight` shortcode (#1384) 4c75c2422 Fix header level f15c06f23 markdownify: add note about render-hooks and .RenderString (#1281) 69c82eb68 Remove Blackfriday reference from shortcode desc (#1380) 36de478df Update description of ignoreFiles config setting (#1377) 6337699d8 Remove "Authors" page from documentation (#1371) 35e73ca90 fix indent in example (#1372) d3f01f19a Remove opening body tag from header example (#1376) 341a5a7d8 Update index.md c9bfdbee6 Release 0.82.0 119644949 releaser: Add release notes to /docs for release of 0.82.0 32efaed78 docs: Regenerate docs helper dea5449a2 docs: Regen CLI docs eeab18fce Merge commit '81689af79901f0cdaff765cda6322dd4a9a7ccb3' d508a1259 Attributes for code fences should be placed after the lang indicator only c80905cef deps: Update to esbuild v0.9.0 95350eb79 Add support for Google Analytics v4 02d36f9bc Allow markdown attribute lists to be used in title render hooks 7df220a64 Merge commit '9d31f650da964a52f05fc27b7fb99cf3e09778cf' d80bf61b7 Fixes #7698. git-subtree-dir: docs git-subtree-split: fb551cc750faa83a1493b0e0d0898cd98ab74465 --- .../gohugoioTheme/assets/css/_code.css | 10 +- .../gohugoioTheme/assets/output/css/app.css | 2 +- _vendor/modules.txt | 2 +- content/en/about/hugo-and-gdpr.md | 3 + content/en/commands/hugo.md | 4 +- content/en/commands/hugo_check.md | 4 +- content/en/commands/hugo_check_ulimit.md | 4 +- content/en/commands/hugo_config.md | 4 +- content/en/commands/hugo_config_mounts.md | 4 +- content/en/commands/hugo_convert.md | 4 +- content/en/commands/hugo_convert_toJSON.md | 4 +- content/en/commands/hugo_convert_toTOML.md | 4 +- content/en/commands/hugo_convert_toYAML.md | 4 +- content/en/commands/hugo_deploy.md | 4 +- content/en/commands/hugo_env.md | 4 +- content/en/commands/hugo_gen.md | 4 +- content/en/commands/hugo_gen_autocomplete.md | 4 +- content/en/commands/hugo_gen_chromastyles.md | 4 +- content/en/commands/hugo_gen_doc.md | 4 +- content/en/commands/hugo_gen_man.md | 4 +- content/en/commands/hugo_import.md | 4 +- content/en/commands/hugo_import_jekyll.md | 4 +- content/en/commands/hugo_list.md | 4 +- content/en/commands/hugo_list_all.md | 4 +- content/en/commands/hugo_list_drafts.md | 4 +- content/en/commands/hugo_list_expired.md | 4 +- content/en/commands/hugo_list_future.md | 4 +- content/en/commands/hugo_mod.md | 4 +- content/en/commands/hugo_mod_clean.md | 4 +- content/en/commands/hugo_mod_get.md | 4 +- content/en/commands/hugo_mod_graph.md | 4 +- content/en/commands/hugo_mod_init.md | 4 +- content/en/commands/hugo_mod_npm.md | 4 +- content/en/commands/hugo_mod_npm_pack.md | 4 +- content/en/commands/hugo_mod_tidy.md | 4 +- content/en/commands/hugo_mod_vendor.md | 4 +- content/en/commands/hugo_mod_verify.md | 4 +- content/en/commands/hugo_new.md | 4 +- content/en/commands/hugo_new_site.md | 4 +- content/en/commands/hugo_new_theme.md | 6 +- content/en/commands/hugo_server.md | 4 +- content/en/commands/hugo_version.md | 4 +- content/en/content-management/authors.md | 182 --------- content/en/content-management/formats.md | 2 + .../image-processing/index.md | 25 +- content/en/content-management/multilingual.md | 30 +- .../content-management/organization/index.md | 2 +- .../en/content-management/page-resources.md | 30 +- content/en/content-management/shortcodes.md | 6 +- .../content-management/syntax-highlighting.md | 2 +- content/en/content-management/urls.md | 4 +- content/en/functions/NumFmt.md | 1 - content/en/functions/adddate.md | 4 +- content/en/functions/anchorize.md | 7 +- content/en/functions/dateformat.md | 5 +- content/en/functions/delimit.md | 1 - content/en/functions/dict.md | 1 - content/en/functions/hugo.md | 3 + content/en/functions/index-function.md | 6 +- content/en/functions/lang.Merge.md | 1 - content/en/functions/markdownify.md | 5 + content/en/functions/merge.md | 8 +- content/en/functions/path.Split.md | 6 +- content/en/functions/safeHTML.md | 4 +- content/en/functions/safeHTMLAttr.md | 4 +- content/en/functions/site.md | 2 +- content/en/functions/where.md | 14 +- .../getting-started/configuration-markup.md | 11 + content/en/getting-started/configuration.md | 46 +-- content/en/getting-started/quick-start.md | 6 +- content/en/getting-started/usage.md | 10 +- .../hosting-on-gitlab.md | 6 +- .../hosting-on-netlify.md | 4 +- content/en/hugo-modules/use-modules.md | 6 +- content/en/hugo-pipes/js.md | 3 - content/en/hugo-pipes/postprocess.md | 16 +- .../en/hugo-pipes/resource-from-template.md | 4 +- content/en/news/0.19-relnotes/index.md | 4 +- content/en/news/0.20.2-relnotes/index.md | 10 +- content/en/news/0.26-relnotes/index.md | 6 +- content/en/news/0.36-relnotes/index.md | 7 +- content/en/news/0.56.3-relnotes/index.md | 4 +- content/en/news/0.66.0-relnotes/index.md | 6 +- content/en/news/0.67.0-relnotes/index.md | 4 +- content/en/news/0.76.0-relnotes/index.md | 4 +- content/en/news/0.81.0-relnotes/index.md | 6 +- content/en/news/0.82.0-relnotes/featured.png | Bin 0 -> 57106 bytes content/en/news/0.82.0-relnotes/index.md | 78 ++++ content/en/news/0.82.1-relnotes/index.md | 19 + content/en/news/http2-server-push-in-hugo.md | 3 +- content/en/templates/data-templates.md | 4 +- content/en/templates/internal.md | 15 +- content/en/templates/pagination.md | 8 +- content/en/templates/partials.md | 3 +- content/en/templates/robots.md | 48 ++- content/en/templates/rss.md | 6 +- content/en/templates/taxonomy-templates.md | 2 +- content/en/tools/editors.md | 1 + content/en/tools/migrations.md | 2 +- content/en/troubleshooting/faq.md | 4 +- content/en/variables/site.md | 2 +- data/docs.json | 360 ++++++++++-------- go.mod | 2 +- go.sum | 4 + layouts/shortcodes/datatable-filtered.html | 15 +- netlify.toml | 8 +- ...b421a4_57106_480x0_resize_catmullrom_2.png | Bin 0 -> 27003 bytes ...b421a4_57106_640x0_resize_catmullrom_2.png | Bin 0 -> 41948 bytes 108 files changed, 661 insertions(+), 612 deletions(-) delete mode 100644 content/en/content-management/authors.md create mode 100644 content/en/news/0.82.0-relnotes/featured.png create mode 100644 content/en/news/0.82.0-relnotes/index.md create mode 100644 content/en/news/0.82.1-relnotes/index.md create mode 100644 resources/_gen/images/news/0.82.0-relnotes/featured_hu5d8344c080499179dc5edbf7deb421a4_57106_480x0_resize_catmullrom_2.png create mode 100644 resources/_gen/images/news/0.82.0-relnotes/featured_hu5d8344c080499179dc5edbf7deb421a4_57106_640x0_resize_catmullrom_2.png diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_code.css b/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_code.css index 2fb402fcf..66a2fc246 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_code.css +++ b/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_code.css @@ -9,12 +9,6 @@ margin: 0; } -pre, .pre { - overflow-x: auto; - overflow-y: hidden; - overflow: scroll; -} - code { padding: 0.2em; margin: 0; @@ -23,8 +17,7 @@ code { border-radius: 3px; } - -pre code { +pre code { display: block; padding: 1.5em 1.5em; font-size: .875rem; @@ -32,7 +25,6 @@ pre code { overflow-x: auto; } - pre { background-color: #fff; color: #333; diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css b/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css index c08fbc9dc..b5e5faa84 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css +++ b/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css @@ -4083,7 +4083,7 @@ img { max-width: 100%; } max-width: 30em; } .measure-wide-l { - max-width: 34em; + max-width: 40em; } .measure-narrow-l { max-width: 20em; diff --git a/_vendor/modules.txt b/_vendor/modules.txt index d3402db0b..ecff0980d 100644 --- a/_vendor/modules.txt +++ b/_vendor/modules.txt @@ -1 +1 @@ -# github.com/gohugoio/gohugoioTheme v0.0.0-20210301124928-2c15837dfec3 +# github.com/gohugoio/gohugoioTheme v0.0.0-20210409071416-c88da48134b7 diff --git a/content/en/about/hugo-and-gdpr.md b/content/en/about/hugo-and-gdpr.md index df0234a3b..269c5d432 100644 --- a/content/en/about/hugo-and-gdpr.md +++ b/content/en/about/hugo-and-gdpr.md @@ -92,6 +92,9 @@ respectDoNotTrack useSessionStorage : Enabling this will disable the use of Cookies and use Session Storage to Store the GA Client ID. +{{% warning %}} +`useSessionStorage` is not supported when using Google Analytics v4 (gtag.js). +{{% /warning %}} ### Instagram simple diff --git a/content/en/commands/hugo.md b/content/en/commands/hugo.md index 42744b708..b503fe40a 100644 --- a/content/en/commands/hugo.md +++ b/content/en/commands/hugo.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo" slug: hugo url: /commands/hugo/ @@ -81,4 +81,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 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_check.md b/content/en/commands/hugo_check.md index 384507179..afec5dbb3 100644 --- a/content/en/commands/hugo_check.md +++ b/content/en/commands/hugo_check.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo check" slug: hugo_check url: /commands/hugo_check/ @@ -37,4 +37,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 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_check_ulimit.md b/content/en/commands/hugo_check_ulimit.md index bfd98bde3..676560913 100644 --- a/content/en/commands/hugo_check_ulimit.md +++ b/content/en/commands/hugo_check_ulimit.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo check ulimit" slug: hugo_check_ulimit url: /commands/hugo_check_ulimit/ @@ -45,4 +45,4 @@ hugo check ulimit [flags] * [hugo check](/commands/hugo_check/) - Contains some verification checks -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_config.md b/content/en/commands/hugo_config.md index d7f0d17b9..ad1c699dc 100644 --- a/content/en/commands/hugo_config.md +++ b/content/en/commands/hugo_config.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo config" slug: hugo_config url: /commands/hugo_config/ @@ -45,4 +45,4 @@ hugo config [flags] * [hugo](/commands/hugo/) - hugo builds your site * [hugo config mounts](/commands/hugo_config_mounts/) - Print the configured file mounts -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_config_mounts.md b/content/en/commands/hugo_config_mounts.md index a8e6b4499..34755e8df 100644 --- a/content/en/commands/hugo_config_mounts.md +++ b/content/en/commands/hugo_config_mounts.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo config mounts" slug: hugo_config_mounts url: /commands/hugo_config_mounts/ @@ -40,4 +40,4 @@ hugo config mounts [flags] * [hugo config](/commands/hugo_config/) - Print the site configuration -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_convert.md b/content/en/commands/hugo_convert.md index 1ea65ad63..f88bb3e49 100644 --- a/content/en/commands/hugo_convert.md +++ b/content/en/commands/hugo_convert.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo convert" slug: hugo_convert url: /commands/hugo_convert/ @@ -47,4 +47,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 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_convert_toJSON.md b/content/en/commands/hugo_convert_toJSON.md index b02cf472c..b8e255087 100644 --- a/content/en/commands/hugo_convert_toJSON.md +++ b/content/en/commands/hugo_convert_toJSON.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo convert toJSON" slug: hugo_convert_toJSON url: /commands/hugo_convert_tojson/ @@ -47,4 +47,4 @@ hugo convert toJSON [flags] * [hugo convert](/commands/hugo_convert/) - Convert your content to different formats -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_convert_toTOML.md b/content/en/commands/hugo_convert_toTOML.md index 28ff53359..aaf935dc3 100644 --- a/content/en/commands/hugo_convert_toTOML.md +++ b/content/en/commands/hugo_convert_toTOML.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo convert toTOML" slug: hugo_convert_toTOML url: /commands/hugo_convert_totoml/ @@ -47,4 +47,4 @@ hugo convert toTOML [flags] * [hugo convert](/commands/hugo_convert/) - Convert your content to different formats -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_convert_toYAML.md b/content/en/commands/hugo_convert_toYAML.md index 48aef268e..d9d3c92f7 100644 --- a/content/en/commands/hugo_convert_toYAML.md +++ b/content/en/commands/hugo_convert_toYAML.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo convert toYAML" slug: hugo_convert_toYAML url: /commands/hugo_convert_toyaml/ @@ -47,4 +47,4 @@ hugo convert toYAML [flags] * [hugo convert](/commands/hugo_convert/) - Convert your content to different formats -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_deploy.md b/content/en/commands/hugo_deploy.md index b3b51426f..d20dddeee 100644 --- a/content/en/commands/hugo_deploy.md +++ b/content/en/commands/hugo_deploy.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo deploy" slug: hugo_deploy url: /commands/hugo_deploy/ @@ -54,4 +54,4 @@ hugo deploy [flags] * [hugo](/commands/hugo/) - hugo builds your site -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_env.md b/content/en/commands/hugo_env.md index 39b840342..a62315ab1 100644 --- a/content/en/commands/hugo_env.md +++ b/content/en/commands/hugo_env.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo env" slug: hugo_env url: /commands/hugo_env/ @@ -44,4 +44,4 @@ hugo env [flags] * [hugo](/commands/hugo/) - hugo builds your site -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_gen.md b/content/en/commands/hugo_gen.md index 4146e43c3..05c3bcb52 100644 --- a/content/en/commands/hugo_gen.md +++ b/content/en/commands/hugo_gen.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo gen" slug: hugo_gen url: /commands/hugo_gen/ @@ -40,4 +40,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 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_gen_autocomplete.md b/content/en/commands/hugo_gen_autocomplete.md index 414b5905b..3b9561366 100644 --- a/content/en/commands/hugo_gen_autocomplete.md +++ b/content/en/commands/hugo_gen_autocomplete.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo gen autocomplete" slug: hugo_gen_autocomplete url: /commands/hugo_gen_autocomplete/ @@ -58,4 +58,4 @@ hugo gen autocomplete [flags] * [hugo gen](/commands/hugo_gen/) - A collection of several useful generators. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_gen_chromastyles.md b/content/en/commands/hugo_gen_chromastyles.md index d09d046d7..cd9dffad3 100644 --- a/content/en/commands/hugo_gen_chromastyles.md +++ b/content/en/commands/hugo_gen_chromastyles.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo gen chromastyles" slug: hugo_gen_chromastyles url: /commands/hugo_gen_chromastyles/ @@ -49,4 +49,4 @@ hugo gen chromastyles [flags] * [hugo gen](/commands/hugo_gen/) - A collection of several useful generators. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_gen_doc.md b/content/en/commands/hugo_gen_doc.md index f2f5dbde3..9b7279e26 100644 --- a/content/en/commands/hugo_gen_doc.md +++ b/content/en/commands/hugo_gen_doc.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo gen doc" slug: hugo_gen_doc url: /commands/hugo_gen_doc/ @@ -51,4 +51,4 @@ hugo gen doc [flags] * [hugo gen](/commands/hugo_gen/) - A collection of several useful generators. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_gen_man.md b/content/en/commands/hugo_gen_man.md index 7710ea1c2..7bb21c3ae 100644 --- a/content/en/commands/hugo_gen_man.md +++ b/content/en/commands/hugo_gen_man.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo gen man" slug: hugo_gen_man url: /commands/hugo_gen_man/ @@ -47,4 +47,4 @@ hugo gen man [flags] * [hugo gen](/commands/hugo_gen/) - A collection of several useful generators. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_import.md b/content/en/commands/hugo_import.md index ec791678f..01520a4c2 100644 --- a/content/en/commands/hugo_import.md +++ b/content/en/commands/hugo_import.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo import" slug: hugo_import url: /commands/hugo_import/ @@ -43,4 +43,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 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_import_jekyll.md b/content/en/commands/hugo_import_jekyll.md index 23721f846..d9a9487b9 100644 --- a/content/en/commands/hugo_import_jekyll.md +++ b/content/en/commands/hugo_import_jekyll.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo import jekyll" slug: hugo_import_jekyll url: /commands/hugo_import_jekyll/ @@ -47,4 +47,4 @@ hugo import jekyll [flags] * [hugo import](/commands/hugo_import/) - Import your site from others. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_list.md b/content/en/commands/hugo_list.md index d5075ea6b..60f57a109 100644 --- a/content/en/commands/hugo_list.md +++ b/content/en/commands/hugo_list.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo list" slug: hugo_list url: /commands/hugo_list/ @@ -46,4 +46,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 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_list_all.md b/content/en/commands/hugo_list_all.md index 7e17c758c..a6325b125 100644 --- a/content/en/commands/hugo_list_all.md +++ b/content/en/commands/hugo_list_all.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo list all" slug: hugo_list_all url: /commands/hugo_list_all/ @@ -44,4 +44,4 @@ hugo list all [flags] * [hugo list](/commands/hugo_list/) - Listing out various types of content -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_list_drafts.md b/content/en/commands/hugo_list_drafts.md index 6a842bd8b..c29d52cb3 100644 --- a/content/en/commands/hugo_list_drafts.md +++ b/content/en/commands/hugo_list_drafts.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo list drafts" slug: hugo_list_drafts url: /commands/hugo_list_drafts/ @@ -44,4 +44,4 @@ hugo list drafts [flags] * [hugo list](/commands/hugo_list/) - Listing out various types of content -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_list_expired.md b/content/en/commands/hugo_list_expired.md index 178f2b569..320eaf0d1 100644 --- a/content/en/commands/hugo_list_expired.md +++ b/content/en/commands/hugo_list_expired.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo list expired" slug: hugo_list_expired url: /commands/hugo_list_expired/ @@ -44,4 +44,4 @@ hugo list expired [flags] * [hugo list](/commands/hugo_list/) - Listing out various types of content -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_list_future.md b/content/en/commands/hugo_list_future.md index 4b6f6df45..acc594dc7 100644 --- a/content/en/commands/hugo_list_future.md +++ b/content/en/commands/hugo_list_future.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo list future" slug: hugo_list_future url: /commands/hugo_list_future/ @@ -44,4 +44,4 @@ hugo list future [flags] * [hugo list](/commands/hugo_list/) - Listing out various types of content -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_mod.md b/content/en/commands/hugo_mod.md index 993ac8efd..b726f8d8f 100644 --- a/content/en/commands/hugo_mod.md +++ b/content/en/commands/hugo_mod.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo mod" slug: hugo_mod url: /commands/hugo_mod/ @@ -84,4 +84,4 @@ See https://gohugo.io/hugo-modules/ for more information. * [hugo mod vendor](/commands/hugo_mod_vendor/) - Vendor all module dependencies into the _vendor directory. * [hugo mod verify](/commands/hugo_mod_verify/) - Verify dependencies. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_mod_clean.md b/content/en/commands/hugo_mod_clean.md index 1d35ad0fb..0095db3fa 100644 --- a/content/en/commands/hugo_mod_clean.md +++ b/content/en/commands/hugo_mod_clean.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo mod clean" slug: hugo_mod_clean url: /commands/hugo_mod_clean/ @@ -52,4 +52,4 @@ hugo mod clean [flags] * [hugo mod](/commands/hugo_mod/) - Various Hugo Modules helpers. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_mod_get.md b/content/en/commands/hugo_mod_get.md index 98bd795ce..3549459fe 100644 --- a/content/en/commands/hugo_mod_get.md +++ b/content/en/commands/hugo_mod_get.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo mod get" slug: hugo_mod_get url: /commands/hugo_mod_get/ @@ -70,4 +70,4 @@ hugo mod get [flags] * [hugo mod](/commands/hugo_mod/) - Various Hugo Modules helpers. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_mod_graph.md b/content/en/commands/hugo_mod_graph.md index a7dc00e1f..72405b036 100644 --- a/content/en/commands/hugo_mod_graph.md +++ b/content/en/commands/hugo_mod_graph.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo mod graph" slug: hugo_mod_graph url: /commands/hugo_mod_graph/ @@ -46,4 +46,4 @@ hugo mod graph [flags] * [hugo mod](/commands/hugo_mod/) - Various Hugo Modules helpers. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_mod_init.md b/content/en/commands/hugo_mod_init.md index e25ffb76d..680a085cc 100644 --- a/content/en/commands/hugo_mod_init.md +++ b/content/en/commands/hugo_mod_init.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo mod init" slug: hugo_mod_init url: /commands/hugo_mod_init/ @@ -51,4 +51,4 @@ hugo mod init [flags] * [hugo mod](/commands/hugo_mod/) - Various Hugo Modules helpers. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_mod_npm.md b/content/en/commands/hugo_mod_npm.md index 87435cc44..02932fe04 100644 --- a/content/en/commands/hugo_mod_npm.md +++ b/content/en/commands/hugo_mod_npm.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo mod npm" slug: hugo_mod_npm url: /commands/hugo_mod_npm/ @@ -45,4 +45,4 @@ hugo mod npm [flags] * [hugo mod](/commands/hugo_mod/) - Various Hugo Modules helpers. * [hugo mod npm pack](/commands/hugo_mod_npm_pack/) - Experimental: Prepares and writes a composite package.json file for your project. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_mod_npm_pack.md b/content/en/commands/hugo_mod_npm_pack.md index 6018247f4..cefd7d2c8 100644 --- a/content/en/commands/hugo_mod_npm_pack.md +++ b/content/en/commands/hugo_mod_npm_pack.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo mod npm pack" slug: hugo_mod_npm_pack url: /commands/hugo_mod_npm_pack/ @@ -54,4 +54,4 @@ hugo mod npm pack [flags] * [hugo mod npm](/commands/hugo_mod_npm/) - Various npm helpers. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_mod_tidy.md b/content/en/commands/hugo_mod_tidy.md index 8be23060c..436cdaf41 100644 --- a/content/en/commands/hugo_mod_tidy.md +++ b/content/en/commands/hugo_mod_tidy.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo mod tidy" slug: hugo_mod_tidy url: /commands/hugo_mod_tidy/ @@ -40,4 +40,4 @@ hugo mod tidy [flags] * [hugo mod](/commands/hugo_mod/) - Various Hugo Modules helpers. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_mod_vendor.md b/content/en/commands/hugo_mod_vendor.md index 8e8c3ea9d..5d1fd96cc 100644 --- a/content/en/commands/hugo_mod_vendor.md +++ b/content/en/commands/hugo_mod_vendor.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo mod vendor" slug: hugo_mod_vendor url: /commands/hugo_mod_vendor/ @@ -47,4 +47,4 @@ hugo mod vendor [flags] * [hugo mod](/commands/hugo_mod/) - Various Hugo Modules helpers. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_mod_verify.md b/content/en/commands/hugo_mod_verify.md index 79ab88afe..753030ced 100644 --- a/content/en/commands/hugo_mod_verify.md +++ b/content/en/commands/hugo_mod_verify.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo mod verify" slug: hugo_mod_verify url: /commands/hugo_mod_verify/ @@ -46,4 +46,4 @@ hugo mod verify [flags] * [hugo mod](/commands/hugo_mod/) - Various Hugo Modules helpers. -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_new.md b/content/en/commands/hugo_new.md index 3d7483e9e..35816e5b6 100644 --- a/content/en/commands/hugo_new.md +++ b/content/en/commands/hugo_new.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo new" slug: hugo_new url: /commands/hugo_new/ @@ -79,4 +79,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 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_new_site.md b/content/en/commands/hugo_new_site.md index 75427809f..f7b330e7c 100644 --- a/content/en/commands/hugo_new_site.md +++ b/content/en/commands/hugo_new_site.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo new site" slug: hugo_new_site url: /commands/hugo_new_site/ @@ -48,4 +48,4 @@ hugo new site [path] [flags] * [hugo new](/commands/hugo_new/) - Create new content for your site -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_new_theme.md b/content/en/commands/hugo_new_theme.md index 1a91112d3..d040a252f 100644 --- a/content/en/commands/hugo_new_theme.md +++ b/content/en/commands/hugo_new_theme.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo new theme" slug: hugo_new_theme url: /commands/hugo_new_theme/ @@ -10,7 +10,7 @@ Create a new theme ### Synopsis -Create a new theme (skeleton) called [name] in the current directory. +Create a new theme (skeleton) called [name] in ./themes. New theme is a skeleton. Please add content to the touched files. Add your name to the copyright line in the license and adjust the theme.toml file as you see fit. @@ -47,4 +47,4 @@ hugo new theme [name] [flags] * [hugo new](/commands/hugo_new/) - Create new content for your site -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_server.md b/content/en/commands/hugo_server.md index 9f928d4e8..fc984c742 100644 --- a/content/en/commands/hugo_server.md +++ b/content/en/commands/hugo_server.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo server" slug: hugo_server url: /commands/hugo_server/ @@ -92,4 +92,4 @@ hugo server [flags] * [hugo](/commands/hugo/) - hugo builds your site -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/commands/hugo_version.md b/content/en/commands/hugo_version.md index 06bfa39c0..f73acc82a 100644 --- a/content/en/commands/hugo_version.md +++ b/content/en/commands/hugo_version.md @@ -1,5 +1,5 @@ --- -date: 2021-02-20 +date: 2021-03-21 title: "hugo version" slug: hugo_version url: /commands/hugo_version/ @@ -44,4 +44,4 @@ hugo version [flags] * [hugo](/commands/hugo/) - hugo builds your site -###### Auto generated by spf13/cobra on 20-Feb-2021 +###### Auto generated by spf13/cobra on 21-Mar-2021 diff --git a/content/en/content-management/authors.md b/content/en/content-management/authors.md deleted file mode 100644 index a39897dd8..000000000 --- a/content/en/content-management/authors.md +++ /dev/null @@ -1,182 +0,0 @@ ---- -title: Authors -linktitle: Authors -description: -date: 2016-08-22 -publishdate: 2017-03-12 -lastmod: 2017-03-12 -keywords: [authors] -categories: ["content management"] -menu: - docs: - parent: "content-management" - weight: 55 -weight: 55 #rem -draft: true -aliases: [/content/archetypes/] -toc: true -comments: Before this page is published, need to also update both site- and page-level variables documentation. ---- - -Larger sites often have multiple content authors. Hugo provides standardized author profiles to organize relationships between content and content creators for sites operating under a distributed authorship model. - -## Author Profiles - -You can create a profile containing metadata for each author on your website. These profiles have to be saved under `data/_authors/`. The filename of the profile will later be used as an identifier. This way Hugo can associate content with one or multiple authors. An author's profile can be defined in the JSON, YAML, or TOML format. - -### Example: Author Profile - -Let's suppose Alice Allison is a blogger. A simple unique identifier would be `alice`. Now, we have to create a file called `alice.toml` in the `data/_authors/` directory. The following example is the standardized template written in TOML: - -{{< code file="data/_authors/alice.toml" >}} -givenName = "Alice" # or firstName as alias -familyName = "Allison" # or lastName as alias -displayName = "Alice Allison" -thumbnail = "static/authors/alice-thumb.jpg" -image = "static/authors/alice-full.jpg" -shortBio = "My name is Alice and I'm a blogger." -bio = "My name is Alice and I'm a blogger... some other stuff" -email = "alice.allison@email.com" -weight = 10 - -[social] - facebook = "alice.allison" - twitter = "alice" - website = "www.example.com" - -[params] - random = "whatever you want" -{{< /code >}} - -All variables are optional but it's advised to fill all important ones (e.g. names and biography) because themes can vary in their usage. - -You can store files for the `thumbnail` and `image` attributes in the `static` folder. Then add the path to the photos relative to `static`; e.g., `/static/path/to/thumbnail.jpg`. - -`weight` allows you to define the order of an author in an `.Authors` list and can be accessed on list or via the `.Site.Authors` variable. - -The `social` section contains all the links to the social network accounts of an author. Hugo is able to generate the account links for the most popular social networks automatically. This way, you only have to enter your username. You can find a list of all supported social networks [here](#linking-social-network-accounts-automatically). All other variables, like `website` in the example above remain untouched. - -The `params` section can contain arbitrary data much like the same-named section in the config file. What it contains is up to you. - -## Associate Content Through Identifiers - -Earlier it was mentioned that content can be associated with an author through their corresponding identifier. In our case, blogger Alice has the identifier `alice`. In the front matter of a content file, you can create a list of identifiers and assign it to the `authors` variable. Here are examples for `alice` using YAML and TOML, respectively. - -``` ---- -title: Why Hugo is so Awesome -date: 2016-08-22T14:27:502:00 -authors: ["alice"] ---- - -Nothing to read here. Move along... -``` - -``` -+++ -title = Why Hugo is so Awesome -date = "2016-08-22T14:27:502:00" -authors: ["alice"] -+++ - -Nothing to read here. Move along... -``` - -Future authors who might work on this blog post can append their identifiers to the `authors` array in the front matter as well. - -## Work with Templates - -After a successful setup it's time to give some credit to the authors by showing them on the website. Within the templates Hugo provides a list of the author's profiles if they are listed in the `authors` variable within the front matter. - -The list is accessible via the `.Authors` template variable. Printing all authors of a the blog post is straight forward: - -``` -{{ range .Authors }} - {{ .DisplayName }} -{{ end }} -=> Alice Allison -``` - -Even if there are co-authors you may only want to show the main author. For this case you can use the `.Author` template variable **(note the singular form)**. The template variable contains the profile of the author that is first listed with his identifier in the front matter. - -{{% note %}} -You can find a list of all template variables to access the profile information in [Author Variables](/variables/authors/). -{{% /note %}} - -### Link Social Network Accounts - -As aforementioned, Hugo is able to generate links to profiles of the most popular social networks. The following social networks with their corresponding identifiers are supported: `github`, `facebook`, `twitter`, `pinterest`, `instagram`, `youtube` and `linkedin`. - -This is can be done with the `.Social.URL` function. Its only parameter is the name of the social network as they are defined in the profile (e.g. `facebook`, `twitter`). Custom variables like `website` remain as they are. - -Most articles feature a small section with information about the author at the end. Let's create one containing the author's name, a thumbnail, a (summarized) biography and links to all social networks: - -{{< code file="layouts/partials/author-info.html" download="author-info.html" >}} -{{ with .Author }} -

{{ .DisplayName }}

- {{ .DisplayName }} -

{{ .ShortBio }}

- -{{ end }} -{{< /code >}} - -## Who Published What? - -That question can be answered with a list of all authors and another list containing all articles that they each have written. Now we have to translate this idea into templates. The [taxonomy][] feature allows us to logically group content based on information that they have in common; e.g. a tag or a category. Well, many articles share the same author, so this should sound familiar, right? - -In order to let Hugo know that we want to group content based on their author, we have to create a new taxonomy called `author` (the name corresponds to the variable in the front matter). Here is the snippet in a `config.yaml` and `config.toml`, respectively: - -``` -taxonomies: - author: authors -``` - -``` -[taxonomies] - author = "authors" -``` - - -### List All Authors - -In the next step we can create a template to list all authors of your website. Later, the list can be accessed at `www.example.com/authors/`. Create a new template in the `layouts/taxonomy/` directory called `authors.term.html`. This template will be exclusively used for this taxonomy. - -{{< code file="layouts/taxonomy/author.term.html" download="author.term.html" >}} - -{{< /code >}} - -`.Data.Terms` contains the identifiers of all authors and we can range over it to create a list with all author names. The `$profile` variable gives us access to the profile of the current author. This allows you to generate a nice info box with a thumbnail, a biography and social media links, like at the [end of a blog post](#linking-social-network-accounts-automatically). - -### List Each Author's Publications - -Last but not least, we have to create the second list that contains all publications of an author. Each list will be shown in its own page and can be accessed at `www.example.com/authors/`. Replace `` with a valid author identifier like `alice`. - -The layout for this page can be defined in the template `layouts/taxonomy/author.html`. - -{{< code file="layouts/taxonomy/author.html" download="author.html" >}} -{{ range .Pages }} -

{{ .Title }}

- written by {{ .Author.DisplayName }} - {{ .Summary }} -{{ end }} -{{< /code >}} - -The example above generates a simple list of all posts written by a single author. Inside the loop you've access to the complete set of [page variables][pagevars]. Therefore, you can add additional information about the current posts like the publishing date or the tags. - -With a lot of content this list can quickly become very long. Consider to use the [pagination][] feature. It splits the list into smaller chunks and spreads them over multiple pages. - -[pagevars]: /variables/page/ -[pagination]: /templates/pagination/ diff --git a/content/en/content-management/formats.md b/content/en/content-management/formats.md index 576ce2fa3..5654be7f0 100644 --- a/content/en/content-management/formats.md +++ b/content/en/content-management/formats.md @@ -100,6 +100,8 @@ Below are all the AsciiDoc related settings in Hugo with their default values: {{< code-toggle config="markup.asciidocExt" />}} +Notice that for security concerns only extensions that do not have path separators (either `\`, `/` or `.`) are allowed. That means that extensions can only be invoked if they are in one's ruby's `$LOAD_PATH` (ie. most likely, the extension has been installed by the user). Any extension declared relative to the website's path will not be accepted. + Example of how to set extensions and attributes: ``` diff --git a/content/en/content-management/image-processing/index.md b/content/en/content-management/image-processing/index.md index a432b9851..8cd00210f 100644 --- a/content/en/content-management/image-processing/index.md +++ b/content/en/content-management/image-processing/index.md @@ -167,14 +167,28 @@ For color codes, see https://www.google.com/search?q=color+picker **Note** that you also set a default background color to use, see [Image Processing Config](#image-processing-config). -### JPEG Quality +### JPEG and Webp Quality -Only relevant for JPEG images, values 1 to 100 inclusive, higher is better. Default is 75. +Only relevant for JPEG and Webp images, values 1 to 100 inclusive, higher is better. Default is 75. ```go {{ $image.Resize "600x q50" }} ``` +{{< new-in "0.83.0" >}} Webp support was added in Hugo 0.83.0. + +### Hint {{< new-in "0.83.0" >}} + +Hint about what type of image this is. Currently only used when encoding to Webp. + +Default value is `photo`. + +Valid values are `picture`, `photo`, `drawing`, `icon`, or `text`. + +```go +{{ $image.Resize "600x webp drawing" }} +``` + ### Rotate Rotates an image by the given angle counter-clockwise. The rotation will be performed first to get the dimensions correct. The main use of this is to be able to manually correct for [EXIF orientation](https://github.com/golang/go/issues/4341) of JPEG images. @@ -258,9 +272,14 @@ You can configure an `imaging` section in `config.toml` with default image proce # See https://github.com/disintegration/imaging resampleFilter = "box" -# Default JPEG quality setting. Default is 75. +# Default JPEG or WEBP quality setting. Default is 75. quality = 75 +# Default hint about what type of image. Currently only used for Webp encoding. +# Default is "photo". +# Valid values are "picture", "photo", "drawing", "icon", or "text". +hint = "photo" + # Anchor used when cropping pictures. # Default is "smart" which does Smart Cropping, using https://github.com/muesli/smartcrop # Smart Cropping is content aware and tries to find the best crop for each image. diff --git a/content/en/content-management/multilingual.md b/content/en/content-management/multilingual.md index 28bf6ab06..5e7bed87c 100644 --- a/content/en/content-management/multilingual.md +++ b/content/en/content-management/multilingual.md @@ -77,9 +77,9 @@ Only the obvious non-global options can be overridden per language. Examples of You can disable one or more languages. This can be useful when working on a new translation. -```toml +{{< code-toggle file="config" >}} disableLanguages = ["fr", "ja"] -``` +{{< /code-toggle >}} Note that you cannot disable the default content language. @@ -330,12 +330,12 @@ From within your templates, use the `i18n` function like this: {{ i18n "home" }} ``` -The function will search for the `"home"` id from `i18n/en-US.toml` file: +The function will search for the `"home"` id: -``` +{{< code-toggle file="i18n/en-US" >}} [home] other = "Home" -``` +{{< /code-toggle >}} The result will be @@ -345,18 +345,18 @@ Home ### Query a flexible translation with variables -Often you will want to use to the page variables in the translations strings. To do that, pass on the `.` context when calling `i18n`: +Often you will want to use the page variables in the translation strings. To do so, pass the `.` context when calling `i18n`: ``` {{ i18n "wordCount" . }} ``` -The function will pass the `.` context to the `"wordCount"` id in `i18n/en-US.toml` file: +The function will pass the `.` context to the `"wordCount"` id: -``` +{{< code-toggle file="i18n/en-US" >}} [wordCount] other = "This article has {{ .WordCount }} words." -``` +{{< /code-toggle >}} Assume `.WordCount` in the context has value is 101. The result will be: @@ -372,13 +372,13 @@ In order to meet singular/plural requirement, you must pass a dictionary (map) w {{ i18n "readingTime" .ReadingTime }} ``` -The function will read `.Count` from `.ReadingTime` and evaluate where the number is singular (`one`) or plural (`other`). After that, it will pass to `readingTime` id in `i18n/en-US.toml` file: +The function will read `.Count` from `.ReadingTime` and evaluate where the number is singular (`one`) or plural (`other`). After that, it will pass to `readingTime` id: -``` +{{< code-toggle file="i18n/en-US" >}} [readingTime] one = "One minute to read" other = "{{.Count}} minutes to read" -``` +{{< /code-toggle >}} Assume `.ReadingTime.Count` in the context has value of 525600. The result will be: @@ -389,7 +389,7 @@ Assume `.ReadingTime.Count` in the context has value of 525600. The result will If `.ReadingTime.Count` in the context has value is 1. The result is: ``` -One minutes to read +One minute to read ``` In case you need to pass custom data: (`(dict "Count" 25)` is minimum requirement) @@ -433,7 +433,7 @@ This technique extracts the day, month and year by specifying ``.Date.Day``, ``. You can define your menus for each language independently. Creating multilingual menus works just like [creating regular menus][menus], except they're defined in language-specific blocks in the configuration file: -``` +{{< code-toggle file="config" >}} defaultContentLanguage = "en" [languages.en] @@ -454,7 +454,7 @@ languageName = "Deutsch" url = "/" name = "Startseite" weight = 0 -``` +{{< /code-toggle >}} The rendering of the main navigation works as usual. `.Site.Menus` will just contain the menu in the current language. Note that `absLangURL` below will link to the correct locale of your website. Without it, menu entries in all languages would link to the English version, since it's the default content language that resides in the root directory. diff --git a/content/en/content-management/organization/index.md b/content/en/content-management/organization/index.md index fa4c02520..c33a25b3a 100644 --- a/content/en/content-management/organization/index.md +++ b/content/en/content-management/organization/index.md @@ -33,7 +33,7 @@ The bundle documentation is **work in progress**. We will publish more comprehen {{% /note %}} -# Organization of Content Source +## Organization of Content Source In Hugo, your content should be organized in a manner that reflects the rendered website. diff --git a/content/en/content-management/page-resources.md b/content/en/content-management/page-resources.md index bdc73a7c3..8bf8a37c8 100644 --- a/content/en/content-management/page-resources.md +++ b/content/en/content-management/page-resources.md @@ -1,6 +1,6 @@ --- title : "Page Resources" -description : "Page Resources -- images, other pages, documents etc. -- have page-relative URLs and their own metadata." +description : "Page resources -- images, other pages, documents, etc. -- have page-relative URLs and their own metadata." date: 2018-01-24 categories: ["content management"] keywords: [bundle,content,resources] @@ -13,10 +13,32 @@ menu: parent: "content-management" weight: 31 --- +Page resources are only accessible from [page bundles]({{< relref +"/content-management/page-bundles" >}}), those directories with `index.md` or +`_index.md` files at their root. Page resources are only available to the +page with which they are bundled. -Page resources are available for [page bundles]({{< relref "/content-management/page-bundles" >}}) only, -i.e. a directory with either a `index.md`, or `_index.md` file at its root. Resources are only attached to -the lowest page they are bundled with, and simple which names does not contain `index.md` are not attached any resource. +In this example, `first-post` is a page bundle with access to 10 page resources including audio, data, documents, images, and video. Although `second-post` is also a page bundle, it has no page resources and is unable to directly access the page resources associated with `first-post`. + +```text +content +└── post + ├── first-post + │ ├── images + │ │ ├── a.jpg + │ │ ├── b.jpg + │ │ └── c.jpg + │ ├── index.md (root of page bundle) + │ ├── latest.html + │ ├── manual.json + │ ├── notice.md + │ ├── office.mp3 + │ ├── pocket.mp4 + │ ├── rating.pdf + │ └── safety.txt + └── second-post + └── index.md (root of page bundle) +``` ## Properties diff --git a/content/en/content-management/shortcodes.md b/content/en/content-management/shortcodes.md index 2b4d0d632..ce3bcd1f5 100644 --- a/content/en/content-management/shortcodes.md +++ b/content/en/content-management/shortcodes.md @@ -64,7 +64,7 @@ and a new line with a "quoted string".` */>}} ### Shortcodes with Markdown -In Hugo `0.55` we changed how the `%` delimiter works. Shortcodes using the `%` as the outer-most delimiter will now be fully rendered when sent to the content renderer (e.g. Blackfriday for Markdown), meaning they can be part of the generated table of contents, footnotes, etc. +In Hugo `0.55` we changed how the `%` delimiter works. Shortcodes using the `%` as the outer-most delimiter will now be fully rendered when sent to the content renderer. They can be part of the generated table of contents, footnotes, etc. If you want the old behavior, you can put the following line in the start of your shortcode template: @@ -302,8 +302,8 @@ Read a more extensive description of `ref` and `relref` in the [cross references Assuming that standard Hugo pretty URLs are turned on. ``` -Neat -Who +Neat +Who ``` ### `tweet` diff --git a/content/en/content-management/syntax-highlighting.md b/content/en/content-management/syntax-highlighting.md index a518935b1..c0c43cfac 100644 --- a/content/en/content-management/syntax-highlighting.md +++ b/content/en/content-management/syntax-highlighting.md @@ -36,7 +36,7 @@ Run `hugo gen chromastyles -h` for more options. See https://xyproto.github.io/s ## Highlight Shortcode -Highlighting is carried out via the [built-in shortcode](/content-management/shortcodes/) `highlight`. `highlight` takes exactly one required parameter for the programming language to be highlighted and requires a closing shortcode. Note that `highlight` is *not* used for client-side javascript highlighting. +Highlighting is carried out via the built-in [`highlight` shortcode](https://gohugo.io/content-management/shortcodes/#highlight). It takes exactly one required parameter for the programming language to be highlighted and requires a closing shortcode. Note that `highlight` is *not* used for client-side javascript highlighting. Options: diff --git a/content/en/content-management/urls.md b/content/en/content-management/urls.md index 4389b1dca..c0eb59d6d 100644 --- a/content/en/content-management/urls.md +++ b/content/en/content-management/urls.md @@ -83,7 +83,7 @@ The following is a list of values that can be used in a `permalink` definition i : the content's section `:sections` -: the content's sections hierarchy +: the content's sections hierarchy. {{< new-in "0.83.0" >}} Since Hugo 0.83 you can use a selection of the sections using _slice syntax_: `:sections[1:]` includes all but the first, `:sections[:last]` includes all but the last, `:sections[last]` includes only the last, `:sections[1:2]` includes section 2 and 3. Note that this slice access will not throw any out-of-bounds errors, so you don't have to be exact. `:title` : the content's title @@ -202,7 +202,7 @@ The following demonstrates the concept: ``` content/posts/_index.md -=> example.com/posts/index.html +=> example.com/posts/ content/posts/post-1.md => example.com/posts/post-1/ ``` diff --git a/content/en/functions/NumFmt.md b/content/en/functions/NumFmt.md index 1bc07abd5..9b51f597f 100644 --- a/content/en/functions/NumFmt.md +++ b/content/en/functions/NumFmt.md @@ -2,7 +2,6 @@ title: lang.NumFmt description: "Formats a number with a given precision using the requested `negative`, `decimal`, and `grouping` options. The `options` parameter is a string consisting of ` `." godocref: "" -workson: [] date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-08-21 diff --git a/content/en/functions/adddate.md b/content/en/functions/adddate.md index 19eabff7f..4c5807f71 100644 --- a/content/en/functions/adddate.md +++ b/content/en/functions/adddate.md @@ -25,14 +25,14 @@ The `AddDate` function takes three arguments in logical order of `years`, `month Let's assume you have a file at `data/tweets.toml` that contains a list of Tweets to display on your site's homepage. The file is filled with `[[tweet]]` blocks; e.g.--- -``` +{{< code-toggle file="data/tweets" >}} [[tweet]] name = "Steve Francia" twitter_handle = "@spf13" quote = "I'm creator of Hugo. #metadocreference" link = "https://twitter.com/spf13" date = "2017-01-07T00:00:00Z" -``` +{{< /code-toggle >}} Let's assume you want to grab Tweets from the last two years and present them in a random order. In conjunction with the [`where`](/functions/where/) and [`now`](/functions/now/) functions, you can limit our range to the last two years via `now.AddDate -2 0 0`, which represents a point in time 2 years, 0 days, and 0 hours before the time of your last site build. diff --git a/content/en/functions/anchorize.md b/content/en/functions/anchorize.md index a0745edaf..87aea2354 100644 --- a/content/en/functions/anchorize.md +++ b/content/en/functions/anchorize.md @@ -1,6 +1,6 @@ --- title: anchorize -description: Takes a string and sanitizes it the same way as Blackfriday does for markdown headers. +description: Takes a string and sanitizes it the same way as the [`defaultMarkdownHandler`](https://gohugo.io/getting-started/configuration-markup#configure-markup) does for markdown headers. date: 2018-10-13 categories: [functions] menu: @@ -13,8 +13,9 @@ workson: [] relatedfuncs: [humanize] --- -The template function uses the [`SanitizedAnchorName` logic from Blackfriday](https://github.com/russross/blackfriday#sanitized-anchor-names). -Since the same sanitizing logic is used as the markdown parser, you can determine the ID of a header for linking with anchor tags. +If [Goldmark](https://gohugo.io/getting-started/configuration-markup#goldmark) is set as `defaultMarkdownHandler`, the sanitizing logic adheres to the setting [`markup.goldmark.parser.autoHeadingIDType`](https://gohugo.io/getting-started/configuration-markup#goldmark). If [Blackfriday](https://gohugo.io/getting-started/configuration-markup#blackfriday) is set as `defaultMarkdownHandler`, this template function uses the [`SanitizedAnchorName` logic from Blackfriday](https://github.com/russross/blackfriday#sanitized-anchor-names) (the same applies when `markup.goldmark.parser.autoHeadingIDType` is set to `blackfriday`). + +Since the `defaultMarkdownHandler` and this template function use the same sanitizing logic, you can use the latter to determine the ID of a header for linking with anchor tags. ``` {{anchorize "This is a header"}} → "this-is-a-header" diff --git a/content/en/functions/dateformat.md b/content/en/functions/dateformat.md index 5a7afed97..e5fb3608d 100644 --- a/content/en/functions/dateformat.md +++ b/content/en/functions/dateformat.md @@ -17,7 +17,7 @@ relatedfuncs: [Format,now,Unix,time] deprecated: false --- -`dateFormat` converts the textual representation of the `datetime` into the specified format or returns it as a Go `time.Time` type value. These are formatted with the layout string. +`dateFormat` converts a timestamp string `INPUT` into the format specified by the `LAYOUT` string. ``` {{ dateFormat "Monday, Jan 2, 2006" "2015-01-21" }} → "Wednesday, Jan 21, 2015" @@ -27,5 +27,6 @@ deprecated: false As of v0.19 of Hugo, the `dateFormat` function is *not* supported as part of Hugo's [multilingual feature](/content-management/multilingual/). {{% /warning %}} -See the [`Format` function](/functions/format/) for a more complete list of date formatting options in your templates. +See [Go’s Layout String](/functions/format/#gos-layout-string) to learn about how the `LAYOUT` string has to be formatted. There are also some useful examples. +See the [`time` function](/functions/time/) to convert a timestamp string to a Go `time.Time` type value. diff --git a/content/en/functions/delimit.md b/content/en/functions/delimit.md index 083e8baf8..2d13570f6 100644 --- a/content/en/functions/delimit.md +++ b/content/en/functions/delimit.md @@ -2,7 +2,6 @@ title: delimit description: Loops through any array, slice, or map and returns a string of all the values separated by a delimiter. godocref: -workson: [] date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 diff --git a/content/en/functions/dict.md b/content/en/functions/dict.md index 76fdde284..68088bae4 100644 --- a/content/en/functions/dict.md +++ b/content/en/functions/dict.md @@ -2,7 +2,6 @@ title: dict description: Creates a dictionary from a list of key and value pairs. godocref: -workson: [] date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-26 diff --git a/content/en/functions/hugo.md b/content/en/functions/hugo.md index 099a5fa96..78f5018c4 100644 --- a/content/en/functions/hugo.md +++ b/content/en/functions/hugo.md @@ -41,6 +41,9 @@ hugo.CommitHash hugo.BuildDate : the compile date of the current Hugo binary formatted with RFC 3339 e.g. `2002-10-02T10:00:00-05:00` +hugo.IsExtended {{< new-in "0.83.0" >}} +: whether this is the extended Hugo binary. + hugo.IsProduction : returns true if `hugo.Environment` is set to the production environment diff --git a/content/en/functions/index-function.md b/content/en/functions/index-function.md index 88dec29dc..eb3d6fd2c 100644 --- a/content/en/functions/index-function.md +++ b/content/en/functions/index-function.md @@ -52,13 +52,13 @@ Assume you want to add a `location = ""` field to your front matter for every ar └── provo.toml ``` -Here is an example of the data inside `data/locations/oslo.toml`: +Here is an example: -``` +{{< code-toggle file="data/locations/oslo" >}} website = "https://www.oslo.kommune.no" pop_city = 658390 pop_metro = 1717900 -``` +{{< /code-toggle >}} The example we will use will be an article on Oslo, whose front matter should be set to exactly the same name as the corresponding file name in `data/locations/`: diff --git a/content/en/functions/lang.Merge.md b/content/en/functions/lang.Merge.md index d2fadea12..a80362877 100644 --- a/content/en/functions/lang.Merge.md +++ b/content/en/functions/lang.Merge.md @@ -2,7 +2,6 @@ title: lang.Merge description: "Merge missing translations from other languages." godocref: "" -workson: [] date: 2018-03-16 categories: [functions] keywords: [multilingual] diff --git a/content/en/functions/markdownify.md b/content/en/functions/markdownify.md index 50cf3e120..5baf1db57 100644 --- a/content/en/functions/markdownify.md +++ b/content/en/functions/markdownify.md @@ -23,3 +23,8 @@ aliases: [] ``` {{ .Title | markdownify }} ``` + +*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 diff --git a/content/en/functions/merge.md b/content/en/functions/merge.md index cae806d4c..a2c4cb87c 100644 --- a/content/en/functions/merge.md +++ b/content/en/functions/merge.md @@ -14,14 +14,14 @@ relatedfuncs: [dict, append, reflect.IsMap, reflect.IsSlice] aliases: [] --- -Merge creates a copy of the final `MAP` and merges any preceeding `MAP` into it in reverse order. +Merge creates a copy of the final `MAP` and merges any preceding `MAP` into it in reverse order. Key handling is case-insensitive. An example merging two maps. ```go-html-template -{{ $default_params := dict "color" "blue" "width" "50%" "height" "25%" }} -{{ $user_params := dict "color" "red" "extra" (dict "duration" 2) }} +{{ $default_params := dict "color" "blue" "width" "50%" "height" "25%" "icon" "star" }} +{{ $user_params := dict "color" "red" "icon" "mail" "extra" (dict "duration" 2) }} {{ $params := merge $default_params $user_params }} ``` @@ -39,5 +39,3 @@ Resulting __$params__: {{% note %}} Regardless of depth, merging only applies to maps. For slices, use [append]({{< ref "functions/append" >}}) {{% /note %}} - - diff --git a/content/en/functions/path.Split.md b/content/en/functions/path.Split.md index 2d6aff6bb..c9c32ac56 100644 --- a/content/en/functions/path.Split.md +++ b/content/en/functions/path.Split.md @@ -25,7 +25,7 @@ If there is no slash in `PATH`, it returns an empty directory and the base is se **Note:** On Windows, `PATH` is converted to slash (`/`) separators. ``` -{{ $dirFile := path.Split "a/news.html" }} → $dirDile.Dir → "a/", $dirFile.File → "news.html" -{{ $dirFile := path.Split "news.html" }} → $dirDile.Dir → "", $dirDile.File → "news.html" -{{ $dirFile := path.Split "a/b/c" }} → $dirDile.Dir → "a/b/", $dirDile.File → "c" +{{ $dirFile := path.Split "a/news.html" }} → $dirFile.Dir → "a/", $dirFile.File → "news.html" +{{ $dirFile := path.Split "news.html" }} → $dirFile.Dir → "", $dirFile.File → "news.html" +{{ $dirFile := path.Split "a/b/c" }} → $dirFile.Dir → "a/b/", $dirFile.File → "c" ``` diff --git a/content/en/functions/safeHTML.md b/content/en/functions/safeHTML.md index 240125d05..956926219 100644 --- a/content/en/functions/safeHTML.md +++ b/content/en/functions/safeHTML.md @@ -22,9 +22,9 @@ It should not be used for HTML from a third-party, or HTML with unclosed tags or Given a site-wide [`config.toml`][config] with the following `copyright` value: -``` +{{< code-toggle file="config" >}} copyright = "© 2015 Jane Doe. Some rights reserved." -``` +{{< /code-toggle >}} `{{ .Site.Copyright | safeHTML }}` in a template would then output: diff --git a/content/en/functions/safeHTMLAttr.md b/content/en/functions/safeHTMLAttr.md index a5ecaa68b..1e1aa620f 100644 --- a/content/en/functions/safeHTMLAttr.md +++ b/content/en/functions/safeHTMLAttr.md @@ -21,11 +21,11 @@ aliases: [] Example: Given a site-wide `config.toml` that contains this menu entry: -``` +{{< code-toggle file="config" >}} [[menu.main]] name = "IRC: #golang at freenode" url = "irc://irc.freenode.net/#golang" -``` +{{< /code-toggle >}} * `` → `` * `` → `` diff --git a/content/en/functions/site.md b/content/en/functions/site.md index a6fab6dca..5a112930f 100644 --- a/content/en/functions/site.md +++ b/content/en/functions/site.md @@ -1,7 +1,7 @@ --- title: site linktitle: site -description: The `site` function provides global access the same data as `.Site` page method +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 diff --git a/content/en/functions/where.md b/content/en/functions/where.md index 405d4ccfd..a41ec8e9a 100644 --- a/content/en/functions/where.md +++ b/content/en/functions/where.md @@ -86,7 +86,7 @@ The following logical operators are available with `where`: ## Use `where` with `Booleans` When using booleans you should not put quotation marks. ```go-html-template -{{range where .Pages ".Draft" true}} +{{range where .Pages "Draft" true}}

{{.Title}}

{{end}} ``` @@ -95,7 +95,7 @@ When using booleans you should not put quotation marks. ## Use `where` with `intersect` ```go-html-template -{{ range where .Site.Pages ".Params.tags" "intersect" .Params.tags }} +{{ range where .Site.Pages "Params.tags" "intersect" .Params.tags }} {{ if ne .Permalink $.Permalink }} {{ .Render "summary" }} {{ end }} @@ -131,7 +131,7 @@ then ranges through only the first 5 posts in that list: You can also nest `where` clauses to drill down on lists of content by more than one parameter. The following first grabs all pages in the "blog" section and then ranges through the result of the first `where` clause and finds all pages that are *not* featured: ```go-html-template -{{ range where (where .Pages "Section" "blog" ) ".Params.featured" "!=" true }} +{{ range where (where .Pages "Section" "blog" ) "Params.featured" "!=" true }} ``` ## Unset Fields @@ -146,7 +146,7 @@ Only the following operators are available for `nil` * `!=`, `<>`, `ne`: True if the given field is set. ```go-html-template -{{ range where .Pages ".Params.specialpost" "!=" nil }} +{{ range where .Pages "Params.specialpost" "!=" nil }} {{ .Content }} {{ end }} ``` @@ -166,12 +166,12 @@ section names to hard-coded values like `"posts"` or `"post"`. If the user has not set this config parameter in their site config, it will default to the _section with the most pages_. -The user can override the default in `config.toml`: +The user can override the default: -```toml +{{< code-toggle file="config" >}} [params] mainSections = ["blog", "docs"] -``` +{{< /code-toggle >}} [intersect]: /functions/intersect/ [wherekeyword]: https://www.techonthenet.com/sql/where.php diff --git a/content/en/getting-started/configuration-markup.md b/content/en/getting-started/configuration-markup.md index 4c4d270a6..14a23b734 100644 --- a/content/en/getting-started/configuration-markup.md +++ b/content/en/getting-started/configuration-markup.md @@ -68,6 +68,14 @@ There are some current limitations: For tables you can currently only apply it t {.list} ``` +Note that attributes in [code fences](/content-management/syntax-highlighting/#highlighting-in-code-fences) must come after the opening tag, with any other highlighting processing instruction, e.g.: + +```` +```go {.myclass linenos=table,hl_lines=[8,"15-17"],linenostart=199} +// ... code +``` +```` + autoHeadingIDType ("github") {{< new-in "0.62.2" >}} : The strategy used for creating auto IDs (anchor names). Available types are `github`, `github-ascii` and `blackfriday`. `github` produces GitHub-compatible IDs, `github-ascii` will drop any non-Ascii characters after accent normalization, and `blackfriday` will make the IDs work as with [Blackfriday](#blackfriday), the default Markdown engine before Hugo 0.60. Note that if Goldmark is your default Markdown engine, this is also the strategy used in the [anchorize](/functions/anchorize/) template func. @@ -179,6 +187,9 @@ Text PlainText : The plain variant of the above. +Attributes (map) {{< new-in "0.82.0" >}} +: A map of attributes (e.g. `id`, `class`) + #### Link with title Markdown example: ```md diff --git a/content/en/getting-started/configuration.md b/content/en/getting-started/configuration.md index 1f8ad40c5..48a4af0c9 100644 --- a/content/en/getting-started/configuration.md +++ b/content/en/getting-started/configuration.md @@ -47,15 +47,15 @@ In addition to using a single site config file, one can use the `configDir` dire - Each file represents a configuration root object, such as `params.toml` for `[Params]`, `menu(s).toml` for `[Menu]`, `languages.toml` for `[Languages]` etc... - Each file's content must be top-level, for example: - In `config.toml` is: - ```toml - [Params] - foo = "bar" - ``` - In `params.toml` is: - ``` +{{< code-toggle file="config" >}} +[Params] foo = "bar" - ``` +{{< /code-toggle >}} + +{{< code-toggle file="params" >}} +foo = "bar" +{{< /code-toggle >}} + - Each directory holds a group of files containing settings unique to an environment. - Files can be localized to become language specific. @@ -325,6 +325,8 @@ useResourceCacheWhen writeStats {{< new-in "0.69.0" >}} : When enabled, a file named `hugo_stats.json` will be written to your project root with some aggregated data about the build, e.g. list of HTML entities published to be used to do [CSS pruning](/hugo-pipes/postprocess/#css-purging-with-postcss). If you're only using this for the production build, you should consider placing it below [config/production](/getting-started/configuration/#configuration-directory). It's also worth mentioning that, due to the nature of the partial server builds, new HTML entities will be added when you add or change them while the server is running, but the old values will not be removed until you restart the server or run a regular `hugo` build. +**Note** that the prime use case for this is purging of unused CSS; it is build for speed and there may be false positives (e.g. elements that isn't really a HTML element). + noJSConfigInAssets {{< new-in "0.78.0" >}} : Turn off writing a `jsconfig.json` into your `/assets` folder with mapping of imports from running [js.Build](https://gohugo.io/hugo-pipes/js). This file is intended to help with intellisense/navigation inside code editors such as [VS Code](https://code.visualstudio.com/). Note that if you do not use `js.Build`, no file will be written. @@ -444,15 +446,15 @@ To set config params, prefix the name with `HUGO_PARAMS_` Test and document setting params via JSON env var. {{< /todo >}} -## Ignore Content Files When Rendering +## Ignore Content and Data Files when Rendering -The following statement inside `./config.toml` will cause Hugo to ignore content files ending with `.foo` and `.boo` when rendering: +To exclude specific files from the content and data directories when rendering your site, set `ignoreFiles` to one or more regular expressions. -``` -ignoreFiles = [ "\\.foo$", "\\.boo$" ] -``` +For example, to ignore content and data files ending with `.foo` and `.boo`: -The above is a list of regular expressions. Note that the backslash (`\`) character is escaped in this example to keep TOML happy. +{{< code-toggle >}} +ignoreFiles = [ "\\.foo$","\\.boo$"] +{{< /code-toggle >}} ## Configure Front Matter @@ -463,20 +465,20 @@ Dates are important in Hugo, and you can configure how Hugo assigns dates to you The default configuration is: -```toml +{{< code-toggle file="config" >}} [frontmatter] date = ["date", "publishDate", "lastmod"] lastmod = [":git", "lastmod", "date", "publishDate"] publishDate = ["publishDate", "date"] expiryDate = ["expiryDate"] -``` +{{< /code-toggle >}} If you, as an example, have a non-standard date parameter in some of your content, you can override the setting for `date`: - ```toml +{{< code-toggle file="config" >}} [frontmatter] date = ["myDate", ":default"] -``` +{{< /code-toggle >}} The `:default` is a shortcut to the default settings. The above will set `.Date` to the date value in `myDate` if present, if not we will look in `date`,`publishDate`, `lastmod` and pick the first valid date. @@ -490,10 +492,10 @@ The special date handlers are: An example: - ```toml +{{< code-toggle file="config" >}} [frontmatter] lastmod = ["lastmod", ":fileModTime", ":default"] -``` +{{< /code-toggle >}} The above will try first to extract the value for `.Lastmod` starting with the `lastmod` front matter parameter, then the content file's modification timestamp. The last, `:default` should not be needed here, but Hugo will finally look for a valid date in `:git`, `date` and then `publishDate`. @@ -504,10 +506,10 @@ The above will try first to extract the value for `.Lastmod` starting with the ` An example: -```toml +{{< code-toggle file="config" >}} [frontmatter] date = [":filename", ":default"] -``` +{{< /code-toggle >}} The above will try first to extract the value for `.Date` from the filename, then it will look in front matter parameters `date`, `publishDate` and lastly `lastmod`. diff --git a/content/en/getting-started/quick-start.md b/content/en/getting-started/quick-start.md index f2378f4a7..6d8f2b1fc 100644 --- a/content/en/getting-started/quick-start.md +++ b/content/en/getting-started/quick-start.md @@ -65,13 +65,13 @@ First, download the theme from GitHub and add it to your site's `themes` directo ```bash cd quickstart git init -git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke +git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke ``` *Note for non-git users:* - If you do not have git installed, you can download the archive of the latest version of this theme from: - https://github.com/budparr/gohugo-theme-ananke/archive/master.zip + https://github.com/theNewDynamic/gohugo-theme-ananke/archive/master.zip - Extract that .zip file to get a "gohugo-theme-ananke-master" directory. - Rename that directory to "ananke", and move it into the "themes/" directory. @@ -163,7 +163,7 @@ Replace the `title` above with something more personal. Also, if you already hav **Tip:** Make the changes to the site configuration or any other file in your site while the Hugo server is running, and you will see the changes in the browser right away, though you may need to [clear your cache](https://kb.iu.edu/d/ahic). {{% /note %}} -For theme specific configuration options, see the [theme site](https://github.com/budparr/gohugo-theme-ananke). +For theme specific configuration options, see the [theme site](https://github.com/theNewDynamic/gohugo-theme-ananke). **For further theme customization, see [Customize a Theme](/themes/customizing/).** diff --git a/content/en/getting-started/usage.md b/content/en/getting-started/usage.md index e35126fd0..2b41ecb45 100644 --- a/content/en/getting-started/usage.md +++ b/content/en/getting-started/usage.md @@ -183,15 +183,11 @@ Or... hugo server --disableLiveReload ``` -The latter flag can be omitted by adding the following key-value to your `config.toml` or `config.yml` file, respectively: +The latter flag can be omitted by adding the following: -``` +{{< code-toggle file="config" >}} disableLiveReload = true -``` - -``` -disableLiveReload: true -``` +{{< /code-toggle >}} ## Deploy Your Website diff --git a/content/en/hosting-and-deployment/hosting-on-gitlab.md b/content/en/hosting-and-deployment/hosting-on-gitlab.md index 0a40eb824..6634dbbe7 100644 --- a/content/en/hosting-and-deployment/hosting-on-gitlab.md +++ b/content/en/hosting-and-deployment/hosting-on-gitlab.md @@ -38,7 +38,7 @@ cd your-hugo-site In the root directory of your Hugo site, create a `.gitlab-ci.yml` file. The `.gitlab-ci.yml` configures the GitLab CI on how to build your page. Simply add the content below. {{< code file=".gitlab-ci.yml" >}} -image: monachus/hugo +image: registry.gitlab.com/pages/hugo:latest variables: GIT_SUBMODULE_STRATEGY: recursive @@ -53,6 +53,10 @@ pages: - master {{< /code >}} +{{% note %}} +All available Hugo versions are listed [here](https://gitlab.com/pages/hugo/container_registry) +{{% /note %}} + ## Push Your Hugo Website to GitLab Next, create a new repository on GitLab. It is *not* necessary to make the repository public. In addition, you might want to add `/public` to your .gitignore file, as there is no need to push compiled assets to GitLab or keep your output website in version control. diff --git a/content/en/hosting-and-deployment/hosting-on-netlify.md b/content/en/hosting-and-deployment/hosting-on-netlify.md index a04333d89..74c54b047 100644 --- a/content/en/hosting-and-deployment/hosting-on-netlify.md +++ b/content/en/hosting-and-deployment/hosting-on-netlify.md @@ -65,10 +65,10 @@ You can [set Hugo version](https://www.netlify.com/blog/2017/04/11/netlify-plus- For production: -``` +{{< code-toggle file="netlify" >}} [context.production.environment] HUGO_VERSION = "0.53" -``` +{{< /code-toggle >}} For testing: diff --git a/content/en/hugo-modules/use-modules.md b/content/en/hugo-modules/use-modules.md index db12964b4..e0d73957a 100644 --- a/content/en/hugo-modules/use-modules.md +++ b/content/en/hugo-modules/use-modules.md @@ -36,13 +36,13 @@ Also see the [CLI Doc](/commands/hugo_mod_init/). The easiest way to use a Module for a theme is to import it in the config. 1. Initialize the hugo module system: `hugo mod init github.com//` -2. Import the theme in your `config.toml`: +2. Import the theme: -```toml +{{< code-toggle file="config" >}} [module] [[module.imports]] path = "github.com/spf13/hyde" -``` +{{< /code-toggle >}} ## Update Modules diff --git a/content/en/hugo-pipes/js.md b/content/en/hugo-pipes/js.md index a9befa220..63bd8bdd9 100644 --- a/content/en/hugo-pipes/js.md +++ b/content/en/hugo-pipes/js.md @@ -40,9 +40,6 @@ Note that this is meant for small data sets, e.g. config settings. For larger da minify [bool] : Let `js.Build` handle the minification. -avoidTDZ {{< new-in "0.78.0" >}} -: There is/was a bug in WebKit with severe performance issue with the tracking of TDZ checks in JavaScriptCore. Enabling this flag removes the TDZ and `const` assignment checks and may improve performance of larger JS codebases until the WebKit fix is in widespread use. See https://bugs.webkit.org/show_bug.cgi?id=199866 - inject [slice] {{< new-in "0.81.0" >}} : This option allows you to automatically replace a global variable with an import from another file. The path names must be relative to `assets`. See https://esbuild.github.io/api/#inject diff --git a/content/en/hugo-pipes/postprocess.md b/content/en/hugo-pipes/postprocess.md index 6fb593950..aafb786a4 100755 --- a/content/en/hugo-pipes/postprocess.md +++ b/content/en/hugo-pipes/postprocess.md @@ -35,10 +35,12 @@ There are several ways to set up CSS purging with PostCSS in Hugo. If you have a The below configuration will write a `hugo_stats.json` file to the project root as part of the build. If you're only using this for the production build, you should consider placing it below [config/production](/getting-started/configuration/#configuration-directory). -```toml +{{< code-toggle file="config" >}} [build] writeStats = true -``` +{{< /code-toggle >}} + +`postcss.config.js` ```js const purgecss = require('@fullhuman/postcss-purgecss')({ @@ -50,12 +52,10 @@ const purgecss = require('@fullhuman/postcss-purgecss')({ }); module.exports = { - plugins: [ - require('tailwindcss'), - require('autoprefixer'), - ...(process.env.HUGO_ENVIRONMENT === 'production' ? [ purgecss ] : []) - ] -}; + plugins: [ + ...(process.env.HUGO_ENVIRONMENT === 'production' ? [ purgecss ] : []) + ] + }; ``` Note that in the example above, the "CSS purge step" will only be applied to the production build. This means that you need to do something like this in your head template to build and include your CSS: diff --git a/content/en/hugo-pipes/resource-from-template.md b/content/en/hugo-pipes/resource-from-template.md index 317630b40..9bc8c7e9d 100755 --- a/content/en/hugo-pipes/resource-from-template.md +++ b/content/en/hugo-pipes/resource-from-template.md @@ -18,7 +18,7 @@ draft: false In order to use Hugo Pipes function on an asset file containing Go Template magic the function `resources.ExecuteAsTemplate` must be used. -The function takes three arguments, the resource object, the resource target path and the template context. +The function takes three arguments: the resource target path, the template context, and the resource object. ```go-html-template // assets/sass/template.scss @@ -35,4 +35,4 @@ body{ ```go-html-template {{ $sassTemplate := resources.Get "sass/template.scss" }} {{ $style := $sassTemplate | resources.ExecuteAsTemplate "main.scss" . | resources.ToCSS }} -``` \ No newline at end of file +``` diff --git a/content/en/news/0.19-relnotes/index.md b/content/en/news/0.19-relnotes/index.md index 5c53b057d..073b47495 100644 --- a/content/en/news/0.19-relnotes/index.md +++ b/content/en/news/0.19-relnotes/index.md @@ -33,9 +33,9 @@ Hugo `0.18` was bringing full-parallel page rendering, so workarounds depending With Hugo `0.19`, you can control this behaviour by turning off page types you do not want ({{}}). In its most extreme case, if you put the below setting in your [`config.toml`](/getting-started/configuration/), you will get **nothing!**: -``` +{{< code-toggle file="config" >}} disableKinds = ["page", "home", "section", "taxonomy", "taxonomyTerm", "RSS", "sitemap", "robotsTXT", "404"] -``` +{{< /code-toggle >}} ### Other New Features diff --git a/content/en/news/0.20.2-relnotes/index.md b/content/en/news/0.20.2-relnotes/index.md index 3ee08411d..2e67d20ea 100644 --- a/content/en/news/0.20.2-relnotes/index.md +++ b/content/en/news/0.20.2-relnotes/index.md @@ -23,10 +23,12 @@ In `layouts/partials/mystyles.css`: Then in `config.toml` (note that by using the `.Param` lookup func, we can override the color in a page’s front matter if we want): - [params] - [params.colors] - main = "green" - text = "blue" +{{< code-toggle file="config" >}} +[params] +[params.colors] +main = "green" +text = "blue" +{{< /code-toggle >}} And then in `layouts/partials/head.html` (or the partial used to include the head section into your layout): diff --git a/content/en/news/0.26-relnotes/index.md b/content/en/news/0.26-relnotes/index.md index 92f90de99..7ebbf8185 100644 --- a/content/en/news/0.26-relnotes/index.md +++ b/content/en/news/0.26-relnotes/index.md @@ -8,14 +8,14 @@ images: - images/blog/hugo-26-poster.png --- -This release brings a choice of **AP Style or Chicago Style Title Case** ([8fb594bf](https://github.com/gohugoio/hugo/commit/8fb594bfb090c017d4e5cbb2905780221e202c41) [#989](https://github.com/gohugoio/hugo/issues/989)). You can also now configure Blackfriday to render **« French Guillemets »** ([cb9dfc26](https://github.com/gohugoio/hugo/commit/cb9dfc2613ae5125cafa450097fb0f62dd3770e7) [#3725](https://github.com/gohugoio/hugo/issues/3725)). To enable French Guillemets, put this in your site `config.toml`: +This release brings a choice of **AP Style or Chicago Style Title Case** ([8fb594bf](https://github.com/gohugoio/hugo/commit/8fb594bfb090c017d4e5cbb2905780221e202c41) [#989](https://github.com/gohugoio/hugo/issues/989)). You can also now configure Blackfriday to render **« French Guillemets »** ([cb9dfc26](https://github.com/gohugoio/hugo/commit/cb9dfc2613ae5125cafa450097fb0f62dd3770e7) [#3725](https://github.com/gohugoio/hugo/issues/3725)). To enable French Guillemets: -```bash +{{< code-toggle file="config" >}} [blackfriday] angledQuotes = true smartypantsQuotesNBSP = true -``` +{{< /code-toggle >}} Oh, and this release also fixes it so you should see no ugly long crashes no more when you step wrong in your templates ([794ea21e](https://github.com/gohugoio/hugo/commit/794ea21e9449b876c5514f1ce8fe61449bbe4980)). diff --git a/content/en/news/0.36-relnotes/index.md b/content/en/news/0.36-relnotes/index.md index 4e6323287..a81892458 100644 --- a/content/en/news/0.36-relnotes/index.md +++ b/content/en/news/0.36-relnotes/index.md @@ -25,12 +25,13 @@ Hugo now has: ## Notes Hugo now defaults to **smart crop** when cropping images, if you don't specify it when calling `.Fill`. -You can get the old default by adding this to your `config.toml`: +You can get the old default by adding this: -```toml +{{< code-toggle file="config" >}} [imaging] anchor = "center" -``` +{{< /code-toggle >}} + Also, we have removed the superflous anchor name from the processed filenames that does not use this anchor, so it can be wise to run `hugo --gc` once to remove unused images. ## Enhancements diff --git a/content/en/news/0.56.3-relnotes/index.md b/content/en/news/0.56.3-relnotes/index.md index bc1266335..c505e520d 100644 --- a/content/en/news/0.56.3-relnotes/index.md +++ b/content/en/news/0.56.3-relnotes/index.md @@ -13,7 +13,7 @@ This is a bug-fix release with a couple of important fixes. After getting feedba It adds support for overlapping file mounts, even for the filesystems where we walk down the directory structure. One relevant example that is fixed by this release: -```toml +{{< code-toggle file="config" >}} [module] [[module.mounts]] source="content1" @@ -21,7 +21,7 @@ target="content" [[module.mounts]] source="content2" target="content/docs" -``` +{{< /code-toggle >}} The above is obviously both common and very useful. This was never an issue with the situations where you load a specific file/directory (e.g. `resources.Get "a/b/c/d/sunset.jpg"`). diff --git a/content/en/news/0.66.0-relnotes/index.md b/content/en/news/0.66.0-relnotes/index.md index 6fdeec948..850a8fa71 100644 --- a/content/en/news/0.66.0-relnotes/index.md +++ b/content/en/news/0.66.0-relnotes/index.md @@ -6,12 +6,12 @@ description: "Native inline, recursive import support in PostCSS/Tailwind, \"dep categories: ["Releases"] --- -This release adds [inline `@import`](/hugo-pipes/postcss/#options) support to `resources.PostCSS`, with imports relative to Hugo's virtual, composable file system. Another useful addition is the new `build` [configuration section](/getting-started/configuration/#configure-build). As an example in `config.toml`: +This release adds [inline `@import`](/hugo-pipes/postcss/#options) support to `resources.PostCSS`, with imports relative to Hugo's virtual, composable file system. Another useful addition is the new `build` [configuration section](/getting-started/configuration/#configure-build). As an example: -```toml +{{< code-toggle file="config" >}} [build] useResourceCacheWhen = "always" -``` +{{< /code-toggle >}} The above will tell Hugo to _always_ use the cached build resources inside `resources/_gen` for the build steps requiring a non-standard dependency (PostCSS and SCSS/SASS). Valid values are `never`, `always` and `fallback` (default). diff --git a/content/en/news/0.67.0-relnotes/index.md b/content/en/news/0.67.0-relnotes/index.md index a970ab777..881fe0367 100644 --- a/content/en/news/0.67.0-relnotes/index.md +++ b/content/en/news/0.67.0-relnotes/index.md @@ -10,7 +10,7 @@ The two main items in Hugo 0.67.0 is custom HTTP header support in `hugo server` Being able to [configure HTTP headers](https://gohugo.io/getting-started/configuration/#configure-server) in your development server means that you can now verify how your site behaves with the intended Content Security Policy settings etc., e.g.: -```toml +{{< code-toggle file="config" >}} [server] [[server.headers]] for = "/**.html" @@ -21,7 +21,7 @@ X-XSS-Protection = "1; mode=block" X-Content-Type-Options = "nosniff" Referrer-Policy = "strict-origin-when-cross-origin" Content-Security-Policy = "script-src localhost:1313" -``` +{{< /code-toggle >}} **Note:** This release also changes how raw HTML files inside /content is processed to be in line with the documentation. See [#7030](https://github.com/gohugoio/hugo/issues/7030). diff --git a/content/en/news/0.76.0-relnotes/index.md b/content/en/news/0.76.0-relnotes/index.md index ec4549575..65f3ebb9d 100644 --- a/content/en/news/0.76.0-relnotes/index.md +++ b/content/en/news/0.76.0-relnotes/index.md @@ -46,13 +46,13 @@ We have added a `force` flag to the [server redirects](https://gohugo.io/getting This is set to default `false`. If you want the old behaviour you need to add this flag to your configuration: -```toml +{{< code-toggle file="config" >}} [[redirects]] from = "/myspa/**" to = "/myspa/" status = 200 force = true -``` +{{< /code-toggle >}} ## Enhancements diff --git a/content/en/news/0.81.0-relnotes/index.md b/content/en/news/0.81.0-relnotes/index.md index 70ecab17d..ebcbb5ac7 100644 --- a/content/en/news/0.81.0-relnotes/index.md +++ b/content/en/news/0.81.0-relnotes/index.md @@ -128,12 +128,12 @@ There are several [Hugo Modules](https://gohugo.io/hugo-modules/)-related improv ## Minify - Keep Comments -Keep comments when running `hugo --minify` with a new setting in config.toml. +Keep comments when running `hugo --minify` with a new setting: -```toml +{{< code-toggle file="config" >}} [minify.tdewolff.html] keepComments = true -``` +{{< /code-toggle >}} The default value for this setting is `false`. diff --git a/content/en/news/0.82.0-relnotes/featured.png b/content/en/news/0.82.0-relnotes/featured.png new file mode 100644 index 0000000000000000000000000000000000000000..d09243f61c6186a114da4406f8a349ca400fc0a6 GIT binary patch literal 57106 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 literal 0 HcmV?d00001 diff --git a/content/en/news/0.82.0-relnotes/index.md b/content/en/news/0.82.0-relnotes/index.md new file mode 100644 index 000000000..0297ea041 --- /dev/null +++ b/content/en/news/0.82.0-relnotes/index.md @@ -0,0 +1,78 @@ + +--- +date: 2021-03-21 +title: "Hugo 0.82: Mostly bugfixes" +description: "Mostly bug fixes, but some useful improvements with Markdown attributes." +categories: ["Releases"] +--- + +This is a small release, mostly a maintainance/bugfix release. But also notable is that you can now add custom Markdown attributes (e.g. CSS classes) to code fences ([aed7df62](https://github.com/gohugoio/hugo/commit/aed7df62a811b07b73ec5cbbf03e69e4bbf00919) [@bep](https://github.com/bep) [#8278](https://github.com/gohugoio/hugo/issues/8278)) and that you can use the attribute lists in title render hooks (`.Attributes`; see [cd0c5d7e](https://github.com/gohugoio/hugo/commit/cd0c5d7ef32cbd570af00c50ce760452381df64e) [@bep](https://github.com/bep) [#8270](https://github.com/gohugoio/hugo/issues/8270)). + +This release represents **28 contributions by 8 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 [@moorereason](https://github.com/moorereason), and [@gzagatti](https://github.com/gzagatti) for their ongoing contributions. +And a big thanks to [@digitalcraftsman](https://github.com/digitalcraftsman) for his relentless work on keeping the themes site in pristine condition and to [@davidsneighbour](https://github.com/davidsneighbour), [@coliff](https://github.com/coliff) and [@kaushalmodi](https://github.com/kaushalmodi) for all the great work on the documentation site. + +Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs), +which has received **20 contributions by 12 contributors**. A special thanks to [@bep](https://github.com/bep), [@jmooring](https://github.com/jmooring), [@rootkea](https://github.com/rootkea), and [@PaulPineda](https://github.com/PaulPineda) for their work on the documentation site. + + +Hugo now has: + +* 50763+ [stars](https://github.com/gohugoio/hugo/stargazers) +* 435+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors) +* 370+ [themes](http://themes.gohugo.io/) + +## Notes + +* We have made `.MediaType` comparable [ba1d0051](https://github.com/gohugoio/hugo/commit/ba1d0051b44fdd242b20899e195e37ab26501516) [@bep](https://github.com/bep) [#8317](https://github.com/gohugoio/hugo/issues/8317)[#8324](https://github.com/gohugoio/hugo/issues/8324). This also means that the old `MediaType.Suffix` and `MediaType.FullSuffix` is moved to `MediaType.FirstSuffix.Suffix` and `MediaType.FirstSuffix.FullSuffix`, which also better describes what they represent. + +## Enhancements + +### Templates + +* Add method mappings for strings.Contains, strings.ContainsAny [7f853003](https://github.com/gohugoio/hugo/commit/7f8530039aa018f23bad9d58e97777705a6d19ac) [@bep](https://github.com/bep) + +### Output + +* Make Type comparable [ba1d0051](https://github.com/gohugoio/hugo/commit/ba1d0051b44fdd242b20899e195e37ab26501516) [@bep](https://github.com/bep) [#8317](https://github.com/gohugoio/hugo/issues/8317)[#8324](https://github.com/gohugoio/hugo/issues/8324) +* Add a basic benchmark [4d24e2a3](https://github.com/gohugoio/hugo/commit/4d24e2a3261d8c7dc0395db3ac4de89ebb0974a5) [@bep](https://github.com/bep) + +### Other + +* Regenerate docs helper [86b4fd35](https://github.com/gohugoio/hugo/commit/86b4fd35e78f545510f19b49246a3ccf5487831b) [@bep](https://github.com/bep) +* Regen CLI docs [195d108d](https://github.com/gohugoio/hugo/commit/195d108da75c9e5b9ef790bc4a5879c1e913964b) [@bep](https://github.com/bep) +* Simplify some config loading code [df8bb881](https://github.com/gohugoio/hugo/commit/df8bb8812f466bce563cdba297db3cd3f954a799) [@bep](https://github.com/bep) +* Update github.com/evanw/esbuild v0.9.0 => v0.9.6 [57d8d208](https://github.com/gohugoio/hugo/commit/57d8d208ed2245858c6439f19803bf2749f9377f) [@bep](https://github.com/bep) +* Apply OS env overrides twice [fc06e850](https://github.com/gohugoio/hugo/commit/fc06e85082b63a54d9403e57c8d01a7d5a62fc04) [@bep](https://github.com/bep) +* Attributes for code fences should be placed after the lang indicator only [b725253f](https://github.com/gohugoio/hugo/commit/b725253f9e3033e18bd45096c0622e6fb7b1ff79) [@bep](https://github.com/bep) [#8313](https://github.com/gohugoio/hugo/issues/8313) +* Bump github.com/tdewolff/minify/v2 v2.9.15 [35dedf15](https://github.com/gohugoio/hugo/commit/35dedf15c04a605df4d4a09263b0b299e5161f86) [@bep](https://github.com/bep) [#8332](https://github.com/gohugoio/hugo/issues/8332) +* More explicit support link to discourse [137d2dab](https://github.com/gohugoio/hugo/commit/137d2dab3285e9b0f8fe4dcc65ab6ecf8bb09002) [@davidsneighbour](https://github.com/davidsneighbour) +* Update to esbuild v0.9.0 [1b1dcf58](https://github.com/gohugoio/hugo/commit/1b1dcf586e220c3a8ad5ecfa8e4c3dac97f0ab44) [@bep](https://github.com/bep) +* Allow more spacing characters in strings [0a2ab3f8](https://github.com/gohugoio/hugo/commit/0a2ab3f8feb961f8394b1f9964fab36bfa468027) [@moorereason](https://github.com/moorereason) [#8079](https://github.com/gohugoio/hugo/issues/8079)[#8079](https://github.com/gohugoio/hugo/issues/8079) +* Rename a test [35bfb662](https://github.com/gohugoio/hugo/commit/35bfb662229226d5f3cc3077ca74323f0aa88b7d) [@bep](https://github.com/bep) +* Add a debug helper [6d21559f](https://github.com/gohugoio/hugo/commit/6d21559fb55cda39c7b92bb61fd8e65a84465fe5) [@bep](https://github.com/bep) +* Add support for Google Analytics v4 [ba16a14c](https://github.com/gohugoio/hugo/commit/ba16a14c6e884e309380610331aff78213f84751) [@djatwood](https://github.com/djatwood) +* Bump go.mod to Go 1.16 [782c79ae](https://github.com/gohugoio/hugo/commit/782c79ae61a5ec30746ce3729933d6b4d31e0540) [@bep](https://github.com/bep) [#8294](https://github.com/gohugoio/hugo/issues/8294) +* #8210 Upgrade golang version for Dockerfile [5afcae7e](https://github.com/gohugoio/hugo/commit/5afcae7e0b4c08bc37db6e34ab4cf960558f4b6e) [@systemkern](https://github.com/systemkern) +* Update CONTRIBUTING.md [60469f42](https://github.com/gohugoio/hugo/commit/60469f429e227631d76d951f2ed92986f0bd92e9) [@bep](https://github.com/bep) +* Handle attribute lists in code fences [aed7df62](https://github.com/gohugoio/hugo/commit/aed7df62a811b07b73ec5cbbf03e69e4bbf00919) [@bep](https://github.com/bep) [#8278](https://github.com/gohugoio/hugo/issues/8278) +* Allow markdown attribute lists to be used in title render hooks [cd0c5d7e](https://github.com/gohugoio/hugo/commit/cd0c5d7ef32cbd570af00c50ce760452381df64e) [@bep](https://github.com/bep) [#8270](https://github.com/gohugoio/hugo/issues/8270) +* bump github.com/kyokomi/emoji/v2 from 2.2.7 to 2.2.8 [88a85dce](https://github.com/gohugoio/hugo/commit/88a85dcea951b0b5622cf02b167ec9299d93118b) [@dependabot[bot]](https://github.com/apps/dependabot) + +## Fixes + +### Output + +* Fix output format handling for render hooks [18074d0c](https://github.com/gohugoio/hugo/commit/18074d0c2375cc4bf4d7933dd4206cb878a23d1c) [@bep](https://github.com/bep) [#8176](https://github.com/gohugoio/hugo/issues/8176) + +### Other + +* Fix OS env override for nested config param only available in theme [7ed56c69](https://github.com/gohugoio/hugo/commit/7ed56c6941edfdfa42eef2b779020b5d46ca194a) [@bep](https://github.com/bep) [#8346](https://github.com/gohugoio/hugo/issues/8346) +* Fix `new theme` command description [24c716ca](https://github.com/gohugoio/hugo/commit/24c716cac35b0c5476944108e545058749c43e61) [@rootkea](https://github.com/rootkea) +* Fix handling of utf8 runes in nullString() [f6612d8b](https://github.com/gohugoio/hugo/commit/f6612d8bd8c4c3bb498178d14f45d3acdf86aa7c) [@moorereason](https://github.com/moorereason) +* Fixes #7698. [01dd7c16](https://github.com/gohugoio/hugo/commit/01dd7c16af6204d18d530f9d3018689215482170) [@gzagatti](https://github.com/gzagatti) +* Fix autocomplete docs [c8f45d1d](https://github.com/gohugoio/hugo/commit/c8f45d1d861f596821afc068bd12eb1213aba5ce) [@bep](https://github.com/bep) + + + + + diff --git a/content/en/news/0.82.1-relnotes/index.md b/content/en/news/0.82.1-relnotes/index.md new file mode 100644 index 000000000..54462b8ad --- /dev/null +++ b/content/en/news/0.82.1-relnotes/index.md @@ -0,0 +1,19 @@ + +--- +date: 2021-04-20 +title: "Hugo 0.82.1: One Bug Fix" +description: "This version fixes a bug introduced in 0.82.0." +categories: ["Releases"] +images: +- images/blog/hugo-bug-poster.png + +--- + + + +This is a bug-fix release with one important fix. + +* Regression in media type suffix lookup [6e9d2bf0](https://github.com/gohugoio/hugo/commit/6e9d2bf0c936900f8f676d485098755b3f463373) [@bep](https://github.com/bep) [#8406](https://github.com/gohugoio/hugo/issues/8406) + + + diff --git a/content/en/news/http2-server-push-in-hugo.md b/content/en/news/http2-server-push-in-hugo.md index 72d0acd53..28b1f47d6 100644 --- a/content/en/news/http2-server-push-in-hugo.md +++ b/content/en/news/http2-server-push-in-hugo.md @@ -23,7 +23,8 @@ If you navigate to https://gohugo.io and look in the Chrome developer network co ## 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/). -```bash + +```toml [outputs] home = [ "HTML", "RSS", "REDIR", "HEADERS" ] diff --git a/content/en/templates/data-templates.md b/content/en/templates/data-templates.md index 89f648c0f..661c0bdfa 100644 --- a/content/en/templates/data-templates.md +++ b/content/en/templates/data-templates.md @@ -51,7 +51,7 @@ The example below is a bit contrived, but it illustrates the flexibility of data `jacopastorius.toml` contains the content below. `johnpatitucci.toml` contains a similar list: -``` +{{< code-toggle file="jacopastorius" >}} discography = [ "1974 – Modern American Music … Period! The Criteria Sessions", "1974 – Jaco", @@ -69,7 +69,7 @@ discography = [ "2003 - Punk Jazz: The Jaco Pastorius Anthology (compilation)", "2007 - The Essential Jaco Pastorius (compilation)" ] -``` +{{< /code-toggle >}} The list of bass players can be accessed via `.Site.Data.jazz.bass`, a single bass player by adding the filename without the suffix, e.g. `.Site.Data.jazz.bass.jacopastorius`. diff --git a/content/en/templates/internal.md b/content/en/templates/internal.md index e3d7e09c3..6f0aa9a0a 100644 --- a/content/en/templates/internal.md +++ b/content/en/templates/internal.md @@ -27,14 +27,20 @@ While the following internal templates are called similar to partials, they do * ## Google Analytics -Hugo ships with internal templates for Google Analytics tracking, including both synchronous and asynchronous tracking codes. +Hugo ships with internal templates for Google Analytics tracking, including both synchronous and asynchronous tracking codes. As well as support for both v3 and v4 of Google Analytics. ### Configure Google Analytics Provide your tracking id in your configuration file: +**Google Analytics v3 (analytics.js)** {{< code-toggle file="config" >}} -googleAnalytics = "UA-123-45" +googleAnalytics = "UA-PROPERTY_ID" +{{}} + +**Google Analytics v4 (gtag.js)** +{{< code-toggle file="config" >}} +googleAnalytics = "G-MEASUREMENT_ID" {{}} ### Use the Google Analytics Template @@ -50,6 +56,8 @@ You can then include the Google Analytics internal template: {{ template "_internal/google_analytics_async.html" . }} ``` +When using Google Analytics v4 use `_internal/google_analytics.html`. + A `.Site.GoogleAnalytics` variable is also exposed from the config. ## Disqus @@ -58,7 +66,7 @@ Hugo also ships with an internal template for [Disqus comments][disqus], a popul ### Configure Disqus -To use Hugo's Disqus template, you first need to set a single value in your site's `config.toml` or `config.yml`: +To use Hugo's Disqus template, you first need to set a single configuration value: {{< code-toggle file="config" >}} disqusShortname = "yourdiscussshortname" @@ -144,6 +152,7 @@ tags = [] Hugo uses the page title and description for the title and description metadata. The first 6 URLs from the `images` array are used for image metadata. +If [page bundles](/content-management/page-bundles/) are used and the `images` array is empty or undefined, images with filenames matching `*feature*` or `*cover*,*thumbnail*` are used for image metadata. Various optional metadata can also be set: diff --git a/content/en/templates/pagination.md b/content/en/templates/pagination.md index 5c20f8ad0..d89735f7c 100644 --- a/content/en/templates/pagination.md +++ b/content/en/templates/pagination.md @@ -24,15 +24,15 @@ The real power of Hugo pagination shines when combined with the [`where` functio Pagination can be configured in your [site configuration][configuration]: -`Paginate` +`paginate` : default = `10`. This setting can be overridden within the template. -`PaginatePath` +`paginatePath` : default = `page`. Allows you to set a different path for your pagination pages. -Setting `Paginate` to a positive value will split the list pages for the homepage, sections and taxonomies into chunks of that size. But note that the generation of the pagination pages for sections, taxonomies and homepage is *lazy* --- the pages will not be created if not referenced by a `.Paginator` (see below). +Setting `paginate` to a positive value will split the list pages for the homepage, sections and taxonomies into chunks of that size. But note that the generation of the pagination pages for sections, taxonomies and homepage is *lazy* --- the pages will not be created if not referenced by a `.Paginator` (see below). -`PaginatePath` is used to adapt the `URL` to the pages in the paginator (the default setting will produce URLs on the form `/page/1/`. +`paginatePath` is used to adapt the `URL` to the pages in the paginator (the default setting will produce URLs on the form `/page/1/`. ## List Paginator Pages diff --git a/content/en/templates/partials.md b/content/en/templates/partials.md index d23622ded..a1030f6aa 100644 --- a/content/en/templates/partials.md +++ b/content/en/templates/partials.md @@ -99,7 +99,7 @@ Value: {{ partial "my-inline-partial" . }} ### Example GetFeatured ```go-html-template {{/* layouts/partials/GetFeatured.html */}} -{{ return first . (where site.RegularPages ".Params.featured" true) }} +{{ return first . (where site.RegularPages "Params.featured" true) }} ``` ```go-html-template @@ -175,7 +175,6 @@ The following `header.html` partial template is used for [spf13.com](https://spf {{ partial "head_includes.html" . }} - {{< /code >}} {{% note %}} diff --git a/content/en/templates/robots.md b/content/en/templates/robots.md index b06a15dd0..52a77314b 100644 --- a/content/en/templates/robots.md +++ b/content/en/templates/robots.md @@ -18,37 +18,49 @@ aliases: [/extras/robots-txt/] toc: false --- -To create your robots.txt as a template, first set the `enableRobotsTXT` value to `true` in your [configuration file][config]. By default, this option generates a robots.txt with the following content, which tells search engines that they are allowed to crawl everything: +To generate a robots.txt file from a template, change the [site configuration][config]: -``` +{{< code-toggle file="config">}} +enableRobotsTXT = true +{{< /code-toggle >}} + +By default, Hugo generates robots.txt using an [internal template][internal]. + +```text User-agent: * ``` +Search engines that honor the Robots Exclusion Protocol will interpret this as permission to crawl everything on the site. + ## Robots.txt Template Lookup Order -The [lookup order][lookup] for the `robots.txt` template is as follows: +You may overwrite the internal template with a custom template. Hugo selects the template using this lookup order: -* `/layouts/robots.txt` -* `/themes//layouts/robots.txt` - -{{% note %}} -If you do not want Hugo to create a default `robots.txt` or leverage the `robots.txt` template, you can hand code your own and place the file in `static`. Remember that everything in the [static directory](/getting-started/directory-structure/) is copied over as-is when Hugo builds your site. -{{% /note %}} +1. `/layouts/robots.txt` +2. `/themes//layouts/robots.txt` ## Robots.txt Template Example -The following is an example `robots.txt` layout: - {{< code file="layouts/robots.txt" download="robots.txt" >}} User-agent: * - -{{range .Pages}} -Disallow: {{.RelPermalink}} -{{end}} +{{ range .Pages }} +Disallow: {{ .RelPermalink }} +{{ end }} {{< /code >}} -This template disallows all the pages of the site by creating one `Disallow` entry for each page. +This template creates a robots.txt file with a `Disallow` directive for each page on the site. Search engines that honor the Robots Exclusion Protocol will not crawl any page on the site. + +{{% note %}} +To create a robots.txt file without using a template: + +1. Set `enableRobotsTXT` to `false` in the [site configuration][config]. +2. Create a robots.txt file in the `static` directory. + +Remember that Hugo copies everything in the [static directory][static] to the root of `publishDir` (typically `public`) when you build your site. [config]: /getting-started/configuration/ -[lookup]: /templates/lookup-order/ -[robots]: https://www.robotstxt.org/ +[static]: /getting-started/directory-structure/ +{{% /note %}} + +[config]: /getting-started/configuration/ +[internal]: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/_default/robots.txt diff --git a/content/en/templates/rss.md b/content/en/templates/rss.md index 0eba97470..009ba241a 100644 --- a/content/en/templates/rss.md +++ b/content/en/templates/rss.md @@ -43,15 +43,15 @@ The table below shows the RSS template lookup order for the different page kinds By default, Hugo will create an unlimited number of RSS entries. You can limit the number of articles included in the built-in RSS templates by assigning a numeric value to `rssLimit:` field in your project's [`config` file][config]. -The following values will also be included in the RSS output if specified in your site’s configuration: +The following values will also be included in the RSS output if specified: -```toml +{{< code-toggle file="config" >}} languageCode = "en-us" copyright = "This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License." [author] name = "My Name Here" -``` +{{< /code-toggle >}} ## The Embedded rss.xml diff --git a/content/en/templates/taxonomy-templates.md b/content/en/templates/taxonomy-templates.md index b04a2e43f..a265b68d0 100644 --- a/content/en/templates/taxonomy-templates.md +++ b/content/en/templates/taxonomy-templates.md @@ -206,7 +206,7 @@ Because we are leveraging the front matter system to define taxonomies for conte ``` diff --git a/content/en/tools/editors.md b/content/en/tools/editors.md index 4db907489..8da5fc2d7 100644 --- a/content/en/tools/editors.md +++ b/content/en/tools/editors.md @@ -23,6 +23,7 @@ The Hugo community uses a wide range of preferred tools and has developed plug-i ## Sublime Text * [Hugofy](https://github.com/akmittal/Hugofy). Hugofy is a plugin for Sublime Text 3 to make life easier to use Hugo static site generator. +* [Hugo Snippets](https://packagecontrol.io/packages/Hugo%20Snippets). Hugo Snippets is a useful plugin for adding automatic snippets to Sublime Text 3. ## Visual Studio Code diff --git a/content/en/tools/migrations.md b/content/en/tools/migrations.md index 481ef1bac..d87bd4013 100644 --- a/content/en/tools/migrations.md +++ b/content/en/tools/migrations.md @@ -73,7 +73,7 @@ Alternatively, you can use the new [Jekyll import command](/commands/hugo_import ## Blogger - [blogimport](https://github.com/natefinch/blogimport) - A tool to import from Blogger posts to Hugo. -- [blogger-to-hugo](https://bitbucket.org/petraszd/blogger-to-hugo) - Another tool to import Blogger posts to Hugo. It also downloads embedded images so they will be stored locally. +- [blogger-to-hugo](https://pypi.org/project/blogger-to-hugo/) - Another tool to import Blogger posts to Hugo. It also downloads embedded images so they will be stored locally. - [blog2md](https://github.com/palaniraja/blog2md) - Works with [exported xml](https://support.google.com/blogger/answer/41387?hl=en) file of your YOUR-TLD.blogspot.com website. It also saves comments to `YOUR-POST-NAME-comments.md` file along with posts. - [BloggerToHugo](https://github.com/huanlin/blogger-to-hugo) - Yet another tool to import Blogger posts to Hugo. For Windows platform only, and .NET Framework 4.5 is required. See README.md before using this tool. diff --git a/content/en/troubleshooting/faq.md b/content/en/troubleshooting/faq.md index 1934bc5e5..66ea78630 100644 --- a/content/en/troubleshooting/faq.md +++ b/content/en/troubleshooting/faq.md @@ -27,7 +27,7 @@ Yes you can! See [Configure with Environment Variables](/getting-started/configu ## How do I schedule posts? -1. Set `publishDate` in the page [Front Matter](/content-management/front-matter/) to a date in the future. +1. Set `publishDate` in the page [Front Matter](/content-management/front-matter/) to a datetime in the future. If you want the creation and publication datetime to be the same, it's also sufficient to only set `date`[^date-hierarchy]. 2. Build and publish at intervals. How to automate the "publish at intervals" part depends on your situation: @@ -39,6 +39,8 @@ Also see this Twitter thread: {{< tweet 962380712027590657 >}} +[^date-hierarchy]: See [Configure Dates](https://gohugo.io/getting-started/configuration/#configure-dates) for the order in which the different date variables are complemented by each other when not explicitly set. + ## Can I use the latest Hugo version on Netlify? Yes you can! Read [this](/hosting-and-deployment/hosting-on-netlify/#configure-hugo-version-in-netlify). diff --git a/content/en/variables/site.md b/content/en/variables/site.md index d3df29609..2300c2cb8 100644 --- a/content/en/variables/site.md +++ b/content/en/variables/site.md @@ -22,7 +22,7 @@ The following is a list of site-level (aka "global") variables. Many of these va ## Get the Site object from a partial -All the methods below, e.g. `.Site.RegularPages` can also be reached via the global `site` function, e.g. `site.RegularPages`, which can be handy in partials where the `Page` object isn't easily available. {{< new-in "0.53" >}}. +All the methods below, e.g. `.Site.RegularPages` can also be reached via the global [`site`](/functions/site/) function, e.g. `site.RegularPages`, which can be handy in partials where the `Page` object isn't easily available. {{< new-in "0.53" >}}. ## Site Variables List diff --git a/data/docs.json b/data/docs.json index 37fdf6518..e757680a5 100644 --- a/data/docs.json +++ b/data/docs.json @@ -1597,263 +1597,369 @@ "media": { "types": [ { - "type": "application/javascript", - "string": "application/javascript", "mainType": "application", "subType": "javascript", "delimiter": ".", + "firstSuffix": { + "suffix": "js", + "fullSuffix": ".js" + }, + "type": "application/javascript", + "string": "application/javascript", "suffixes": [ "js" ] }, { - "type": "application/json", - "string": "application/json", "mainType": "application", "subType": "json", "delimiter": ".", + "firstSuffix": { + "suffix": "json", + "fullSuffix": ".json" + }, + "type": "application/json", + "string": "application/json", "suffixes": [ "json" ] }, { - "type": "application/octet-stream", - "string": "application/octet-stream", "mainType": "application", "subType": "octet-stream", - "delimiter": "", - "suffixes": null + "delimiter": ".", + "firstSuffix": { + "suffix": "", + "fullSuffix": "" + }, + "type": "application/octet-stream", + "string": "application/octet-stream", + "suffixes": [ + "" + ] }, { - "type": "application/rss+xml", - "string": "application/rss+xml", "mainType": "application", "subType": "rss", "delimiter": ".", + "firstSuffix": { + "suffix": "xml", + "fullSuffix": ".xml" + }, + "type": "application/rss+xml", + "string": "application/rss+xml", "suffixes": [ "xml" ] }, { - "type": "application/toml", - "string": "application/toml", "mainType": "application", "subType": "toml", "delimiter": ".", + "firstSuffix": { + "suffix": "toml", + "fullSuffix": ".toml" + }, + "type": "application/toml", + "string": "application/toml", "suffixes": [ "toml" ] }, { - "type": "application/typescript", - "string": "application/typescript", "mainType": "application", "subType": "typescript", "delimiter": ".", + "firstSuffix": { + "suffix": "ts", + "fullSuffix": ".ts" + }, + "type": "application/typescript", + "string": "application/typescript", "suffixes": [ "ts" ] }, { - "type": "application/xml", - "string": "application/xml", "mainType": "application", "subType": "xml", "delimiter": ".", + "firstSuffix": { + "suffix": "xml", + "fullSuffix": ".xml" + }, + "type": "application/xml", + "string": "application/xml", "suffixes": [ "xml" ] }, { - "type": "application/yaml", - "string": "application/yaml", "mainType": "application", "subType": "yaml", "delimiter": ".", + "firstSuffix": { + "suffix": "yaml", + "fullSuffix": ".yaml" + }, + "type": "application/yaml", + "string": "application/yaml", "suffixes": [ "yaml", "yml" ] }, { - "type": "image/jpeg", - "string": "image/jpeg", "mainType": "image", "subType": "jpeg", "delimiter": ".", + "firstSuffix": { + "suffix": "jpg", + "fullSuffix": ".jpg" + }, + "type": "image/jpeg", + "string": "image/jpeg", "suffixes": [ "jpg", "jpeg" ] }, { - "type": "image/png", - "string": "image/png", "mainType": "image", "subType": "png", "delimiter": ".", + "firstSuffix": { + "suffix": "png", + "fullSuffix": ".png" + }, + "type": "image/png", + "string": "image/png", "suffixes": [ "png" ] }, { - "type": "image/svg+xml", - "string": "image/svg+xml", "mainType": "image", "subType": "svg", "delimiter": ".", + "firstSuffix": { + "suffix": "svg", + "fullSuffix": ".svg" + }, + "type": "image/svg+xml", + "string": "image/svg+xml", "suffixes": [ "svg" ] }, { - "type": "text/calendar", - "string": "text/calendar", "mainType": "text", "subType": "calendar", "delimiter": ".", + "firstSuffix": { + "suffix": "ics", + "fullSuffix": ".ics" + }, + "type": "text/calendar", + "string": "text/calendar", "suffixes": [ "ics" ] }, { - "type": "text/css", - "string": "text/css", "mainType": "text", "subType": "css", "delimiter": ".", + "firstSuffix": { + "suffix": "css", + "fullSuffix": ".css" + }, + "type": "text/css", + "string": "text/css", "suffixes": [ "css" ] }, { - "type": "text/csv", - "string": "text/csv", "mainType": "text", "subType": "csv", "delimiter": ".", + "firstSuffix": { + "suffix": "csv", + "fullSuffix": ".csv" + }, + "type": "text/csv", + "string": "text/csv", "suffixes": [ "csv" ] }, { - "type": "text/html", - "string": "text/html", "mainType": "text", "subType": "html", "delimiter": ".", + "firstSuffix": { + "suffix": "html", + "fullSuffix": ".html" + }, + "type": "text/html", + "string": "text/html", "suffixes": [ "html" ] }, { - "type": "text/jsx", - "string": "text/jsx", "mainType": "text", "subType": "jsx", "delimiter": ".", + "firstSuffix": { + "suffix": "jsx", + "fullSuffix": ".jsx" + }, + "type": "text/jsx", + "string": "text/jsx", "suffixes": [ "jsx" ] }, { - "type": "text/plain", - "string": "text/plain", "mainType": "text", "subType": "plain", "delimiter": ".", + "firstSuffix": { + "suffix": "txt", + "fullSuffix": ".txt" + }, + "type": "text/plain", + "string": "text/plain", "suffixes": [ "txt" ] }, { - "type": "text/tsx", - "string": "text/tsx", "mainType": "text", "subType": "tsx", "delimiter": ".", + "firstSuffix": { + "suffix": "tsx", + "fullSuffix": ".tsx" + }, + "type": "text/tsx", + "string": "text/tsx", "suffixes": [ "tsx" ] }, { - "type": "text/x-sass", - "string": "text/x-sass", "mainType": "text", "subType": "x-sass", "delimiter": ".", + "firstSuffix": { + "suffix": "sass", + "fullSuffix": ".sass" + }, + "type": "text/x-sass", + "string": "text/x-sass", "suffixes": [ "sass" ] }, { - "type": "text/x-scss", - "string": "text/x-scss", "mainType": "text", "subType": "x-scss", "delimiter": ".", + "firstSuffix": { + "suffix": "scss", + "fullSuffix": ".scss" + }, + "type": "text/x-scss", + "string": "text/x-scss", "suffixes": [ "scss" ] }, { - "type": "video/3gpp", - "string": "video/3gpp", "mainType": "video", "subType": "3gpp", "delimiter": ".", + "firstSuffix": { + "suffix": "3gpp", + "fullSuffix": ".3gpp" + }, + "type": "video/3gpp", + "string": "video/3gpp", "suffixes": [ "3gpp", "3gp" ] }, { - "type": "video/mp4", - "string": "video/mp4", "mainType": "video", "subType": "mp4", "delimiter": ".", + "firstSuffix": { + "suffix": "mp4", + "fullSuffix": ".mp4" + }, + "type": "video/mp4", + "string": "video/mp4", "suffixes": [ "mp4" ] }, { - "type": "video/mpeg", - "string": "video/mpeg", "mainType": "video", "subType": "mpeg", "delimiter": ".", + "firstSuffix": { + "suffix": "mpg", + "fullSuffix": ".mpg" + }, + "type": "video/mpeg", + "string": "video/mpeg", "suffixes": [ "mpg", "mpeg" ] }, { - "type": "video/ogg", - "string": "video/ogg", "mainType": "video", "subType": "ogg", "delimiter": ".", + "firstSuffix": { + "suffix": "ogv", + "fullSuffix": ".ogv" + }, + "type": "video/ogg", + "string": "video/ogg", "suffixes": [ "ogv" ] }, { - "type": "video/webm", - "string": "video/webm", "mainType": "video", "subType": "webm", "delimiter": ".", + "firstSuffix": { + "suffix": "webm", + "fullSuffix": ".webm" + }, + "type": "video/webm", + "string": "video/webm", "suffixes": [ "webm" ] }, { - "type": "video/x-msvideo", - "string": "video/x-msvideo", "mainType": "video", "subType": "x-msvideo", "delimiter": ".", + "firstSuffix": { + "suffix": "avi", + "fullSuffix": ".avi" + }, + "type": "video/x-msvideo", + "string": "video/x-msvideo", "suffixes": [ "avi" ] @@ -1863,18 +1969,8 @@ "output": { "formats": [ { - "MediaType": "text/html", + "mediaType": "text/html", "name": "HTML", - "mediaType": { - "type": "text/html", - "string": "text/html", - "mainType": "text", - "subType": "html", - "delimiter": ".", - "suffixes": [ - "html" - ] - }, "path": "", "baseName": "index", "rel": "canonical", @@ -1887,18 +1983,8 @@ "weight": 10 }, { - "MediaType": "text/html", + "mediaType": "text/html", "name": "AMP", - "mediaType": { - "type": "text/html", - "string": "text/html", - "mainType": "text", - "subType": "html", - "delimiter": ".", - "suffixes": [ - "html" - ] - }, "path": "amp", "baseName": "index", "rel": "amphtml", @@ -1911,18 +1997,8 @@ "weight": 0 }, { - "MediaType": "text/css", + "mediaType": "text/css", "name": "CSS", - "mediaType": { - "type": "text/css", - "string": "text/css", - "mainType": "text", - "subType": "css", - "delimiter": ".", - "suffixes": [ - "css" - ] - }, "path": "", "baseName": "styles", "rel": "stylesheet", @@ -1935,18 +2011,8 @@ "weight": 0 }, { - "MediaType": "text/csv", + "mediaType": "text/csv", "name": "CSV", - "mediaType": { - "type": "text/csv", - "string": "text/csv", - "mainType": "text", - "subType": "csv", - "delimiter": ".", - "suffixes": [ - "csv" - ] - }, "path": "", "baseName": "index", "rel": "alternate", @@ -1959,18 +2025,8 @@ "weight": 0 }, { - "MediaType": "text/calendar", + "mediaType": "text/calendar", "name": "Calendar", - "mediaType": { - "type": "text/calendar", - "string": "text/calendar", - "mainType": "text", - "subType": "calendar", - "delimiter": ".", - "suffixes": [ - "ics" - ] - }, "path": "", "baseName": "index", "rel": "alternate", @@ -1983,18 +2039,8 @@ "weight": 0 }, { - "MediaType": "application/json", + "mediaType": "application/json", "name": "JSON", - "mediaType": { - "type": "application/json", - "string": "application/json", - "mainType": "application", - "subType": "json", - "delimiter": ".", - "suffixes": [ - "json" - ] - }, "path": "", "baseName": "index", "rel": "alternate", @@ -2007,18 +2053,8 @@ "weight": 0 }, { - "MediaType": "text/plain", + "mediaType": "text/plain", "name": "ROBOTS", - "mediaType": { - "type": "text/plain", - "string": "text/plain", - "mainType": "text", - "subType": "plain", - "delimiter": ".", - "suffixes": [ - "txt" - ] - }, "path": "", "baseName": "robots", "rel": "alternate", @@ -2031,18 +2067,8 @@ "weight": 0 }, { - "MediaType": "application/rss+xml", + "mediaType": "application/rss+xml", "name": "RSS", - "mediaType": { - "type": "application/rss+xml", - "string": "application/rss+xml", - "mainType": "application", - "subType": "rss", - "delimiter": ".", - "suffixes": [ - "xml" - ] - }, "path": "", "baseName": "index", "rel": "alternate", @@ -2055,18 +2081,8 @@ "weight": 0 }, { - "MediaType": "application/xml", + "mediaType": "application/xml", "name": "Sitemap", - "mediaType": { - "type": "application/xml", - "string": "application/xml", - "mainType": "application", - "subType": "xml", - "delimiter": ".", - "suffixes": [ - "xml" - ] - }, "path": "", "baseName": "sitemap", "rel": "sitemap", @@ -2299,7 +2315,7 @@ ] }, { - "Example": "AMP home, French language\"", + "Example": "AMP home, French language", "Kind": "home", "OutputFormat": "AMP", "Suffix": "html", @@ -4360,16 +4376,40 @@ ] }, "Contains": { - "Description": "", - "Args": null, + "Description": "Contains reports whether substr is in s.", + "Args": [ + "s", + "substr" + ], "Aliases": null, - "Examples": null + "Examples": [ + [ + "{{ strings.Contains \"abc\" \"b\" }}", + "true" + ], + [ + "{{ strings.Contains \"abc\" \"d\" }}", + "false" + ] + ] }, "ContainsAny": { - "Description": "", - "Args": null, + "Description": "ContainsAny reports whether any Unicode code points in chars are within s.", + "Args": [ + "s", + "chars" + ], "Aliases": null, - "Examples": null + "Examples": [ + [ + "{{ strings.ContainsAny \"abc\" \"bcd\" }}", + "true" + ], + [ + "{{ strings.ContainsAny \"abc\" \"def\" }}", + "false" + ] + ] }, "Count": { "Description": "Count counts the number of non-overlapping instances of substr in s.\nIf substr is an empty string, Count returns 1 + the number of Unicode code points in s.", diff --git a/go.mod b/go.mod index b389a795f..169f7967f 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/gohugoio/hugoDocs go 1.12 -require github.com/gohugoio/gohugoioTheme v0.0.0-20210301124928-2c15837dfec3 // indirect +require github.com/gohugoio/gohugoioTheme v0.0.0-20210409071416-c88da48134b7 // indirect diff --git a/go.sum b/go.sum index d19e6e7b8..739466c4a 100644 --- a/go.sum +++ b/go.sum @@ -25,3 +25,7 @@ github.com/gohugoio/gohugoioTheme v0.0.0-20200711112515-b0dfe471654f h1:BWJyycs4 github.com/gohugoio/gohugoioTheme v0.0.0-20200711112515-b0dfe471654f/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs= github.com/gohugoio/gohugoioTheme v0.0.0-20210301124928-2c15837dfec3 h1:ShqzOFeeg54FPSuS6q8HSeTVgj2xNZRe/YS0jNbi21g= github.com/gohugoio/gohugoioTheme v0.0.0-20210301124928-2c15837dfec3/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs= +github.com/gohugoio/gohugoioTheme v0.0.0-20210409065807-6383d8cbaf65 h1:EJzierSWKqwsrUXU6MaFe0J97c0e5pzl5dBNRRrV2Nc= +github.com/gohugoio/gohugoioTheme v0.0.0-20210409065807-6383d8cbaf65/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs= +github.com/gohugoio/gohugoioTheme v0.0.0-20210409071416-c88da48134b7 h1:uRCgPslaBgLYy4ANXBoPbBQVM8aNiHoxIZTKUXpkuUA= +github.com/gohugoio/gohugoioTheme v0.0.0-20210409071416-c88da48134b7/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs= diff --git a/layouts/shortcodes/datatable-filtered.html b/layouts/shortcodes/datatable-filtered.html index 576ddab6f..ff3f299bd 100644 --- a/layouts/shortcodes/datatable-filtered.html +++ b/layouts/shortcodes/datatable-filtered.html @@ -20,8 +20,19 @@ {{ range $k, $v := . }} {{ $.Scratch.Set $k $v }} {{ end }} - {{ range $fields }} - {{ $.Scratch.Get . }} + {{ range $k, $v := $fields }} + + {{ $tdContent := $.Scratch.Get . }} + {{ if eq $k 3 }} + {{ printf "%v" $tdContent | + strings.ReplaceRE `\[` "
  1. " | + strings.ReplaceRE `\s` "
  2. " | + strings.ReplaceRE `\]` "
" | + safeHTML }} + {{ else }} + {{ $tdContent }} + {{ end}} + {{ end }} {{ end }} diff --git a/netlify.toml b/netlify.toml index e36b878d4..7f80f5cc8 100644 --- a/netlify.toml +++ b/netlify.toml @@ -3,7 +3,7 @@ publish = "public" command = "hugo --gc --minify" [context.production.environment] -HUGO_VERSION = "0.81.0" +HUGO_VERSION = "0.82.1" HUGO_ENV = "production" HUGO_ENABLEGITINFO = "true" @@ -11,20 +11,20 @@ HUGO_ENABLEGITINFO = "true" command = "hugo --gc --minify --enableGitInfo" [context.split1.environment] -HUGO_VERSION = "0.81.0" +HUGO_VERSION = "0.82.1" HUGO_ENV = "production" [context.deploy-preview] command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL" [context.deploy-preview.environment] -HUGO_VERSION = "0.81.0" +HUGO_VERSION = "0.82.1" [context.branch-deploy] command = "hugo --gc --minify -b $DEPLOY_PRIME_URL" [context.branch-deploy.environment] -HUGO_VERSION = "0.81.0" +HUGO_VERSION = "0.82.1" [context.next.environment] HUGO_ENABLEGITINFO = "true" diff --git a/resources/_gen/images/news/0.82.0-relnotes/featured_hu5d8344c080499179dc5edbf7deb421a4_57106_480x0_resize_catmullrom_2.png b/resources/_gen/images/news/0.82.0-relnotes/featured_hu5d8344c080499179dc5edbf7deb421a4_57106_480x0_resize_catmullrom_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a08dda2303a7148f98fe2cfe79d02d3e87d7c885 GIT binary patch literal 27003 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�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

RhQO^2Ic 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 Ef`VhoKmY&$ literal 0 HcmV?d00001