shithub: hugo

Download patch

ref: 59ebc83d72b09d28d62d8600517c73a4ffe70c66
parent: ebe4d39f175f73e4f130972cb3d74ef0af5d5761
parent: b6b37a1f00f808f3c0d2715f65ca2d3091f36495
author: Bjørn Erik Pedersen <[email protected]>
date: Wed Jul 18 07:05:58 EDT 2018

Merge commit 'b6b37a1f00f808f3c0d2715f65ca2d3091f36495'

--- a/docs/config.toml
+++ b/docs/config.toml
@@ -34,7 +34,6 @@
 
 [mediaTypes]
 [mediaTypes."text/netlify"]
-suffix = ""
 delimiter = ""
 
 [outputFormats]
--- a/docs/content/en/about/new-in-032/index.md
+++ b/docs/content/en/about/new-in-032/index.md
@@ -24,7 +24,7 @@
 
 Also see this demo project from [bep](https://github.com/bep/), the clever Norwegian behind these new features:
 
-* http://hugotest.bep.is/
+* https://temp.bep.is/hugotest/
 * https://github.com/bep/hugotest (source)
 
 ## Page Resources
--- a/docs/content/en/about/what-is-hugo.md
+++ b/docs/content/en/about/what-is-hugo.md
@@ -43,27 +43,23 @@
 
 [@spf13]: https://twitter.com/@spf13
 [Aerobatic]: https://www.aerobatic.com/
-[Amazon S3]: http://aws.amazon.com/s3/
+[Amazon S3]: https://aws.amazon.com/s3/
 [Azure]: https://blogs.msdn.microsoft.com/acoat/2016/01/28/publish-a-static-web-site-using-azure-web-apps/
-[CloudFront]: http://aws.amazon.com/cloudfront/ "Amazon CloudFront"
-[contributing to it]: https://github.com/gohugoio/hugo
-[DreamHost]: http://www.dreamhost.com/
+[CloudFront]: https://aws.amazon.com/cloudfront/ "Amazon CloudFront"
+[DreamHost]: https://www.dreamhost.com/
 [Firebase]: https://firebase.google.com/docs/hosting/ "Firebase static hosting"
 [GitHub Pages]: https://pages.github.com/
 [GitLab Pages]: https://about.gitlab.com/features/pages/
 [Go language]: https://golang.org/
 [GoDaddy]: https://www.godaddy.com/ "Godaddy.com Hosting"
-[Google Cloud Storage]: http://cloud.google.com/storage/
+[Google Cloud Storage]: https://cloud.google.com/storage/
 [Heroku]: https://www.heroku.com/
-[Jekyll]: http://jekyllrb.com/
 [Jekyll]: https://jekyllrb.com/
 [Middleman]: https://middlemanapp.com/
-[Middleman]: https://middlemanapp.com/
-[Nanoc]: http://nanoc.ws/
 [Nanoc]: https://nanoc.ws/
 [Netlify]: https://netlify.com
-[rackspace]: https://www.rackspace.com/cloud/files
-[static site generator]: /about/benefits/
 [Rackspace]: https://www.rackspace.com/cloud/files
-[static site generator]: /about/benefits/
 [Surge]: https://surge.sh
+[contributing to it]: https://github.com/gohugoio/hugo
+[rackspace]: https://www.rackspace.com/cloud/files
+[static site generator]: /about/benefits/
--- a/docs/content/en/content-management/authors.md
+++ b/docs/content/en/content-management/authors.md
@@ -170,7 +170,7 @@
 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 .Data.Pages }}
+{{ range .Pages }}
     <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
     <span>written by {{ .Author.DisplayName }}</span>
     {{ .Summary }}
--- a/docs/content/en/content-management/menus.md
+++ b/docs/content/en/content-management/menus.md
@@ -36,48 +36,8 @@
 If you make use of the [multilingual feature](/content-management/multilingual/), you can define language-independent menus.
 {{% /note %}}
 
-A menu entry has the following properties (i.e., variables) available to it:
+See the [Menu Entry Properties][me-props] for all the variables and functions related to a menu entry.
 
-`.URL`
-: string
-
-`.Name`
-: string
-
-`.Menu`
-: string
-
-`.Identifier`
-: string
-
-`.Pre`
-: template.HTML
-
-`.Post`
-: template.HTML
-
-`.Weight`
-: int
-
-`.Parent`
-: string
-
-`.Children`
-: Menu
-
-Note that menus also have the following functions available as well:
-
-`.HasChildren`
-: boolean
-
-Additionally, there are some relevant functions available to menus on a page:
-
-`.IsMenuCurrent`
-: (menu string, menuEntry *MenuEntry ) boolean
-
-`.HasMenuCurrent`
-: (menu string, menuEntry *MenuEntry) boolean
-
 ## Add content to menus
 
 Hugo allows you to add content to a menu via the content's [front matter](/content-management/front-matter/).
@@ -139,7 +99,7 @@
 {{% /note %}}
 
 ## Nesting
- 
+
 All nesting of content is done via the `parent` field.
 
 The parent of an entry should be the identifier of another entry. The identifier should be unique (within a menu).
@@ -159,3 +119,4 @@
 [config]: /getting-started/configuration/
 [multilingual]: /content-management/multilingual/
 [sitevars]: /variables/
+[me-props]: /variables/menus/
--- a/docs/content/en/content-management/related.md
+++ b/docs/content/en/content-management/related.md
@@ -39,7 +39,7 @@
 Read [this blog article](https://regisphilibert.com/blog/2018/04/hugo-optmized-relashionships-with-related-content/) for a great explanation of more advanced usage of this feature.
 {{% /note %}}
 
-The full set of methods available on the page lists can bee seen in this Go interface:
+The full set of methods available on the page lists can be seen in this Go interface:
 
 ```go
 // A PageGenealogist finds related pages in a page collection. This interface is implemented
--- a/docs/content/en/content-management/shortcodes.md
+++ b/docs/content/en/content-management/shortcodes.md
@@ -178,7 +178,7 @@
 <section id="main">
   <div>
    <h1 id="title">{{ .Title }}</h1>
-    {{ range .Data.Pages }}
+    {{ range .Pages }}
         {{ .Render "summary"}}
     {{ end }}
   </div>
@@ -194,7 +194,7 @@
 <span style="color: #f92672">&lt;section</span> <span style="color: #a6e22e">id=</span><span style="color: #e6db74">&quot;main&quot;</span><span style="color: #f92672">&gt;</span>
   <span style="color: #f92672">&lt;div&gt;</span>
    <span style="color: #f92672">&lt;h1</span> <span style="color: #a6e22e">id=</span><span style="color: #e6db74">&quot;title&quot;</span><span style="color: #f92672">&gt;</span>{{ .Title }}<span style="color: #f92672">&lt;/h1&gt;</span>
-    {{ range .Data.Pages }}
+    {{ range .Pages }}
         {{ .Render &quot;summary&quot;}}
     {{ end }}
   <span style="color: #f92672">&lt;/div&gt;</span>
--- a/docs/content/en/content-management/static-files.md
+++ b/docs/content/en/content-management/static-files.md
@@ -1,6 +1,6 @@
 ---
 title: Static Files
-description: "The `static` folder is where you place all your **static files**."
+description: "Files that get served **statically** (as-is, no modification) on the site root."
 date: 2017-11-18
 categories: [content management]
 keywords: [source, directories]
@@ -13,22 +13,25 @@
 toc: true
 ---
 
-The `static` folder is where you place all your **static files**, e.g. stylesheets, JavaScript, images etc.
+By default, the `static/` directory in the site project is used for
+all **static files** (e.g. stylesheets, JavaScript, images).
 
-You can set the name of the static folder to use in your configuration file.  From **Hugo 0.31** you can configure as many static directories as you need. All the files in all the static directories will form a union filesystem.
+Hugo can be configured to look into a different directory, or even
+**multiple directories** for such static files by configuring the
+`staticDir` parameter in the [site config][]. All the files in all the
+static directories will form a union filesystem.
 
-Example:
+This union filesystem will be served from your site root. So a file
+`<SITE PROJECT>/static/me.png` will be accessible as
+`<MY_BASEURL>/me.png`.
 
+Here's an example of setting `staticDir` and `staticDir2` for a
+multi-language site:
+
 {{< code-toggle copy="false" file="config" >}}
 staticDir = ["static1", "static2"]
-[languages]
-[languages.no]
-staticDir = ["staticDir_override", "static_no"]
-baseURL = "https://example.no"
-languageName = "Norsk"
-weight = 1
-title = "På norsk"
 
+[languages]
 [languages.en]
 staticDir2 = "static_en"
 baseURL = "https://example.com"
@@ -35,14 +38,33 @@
 languageName = "English"
 weight = 2
 title = "In English"
+[languages.no]
+staticDir = ["staticDir_override", "static_no"]
+baseURL = "https://example.no"
+languageName = "Norsk"
+weight = 1
+title = "På norsk"
 {{</ code-toggle >}}
 
 In the above, with no theme used:
 
-* The English site will get its static files as a union of "static1", "static2" and "static_en". On file duplicates, the right-most version will win.
-* The Norwegian site will get its static files as a union of "staticDir_override" and "static_no".
+- The English site will get its static files as a union of "static1",
+  "static2" and "static_en". On file duplicates, the right-most
+  version will win.
+- The Norwegian site will get its static files as a union of
+  "staticDir_override" and "static_no".
 
-**Note:** The `2` `static2` (can be a number between 0 and 10) is added to tell Hugo that you want to **add** this directory to the global set of static directories. Using `staticDir` on the language level would replace the global value.
+Note 1
+: The **2** (can be a number between 0 and 10) in `staticDir2` is
+  added to tell Hugo that you want to **add** this directory to the
+  global set of static directories defined using `staticDir`. Using
+  `staticDir` on the language level would replace the global value (as
+  can be seen in the Norwegian site case).
 
+Note 2
+: The example above is a [multihost setup][]. In a regular setup, all
+  the static directories will be available to all sites.
 
-**Note:** The example above is a [multihost setup](/content-management/multilingual/#configure-multilingual-multihost). In a regular setup, all the static directories will be available to all sites.
+
+[site config]: /getting-started/configuration/#all-configuration-settings
+[multihost setup]: /content-management/multilingual/#configure-multilingual-multihost
--- a/docs/content/en/content-management/summaries.md
+++ b/docs/content/en/content-management/summaries.md
@@ -1,7 +1,7 @@
 ---
 title: Content Summaries
 linktitle: Summaries
-description: Hugo generates summaries of your content. 
+description: Hugo generates summaries of your content.
 date: 2017-01-10
 publishdate: 2017-01-10
 lastmod: 2017-01-10
@@ -57,7 +57,7 @@
 You can show content summaries with the following code. You could use the following snippet, for example, in a [section template][].
 
 {{< code file="page-list-with-summaries.html" >}}
-{{ range first 10 .Data.Pages }}
+{{ range first 10 .Pages }}
     <article>
       <!-- this <div> includes the title summary -->
       <div>
@@ -78,4 +78,4 @@
 
 [org]: /content-management/formats/
 [pagevariables]: /variables/page/
-[section template]: /templates/section-templates/
\ No newline at end of file
+[section template]: /templates/section-templates/
--- a/docs/content/en/content-management/syntax-highlighting.md
+++ b/docs/content/en/content-management/syntax-highlighting.md
@@ -134,7 +134,7 @@
 <section id="main">
   <div>
     <h1 id="title">{{ .Title }}</h1>
-    {{ range .Data.Pages }}
+    {{ range .Pages }}
       {{ .Render "summary"}}
     {{ end }}
   </div>
@@ -157,7 +157,7 @@
 <section id="main">
   <div>
     <h1 id="title">{{ .Title }}</h1>
-    {{ range .Data.Pages }}
+    {{ range .Pages }}
       {{ .Render "summary"}}
     {{ end }}
   </div>
--- a/docs/content/en/functions/after.md
+++ b/docs/content/en/functions/after.md
@@ -39,7 +39,7 @@
 {{ define "main" }}
 <section class="row featured-article">
     <h2>Featured Article</h2>
-    {{ range first 1 .Data.Pages.ByPublishDate.Reverse }}
+    {{ range first 1 .Pages.ByPublishDate.Reverse }}
      <header>
         <h3><a href="{{.Permalink}}">{{.Title}}</a></h3>
     </header>
@@ -48,7 +48,7 @@
 </section>
 <div class="row recent-articles">
     <h2>Recent Articles</h2>
-    {{ range first 3 (after 1 .Data.Pages.ByPublishDate.Reverse) }}
+    {{ range first 3 (after 1 .Pages.ByPublishDate.Reverse) }}
         <section class="recent-article">
             <header>
                 <h3><a href="{{.Permalink}}">{{.Title}}</a></h3>
--- a/docs/content/en/functions/first.md
+++ b/docs/content/en/functions/first.md
@@ -21,8 +21,7 @@
 
 
 ```
-{{ range first 10 .Data.Pages }}
+{{ range first 10 .Pages }}
     {{ .Render "summary" }}
 {{ end }}
 ```
-
--- a/docs/content/en/functions/hasmenucurrent.md
+++ b/docs/content/en/functions/hasmenucurrent.md
@@ -10,14 +10,18 @@
   docs:
     parent: "functions"
 keywords: [menus]
-signature: ["HasMenuCurrent"]
+signature: ["PAGE.HasMenuCurrent MENU MENUENTRY"]
 workson: [menus]
 hugoversion:
-relatedfuncs: []
+relatedfuncs: ["IsMenuCurrent"]
 deprecated: false
 toc: false
-draft: true
+draft: false
 aliases: []
 ---
 
-Used in [menu templates](/templates/menu-templates/).
+`.HasMenuCurrent` is a method in `Page` object returning a _boolean_ value. It
+returns `true` if the PAGE is the same object as the `.Page` in one of the
+**children menu entries** under MENUENTRY in a given MENU.
+
+You can find its example use in [menu templates](/templates/menu-templates/).
--- a/docs/content/en/functions/ismenucurrent.md
+++ b/docs/content/en/functions/ismenucurrent.md
@@ -10,14 +10,18 @@
   docs:
     parent: "functions"
 keywords: [menus]
-signature: ["IsMenuCurrent"]
+signature: ["PAGE.IsMenuCurrent MENU MENUENTRY"]
 workson: [menus]
 hugoversion:
-relatedfuncs: []
+relatedfuncs: ["HasMenuCurrent"]
 deprecated: false
-draft: true
+draft: false
 aliases: []
 needsexample: true
 ---
 
-Used in [menu templates](/templates/menu-templates/).
+`.IsMenuCurrent` is a method in `Page` object returning a _boolean_ value. It
+returns `true` if the PAGE is the same object as the `.Page` in MENUENTRY in a
+given MENU.
+
+You can find its example use in [menu templates](/templates/menu-templates/).
--- a/docs/content/en/functions/last.md
+++ b/docs/content/en/functions/last.md
@@ -23,8 +23,7 @@
 
 
 ```
-{{ range last 10 .Data.Pages }}
+{{ range last 10 .Pages }}
     {{ .Render "summary" }}
 {{ end }}
 ```
-
--- a/docs/content/en/functions/render.md
+++ b/docs/content/en/functions/render.md
@@ -26,7 +26,7 @@
 This example could render a piece of content using the content view located at `/layouts/_default/summary.html`:
 
 ```
-{{ range .Data.Pages }}
+{{ range .Pages }}
     {{ .Render "summary"}}
 {{ end }}
 ```
--- a/docs/content/en/functions/scratch.md
+++ b/docs/content/en/functions/scratch.md
@@ -33,11 +33,19 @@
 For a detailed analysis of `.Scratch` and in context use cases, see this [post](https://regisphilibert.com/blog/2017/04/hugo-scratch-explained-variable/).
 {{% /note %}}
 
-## Methods
+## Get a Scratch
 
-`Scratch` is added to both `Page` and `Shortcode` -- with following methods:
+From Hugo `0.43` you can also create a locally scoped `Scratch` by calling `newScratch`:
 
+```go-html-template
+$scratch := newScratch
+$scratch.Set "greeting" "Hello"
+```
+
+A `Scratch` is also added to both `Page` and `Shortcode`. `Sratch` have the following methods:
+
 #### .Set
+
 Set the given value to a given key
 
 ```go-html-template
--- a/docs/content/en/functions/where.md
+++ b/docs/content/en/functions/where.md
@@ -23,7 +23,7 @@
 `where` filters an array to only the elements containing a matching value for a given field.
 
 ```go-html-template
-{{ range where .Data.Pages "Section" "post" }}
+{{ range where .Pages "Section" "post" }}
   {{ .Content }}
 {{ end }}
 ```
@@ -45,7 +45,7 @@
 It can also be used with the logical operators `!=`, `>=`, `in`, etc. Without an operator, `where` compares a given field with a matching value equivalent to `=`.
 
 ```go-html-template
-{{ range where .Data.Pages "Section" "!=" "post" }}
+{{ range where .Pages "Section" "!=" "post" }}
    {{ .Content }}
 {{ end }}
 ```
@@ -104,7 +104,7 @@
 The following grabs the first five content files in `post` using the [default ordering](/templates/lists/) for lists (i.e., `weight => date`):
 
 {{< code file="where-with-first.html" >}}
-{{ range first 5 (where .Data.Pages "Section" "post") }}
+{{ range first 5 (where .Pages "Section" "post") }}
    {{ .Content }}
 {{ end }}
 {{< /code >}}
@@ -114,7 +114,7 @@
 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 .Data.Pages "Section" "blog" ) ".Params.featured" "!=" "true" }}
+{{ range where (where .Pages "Section" "blog" ) ".Params.featured" "!=" "true" }}
 ```
 
 ## Unset Fields
@@ -129,7 +129,7 @@
 * `!=`, `<>`, `ne`: True if the given field is set.
 
 ```go-html-template
-{{ range where .Data.Pages ".Params.specialpost" "!=" nil }}
+{{ range where .Pages ".Params.specialpost" "!=" nil }}
    {{ .Content }}
 {{ end }}
 ```
--- a/docs/content/en/getting-started/configuration.md
+++ b/docs/content/en/getting-started/configuration.md
@@ -193,7 +193,7 @@
 : Default [sitemap configuration](/templates/sitemap-template/#configure-sitemap-xml).
 
 staticDir ("static")
-: Relative directory from where Hugo reads static files.
+: A directory or a list of directories from where Hugo reads [static files][static-files].
 
 stepAnalysis (false)
 : Display memory and timing of different steps of the program.
@@ -405,3 +405,4 @@
 [templates]: /templates/
 [toml]: https://github.com/toml-lang/toml
 [yaml]: http://yaml.org/spec/
+[static-files]: /content-management/static-files/
--- a/docs/content/en/getting-started/installing.md
+++ b/docs/content/en/getting-started/installing.md
@@ -1,7 +1,7 @@
 ---
 title: Install Hugo
 linktitle: Install Hugo
-description: Install Hugo on macOS, Windows, Linux, FreeBSD, and on any machine where the Go compiler tool chain can run.
+description: Install Hugo on macOS, Windows, Linux, OpenBSD, FreeBSD, and on any machine where the Go compiler tool chain can run.
 date: 2016-11-01
 publishdate: 2016-11-01
 lastmod: 2018-01-02
@@ -31,6 +31,7 @@
 * macOS (Darwin) for x64, i386, and ARM architectures
 * Windows
 * Linux
+* OpenBSD
 * FreeBSD
 
 Hugo may also be compiled from source wherever the Go compiler tool chain can run; e.g., on other operating systems such as DragonFly BSD, OpenBSD, Plan&nbsp;9, Solaris, and others. See <https://golang.org/doc/install/source> for the full set of supported combinations of target operating systems and compilation architectures.
@@ -451,7 +452,7 @@
 You can also install Hugo from the Arch Linux [community](https://www.archlinux.org/packages/community/x86_64/hugo/) repository. Applies also for derivatives such as Manjaro.
 
 ```
-sudo pacman -Sy hugo
+sudo pacman -Syu hugo
 ```
 
 ### Fedora
@@ -467,6 +468,14 @@
 * <https://copr.fedorainfracloud.org/coprs/daftaupe/hugo/>
 
 See the [related discussion in the Hugo forums][redhatforum].
+
+## OpenBSD
+
+OpenBSD provides a package for Hugo via `pkg_add`: 
+
+```
+doas pkg_add hugo
+```
 
 ## Upgrade Hugo
 
--- a/docs/content/en/news/0.30-relnotes/index.md
+++ b/docs/content/en/news/0.30-relnotes/index.md
@@ -9,7 +9,7 @@
 ---
 
 	
-Hugo `0.30` is the **Race Car Edition**. Hugo is already very very fast, but much wants more. So we added **Fast Render Mode**. It is hard to explain, so start the Hugo development server with `hugo server` and start editing. Live reloads just got so much faster! The "how and what" is discussed at length in [other places](https://github.com/gohugoio/hugo/pull/3959), but the short version is that we now re-render only the parts of the site that you are working on.
+Hugo `0.30` is the **Race Car Edition**. Hugo is already very very fast, but wants much more. So we added **Fast Render Mode**. It is hard to explain, so start the Hugo development server with `hugo server` and start editing. Live reloads just got so much faster! The "how and what" is discussed at length in [other places](https://github.com/gohugoio/hugo/pull/3959), but the short version is that we now re-render only the parts of the site that you are working on.
 
 The second performance-related feature is a follow-up to the Template Metrics added in Hugo `0.29`. Now, if you add the flag `--templateMetricsHints`, we will calculate a score for how your partials can be cached (with the `partialCached` template func).
 
binary files /dev/null b/docs/content/en/news/0.43-relnotes/featured-hugo-43-poster.png differ
--- a/docs/content/en/news/0.43-relnotes/index.md
+++ b/docs/content/en/news/0.43-relnotes/index.md
@@ -1,8 +1,8 @@
 
 ---
 date: 2018-07-09
-title: "0.43"
-description: "0.43"
+title: "And Now: Hugo Pipes!"
+description: "Hugo 0.43 adds a powerful and simple to use assets pipeline with SASS/SCSS and much, much more …"
 categories: ["Releases"]
 ---
 
binary files /dev/null b/docs/content/en/news/0.44-relnotes/featured-hugo-44-poster.png differ
--- a/docs/content/en/news/0.44-relnotes/index.md
+++ b/docs/content/en/news/0.44-relnotes/index.md
@@ -1,8 +1,8 @@
 
 ---
 date: 2018-07-13
-title: "0.44"
-description: "0.44"
+title: "Hugo 0.44: Friday the 13th Edition"
+description: "A sequel to the very popular Hugo Pipes Edition; bug-fixes and enhancements …"
 categories: ["Releases"]
 ---
 
--- a/docs/content/en/news/lets-celebrate-hugos-5th-birthday/index.md
+++ b/docs/content/en/news/lets-celebrate-hugos-5th-birthday/index.md
@@ -59,7 +59,7 @@
 
 ### The Road to 1.0
 
-We have some more technical tasks that needs to be done (there is ongoing work to get the page quries into a more consistent state, also a simpler `.GetPage` method), but also some cool new functionality. The following roadmap is taken from memory, and may not be complete, but should be a good indication of what's ahead.
+We have some more technical tasks that needs to be done (there is ongoing work to get the page queries into a more consistent state, also a simpler `.GetPage` method), but also some cool new functionality. The following roadmap is taken from memory, and may not be complete, but should be a good indication of what's ahead.
 
 Pages from "other data sources"
 : Currently, in addition to Hugo's list pages, every URL must be backed by a content file (Markdown, HTML etc.). This covers most use cases, but we need a flexible way to generate pages from other data sources. Think product catalogues and similar.
@@ -67,7 +67,7 @@
 Upgrade Blackfriday to v2
 : [Blackfriday](https://github.com/russross/blackfriday) is the main content renderer in Hugo. It has been rewritten to a more flexible architecture, which should allow us to fix some of the current shortcomings.
 
-We should be able to create a better and easier-to-use data structure from the rendered content: Summary, the content after the summary, being able to range over the footnotes and the ToC. Having ToC as a proper data structure also open up a few other potential uses; using it as an index in [Related Content](https://gohugo.io/content-management/related/) would be one example.
+We should be able to create a better and easier-to-use data structure from the rendered content: Summary, the content after the summary, being able to range over the footnotes and the ToC. Having ToC as a proper data structure also opens up a few other potential uses; using it as an index in [Related Content](https://gohugo.io/content-management/related/) would be one example.
 
 This should also enable us to _do more_ with [Custom Output Formats](/templates/output-formats). It is already very powerful. GettyPubs are using it in [Quire](https://github.com/gettypubs/quire) to build [beautiful multi-platform publications](http://www.getty.edu/publications/digital/digitalpubs.html). But it can be improved. For rendering of content files, you are currently restricted to HTML. It would be great if we could configure alternative renderers per output format, such as LaTeX and EPUB.
 
@@ -75,7 +75,7 @@
 
 ### The Road to the Future
 
-These are the items that first comes to mind if you ask me to think even further ahead:
+These are the items that first come to mind if you ask me to think even further ahead:
 
 Dependency manager for Theme Components
 : In Hugo `0.42` we added [Theme Components](/themes/theme-components/) and Theme Inheritance. With SCSS support in Hugo `0.43`, which also follows the same project/themes precedence order (add `_variables.scss` to your project, configure SASS colour variables in `config.toml`), we have a solid foundation for creating easy to use and extensible themes. But we are missing some infrastructure around this. We have a site with 235+ [themes](https://themes.gohugo.io/)[^themes] listed, but you currently need to do some added work to get the theme up and running for your site. In the Go world, we don't have NPM to use, which is a curse and a blessing, but I have some ideas about building a simple dependency manager into Hugo, modelled after how Go is doing it (`hugo install`). You should be able to configure what theme and theme components you want to use, and Hugo should handle the installation of the correct versions. This should make it easier for the user, but it would also enable community driven and even commercial "theme stores".
@@ -90,19 +90,19 @@
 : There are recurring questions on the support forum from [really big sites](https://discourse.gohugo.io/t/transition-2m-posts-from-wordpress-to-hugo/12704) that want to move to Hugo. There are many [good reasons](https://www.netlify.com/blog/2016/05/18/9-reasons-your-site-should-be-static/) why they want this (security, cost-saving, EU regulations etc.). And while there have been reports about companies building 600 000 pages with Hugo on very powerful hardware, we will have to rethink the build model to make this usable. Keywords are: streaming builds, segmented builds, partial rebuilds. There are other site generators also talking about this. It should be possible, and my instinct tells me that it should be easier to do when your starting point is "really fast". But this is not a small weekend project for me, and I have already talked to several companies about sponsoring this.
 
 Plugins
-: A Theme Component could also be called a plugin. But there are several potential plugin hooks into Hugo's build pipeline: Resource transformations, content rendering etc. We will eventually get there, but we should do it without giving up too much of the Hugo speed and simplicity.
+: A Theme Component could also be called a plugin. But there are several potential plugin hooks into Hugo's build pipeline: resource transformations, content rendering, etc. We will eventually get there, but we should do it without giving up too much of the Hugo speed and simplicity.
 
 
 ## Thanks
 
-So, thanks to everyone who have contributed to getting Hugo where it is today. It is hard to single out individuals, but a big shout-out to all the Hugo experts and moderators helping out making the [discourse.gohugo.io](https://discourse.gohugo.io/) a very active and possibly one of the best support forums out there.
+So, thanks to everyone who has contributed to getting Hugo where it is today. It is hard to single out individuals, but a big shout-out to all the Hugo experts and moderators helping out making [discourse.gohugo.io](https://discourse.gohugo.io/) a very active and possibly one of the best support forums out there.
 
-And the last shout-out goes to two maintainers who have been there more or less from the start. [@digitalcraftsman](https://github.com/digitalcraftsman/) has been doing a fantastic job keeping the fast growing theme site and [repository](https://github.com/gohugoio/hugoThemes) in pristine condition. I have it on my watch list, but that is just out of curiosity. There are lots of activity, but it runs as clock work. [Anthony Fok](https://github.com/anthonyfok) has contributed with a variety of things but is most notable as the Linux expert on the team. He manages the Debian build and is the one to thank for up-to-date binaries on Debian and Ubuntu.
+And the last shout-out goes to two maintainers who have been there more or less from the start. [@digitalcraftsman](https://github.com/digitalcraftsman/) has been doing a fantastic job keeping the fast growing theme site and [repository](https://github.com/gohugoio/hugoThemes) in pristine condition. I have it on my watch list, but that is just out of curiosity. There is lots of activity, but it runs as clock work. [Anthony Fok](https://github.com/anthonyfok) has contributed with a variety of things but is most notable as the Linux expert on the team. He manages the Debian build and is the one to thank for up-to-date binaries on Debian and Ubuntu.
 
 One final note: If you have not done so already, please visit [github.com/gohugoio/hugo](https://github.com/gohugoio/hugo) and push the "star button".
 
 Gopher artwork by [Ashley McNamara](https://github.com/ashleymcnamara/gophers/) (licensed under [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)). Inspired by [Renee French](https://reneefrench.blogspot.com/).
 
-[^2]: Numbers from Google Analytics. The Hugo websites are https://discourse.gohugo.io/, https://gohugo.io/ and https://themes.gohugo.io/. It is rumoured that when [Matt Biilman](https://twitter.com/biilmann?lang=en), CEO and Co-founder of Netlify, opened the first power bill after sponsoring Hugo's hosting, said: "Du må lave fis med mig, those Hugo sites have lots of web traffic!"
+[^2]: Numbers from Google Analytics. The Hugo websites are https://discourse.gohugo.io, https://gohugo.io and https://themes.gohugo.io. It is rumoured that when [Matt Biilman](https://twitter.com/biilmann?lang=en), CEO and Co-founder of Netlify, opened the first power bill after sponsoring Hugo's hosting, said: "Du må lave fis med mig, those Hugo sites have lots of web traffic!"
 [^sgen]: That was at the time of writing this article. _Next_, a React based static site generator, has momentum and is closing in on Hugo's 2nd place. 
-[^themes]: We pull all the themes from GitHub and build the theme site and 235 demo sites on Netlify in 4 minutes. And that is impressing.
+[^themes]: We pull all the themes from GitHub and build the theme site and 235 demo sites on Netlify in 4 minutes. That is impressive.
--- a/docs/content/en/readfiles/menuvars.md
+++ /dev/null
@@ -1,39 +1,0 @@
-`.URL`
-: string
-
-`.Name`
-: string
-
-`.Menu`
-: string
-
-`.Identifier`
-: string
-
-`.Pre`
-: template.HTML
-
-`.Post`
-: template.HTML
-
-`.Weight`
-: int
-
-`.Parent`
-: string
-
-`.Children`
-: Menu
-
-Note that menus also have the following functions available as well:
-
-[`.HasChildren`](/functions/haschildren/)
-: boolean
-
-Additionally, there are some relevant functions available to menus on a page:
-
-[`.IsMenuCurrent`](/functions/ismenucurrent/)
-: (menu string, menuEntry *MenuEntry ) boolean
-
-[`.HasMenuCurrent`](/functions/hasmenucurrent/)
-: (menu string, menuEntry *MenuEntry) boolean
\ No newline at end of file
--- a/docs/content/en/templates/404.md
+++ b/docs/content/en/templates/404.md
@@ -21,7 +21,7 @@
 
 404 pages will have all the regular [page variables][pagevars] available to use in the templates.
 
-In addition to the standard page variables, the 404 page has access to all site content accessible from `.Data.Pages`.
+In addition to the standard page variables, the 404 page has access to all site content accessible from `.Pages`.
 
 ```
 ▾ layouts/
--- a/docs/content/en/templates/base.md
+++ b/docs/content/en/templates/base.md
@@ -90,7 +90,7 @@
 {{< code file="layouts/_default/list.html" download="list.html" >}}
 {{ define "main" }}
   <h1>Posts</h1>
-  {{ range .Data.Pages }}
+  {{ range .Pages }}
     <article>
       <h2>{{ .Title }}</h2>
       {{ .Content }}
--- a/docs/content/en/templates/homepage.md
+++ b/docs/content/en/templates/homepage.md
@@ -36,9 +36,9 @@
 
 See the homepage template below or [Content Organization][contentorg] for more information on the role of `_index.md` in adding content and front matter to list pages.
 
-## `.Data.Pages` on the Homepage
+## `.Pages` on the Homepage
 
-In addition to the standard [page variables][pagevars], the homepage template has access to *all* site content via `.Data.Pages`.
+In addition to the standard [page variables][pagevars], the homepage template has access to *all* site content via `.Pages`.
 
 ## Example Homepage Template
 
@@ -58,8 +58,8 @@
         {{.Content}}
       </div>
       <div>
-        <!-- Note that .Data.Pages is the equivalent of .Site.Pages on the homepage template. -->
-        {{ range first 10 .Data.Pages }}
+        <!-- Note that .Pages is the same as .Site.RegularPages on the homepage template. -->
+        {{ range first 10 .Pages }}
             {{ .Render "summary"}}
         {{ end }}
       </div>
--- a/docs/content/en/templates/introduction.md
+++ b/docs/content/en/templates/introduction.md
@@ -504,7 +504,7 @@
 {{< code file="layouts/partials/upcoming-events.html" download="upcoming-events.html" >}}
 <h4>Upcoming Events</h4>
 <ul class="upcoming-events">
-{{ range where .Data.Pages.ByDate "Section" "events" }}
+{{ range where .Pages.ByDate "Section" "events" }}
   {{ if ge .Date.Unix .Now.Unix }}
     <li>
     <!-- add span for event type -->
--- a/docs/content/en/templates/lists.md
+++ b/docs/content/en/templates/lists.md
@@ -101,7 +101,7 @@
     </article>
     <ul>
     <!-- Ranges through content/post/*.md -->
-    {{ range .Data.Pages }}
+    {{ range .Pages }}
         <li>
             <a href="{{.Permalink}}">{{.Date.Format "2006-01-02"}} | {{.Title}}</a>
         </li>
@@ -172,7 +172,7 @@
    <h1>{{ .Title }}</h1>
         <ul>
         <!-- Renders the li.html content view for each content/post/*.md -->
-            {{ range .Data.Pages }}
+            {{ range .Pages }}
                 {{ .Render "li"}}
             {{ end }}
         </ul>
@@ -189,7 +189,7 @@
   <div>
    <h1>{{ .Title }}</h1>
    <!-- ranges through each of the content files associated with a particular taxonomy term and renders the summary.html content view -->
-    {{ range .Data.Pages }}
+    {{ range .Pages }}
         {{ .Render "summary"}}
     {{ end }}
   </div>
@@ -205,7 +205,7 @@
 
 {{< code file="layouts/partials/default-order.html" >}}
 <ul>
-    {{ range .Data.Pages }}
+    {{ range .Pages }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -220,7 +220,7 @@
 
 {{< code file="layouts/partials/by-weight.html" >}}
 <ul>
-    {{ range .Data.Pages.ByWeight }}
+    {{ range .Pages.ByWeight }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -234,7 +234,7 @@
 {{< code file="layouts/partials/by-date.html" >}}
 <ul>
     <!-- orders content according to the "date" field in front matter -->
-    {{ range .Data.Pages.ByDate }}
+    {{ range .Pages.ByDate }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -248,7 +248,7 @@
 {{< code file="layouts/partials/by-publish-date.html" >}}
 <ul>
     <!-- orders content according to the "publishdate" field in front matter -->
-    {{ range .Data.Pages.ByPublishDate }}
+    {{ range .Pages.ByPublishDate }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -261,7 +261,7 @@
 
 {{< code file="layouts/partials/by-expiry-date.html" >}}
 <ul>
-    {{ range .Data.Pages.ByExpiryDate }}
+    {{ range .Pages.ByExpiryDate }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -275,7 +275,7 @@
 {{< code file="layouts/partials/by-last-mod.html" >}}
 <ul>
     <!-- orders content according to the "lastmod" field in front matter -->
-    {{ range .Data.Pages.ByLastmod }}
+    {{ range .Pages.ByLastmod }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -289,7 +289,7 @@
 {{< code file="layouts/partials/by-length.html" >}}
 <ul>
     <!-- orders content according to content length in ascending order (i.e., the shortest content will be listed first) -->
-    {{ range .Data.Pages.ByLength }}
+    {{ range .Pages.ByLength }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -303,7 +303,7 @@
 {{< code file="layouts/partials/by-title.html" >}}
 <ul>
     <!-- ranges through content in ascending order according to the "title" field set in front matter -->
-    {{ range .Data.Pages.ByTitle }}
+    {{ range .Pages.ByTitle }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -317,7 +317,7 @@
 {{< code file="layouts/partials/by-link-title.html" >}}
 <ul>
     <!-- ranges through content in ascending order according to the "linktitle" field in front matter. If a "linktitle" field is not set, the range will start with content that only has a "title" field and use that value for .LinkTitle -->
-    {{ range .Data.Pages.ByLinkTitle }}
+    {{ range .Pages.ByLinkTitle }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .LinkTitle }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -332,7 +332,7 @@
 
 {{< code file="layouts/partials/by-rating.html" >}}
 <!-- Ranges through content according to the "rating" field set in front matter -->
-{{ range (.Data.Pages.ByParam "rating") }}
+{{ range (.Pages.ByParam "rating") }}
   <!-- ... -->
 {{ end }}
 {{< /code >}}
@@ -340,7 +340,7 @@
 If the targeted front matter field is nested beneath another field, you can access the field using dot notation.
 
 {{< code file="layouts/partials/by-nested-param.html" >}}
-{{ range (.Data.Pages.ByParam "author.last_name") }}
+{{ range (.Pages.ByParam "author.last_name") }}
   <!-- ... -->
 {{ end }}
 {{< /code >}}
@@ -351,7 +351,7 @@
 
 {{< code file="layouts/partials/by-date-reverse.html" >}}
 <ul>
-    {{ range .Data.Pages.ByDate.Reverse }}
+    {{ range .Pages.ByDate.Reverse }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -368,7 +368,7 @@
 
 {{< code file="layouts/partials/by-page-field.html" >}}
 <!-- Groups content according to content section. The ".Key" in this instance will be the section's title. -->
-{{ range .Data.Pages.GroupBy "Section" }}
+{{ range .Pages.GroupBy "Section" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages }}
@@ -385,7 +385,7 @@
 
 {{< code file="layouts/partials/by-page-field.html" >}}
 <!-- Groups content according to content section.-->
-{{ range .Data.Pages.GroupBy "Section" }}
+{{ range .Pages.GroupBy "Section" }}
 <!-- Checks for existence of _index.md for a section; if available, pulls from "title" in front matter -->
 {{ with $.Site.GetPage "section" .Key }}
 <h3>{{.Title}}</h3>
@@ -408,7 +408,7 @@
 
 {{< code file="layouts/partials/by-page-date.html" >}}
 <!-- Groups content by month according to the "date" field in front matter -->
-{{ range .Data.Pages.GroupByDate "2006-01" }}
+{{ range .Pages.GroupByDate "2006-01" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages }}
@@ -425,7 +425,7 @@
 
 {{< code file="layouts/partials/by-page-publish-date.html" >}}
 <!-- Groups content by month according to the "publishdate" field in front matter -->
-{{ range .Data.Pages.GroupByPublishDate "2006-01" }}
+{{ range .Pages.GroupByPublishDate "2006-01" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages }}
@@ -442,7 +442,7 @@
 
 {{< code file="layouts/partials/by-page-param.html" >}}
 <!-- Groups content according to the "param_key" field in front matter -->
-{{ range .Data.Pages.GroupByParam "param_key" }}
+{{ range .Pages.GroupByParam "param_key" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages }}
@@ -461,7 +461,7 @@
 
 {{< code file="layouts/partials/by-page-param-as-date.html" >}}
 <!-- Groups content by month according to the "param_key" field in front matter -->
-{{ range .Data.Pages.GroupByParamDate "param_key" "2006-01" }}
+{{ range .Pages.GroupByParamDate "param_key" "2006-01" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages }}
@@ -483,21 +483,21 @@
 #### 1. Adding the Reverse Method
 
 ```
-{{ range (.Data.Pages.GroupBy "Section").Reverse }}
+{{ range (.Pages.GroupBy "Section").Reverse }}
 ```
 
 ```
-{{ range (.Data.Pages.GroupByDate "2006-01").Reverse }}
+{{ range (.Pages.GroupByDate "2006-01").Reverse }}
 ```
 
 #### 2. Providing the Alternate Direction
 
 ```
-{{ range .Data.Pages.GroupByDate "2006-01" "asc" }}
+{{ range .Pages.GroupByDate "2006-01" "asc" }}
 ```
 
 ```
-{{ range .Data.Pages.GroupBy "Section" "desc" }}
+{{ range .Pages.GroupBy "Section" "desc" }}
 ```
 
 ### Order Within Groups
@@ -511,7 +511,7 @@
 3. Pages within each respective group are ordered alphabetically according to the `title`.
 
 {{< code file="layouts/partials/by-group-by-page.html" >}}
-{{ range .Data.Pages.GroupByDate "2006-01" "asc" }}
+{{ range .Pages.GroupByDate "2006-01" "asc" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages.ByTitle }}
@@ -536,8 +536,8 @@
 2. `key` *or* `field name`
 3. `match value`
 
-{{< code file="layouts/_default/.html" >}}
-{{ range where .Data.Pages "Section" "post" }}
+{{< code file="layouts/_default/index.html" >}}
+{{ range where .Pages "Section" "post" }}
    {{ .Content }}
 {{ end }}
 {{< /code >}}
@@ -552,7 +552,7 @@
 2. `number of elements`
 
 {{< code file="layout/_default/section.html" >}}
-{{ range first 10 .Data.Pages }}
+{{ range first 10 .Pages }}
   {{ .Render "summary" }}
 {{ end }}
 {{< /code >}}
@@ -563,7 +563,7 @@
 
 {{< code file="first-and-where-together.html" >}}
 <!-- Orders the content inside the "posts" section by the "title" field and then ranges through only the first 5 posts -->
-{{ range first 5 (where .Data.Pages "Section" "post").ByTitle }}
+{{ range first 5 (where .Pages "Section" "post").ByTitle }}
    {{ .Content }}
 {{ end }}
 {{< /code >}}
--- a/docs/content/en/templates/ordering-and-grouping.md
+++ b/docs/content/en/templates/ordering-and-grouping.md
@@ -35,7 +35,7 @@
   <div>
    <h1 id="title">{{ .Title }}</h1>
         <ul id="list">
-            {{ range .Data.Pages }}
+            {{ range .Pages }}
                 {{ .Render "li"}}
             {{ end }}
         </ul>
@@ -51,7 +51,7 @@
 <section id="main">
   <div>
    <h1 id="title">{{ .Title }}</h1>
-    {{ range .Data.Pages }}
+    {{ range .Pages }}
         {{ .Render "summary"}}
     {{ end }}
   </div>
@@ -70,7 +70,7 @@
 
 {{< code file="layouts/partials/order-default.html" >}}
 <ul class="pages">
-    {{ range .Data.Pages }}
+    {{ range .Pages }}
         <li>
             <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
             <time>{{ .Date.Format "Mon, Jan 2, 2006" }}</time>
@@ -82,7 +82,7 @@
 ### By Weight
 
 {{< code file="layouts/partials/by-weight.html" >}}
-{{ range .Data.Pages.ByWeight }}
+{{ range .Pages.ByWeight }}
     <li>
     <a href="{{ .Permalink }}">{{ .Title }}</a>
     <div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
@@ -93,7 +93,7 @@
 ### By Date
 
 {{< code file="layouts/partials/by-date.html" >}}
-{{ range .Data.Pages.ByDate }}
+{{ range .Pages.ByDate }}
     <li>
     <a href="{{ .Permalink }}">{{ .Title }}</a>
     <div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
@@ -104,7 +104,7 @@
 ### By Publish Date
 
 {{< code file="layouts/partials/by-publish-date.html" >}}
-{{ range .Data.Pages.ByPublishDate }}
+{{ range .Pages.ByPublishDate }}
     <li>
     <a href="{{ .Permalink }}">{{ .Title }}</a>
     <div class="meta">{{ .PublishDate.Format "Mon, Jan 2, 2006" }}</div>
@@ -115,7 +115,7 @@
 ### By Expiration Date
 
 {{< code file="layouts/partials/by-expiry-date.html" >}}
-{{ range .Data.Pages.ByExpiryDate }}
+{{ range .Pages.ByExpiryDate }}
     <li>
     <a href="{{ .Permalink }}">{{ .Title }}</a>
     <div class="meta">{{ .ExpiryDate.Format "Mon, Jan 2, 2006" }}</div>
@@ -126,7 +126,7 @@
 ### By Last Modified Date
 
 {{< code file="layouts/partials/by-last-mod.html" >}}
-{{ range .Data.Pages.ByLastmod }}
+{{ range .Pages.ByLastmod }}
     <li>
     <a href="{{ .Permalink }}">{{ .Title }}</a>
     <div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
@@ -137,7 +137,7 @@
 ### By Length
 
 {{< code file="layouts/partials/by-length.html" >}}
-{{ range .Data.Pages.ByLength }}
+{{ range .Pages.ByLength }}
     <li>
     <a href="{{ .Permalink }}">{{ .Title }}</a>
     <div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
@@ -149,7 +149,7 @@
 ### By Title
 
 {{< code file="layouts/partials/by-title.html" >}}
-{{ range .Data.Pages.ByTitle }}
+{{ range .Pages.ByTitle }}
     <li>
     <a href="{{ .Permalink }}">{{ .Title }}</a>
     <div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
@@ -160,7 +160,7 @@
 ### By Link Title
 
 {{< code file="layouts/partials/by-link-title.html" >}}
-{{ range .Data.Pages.ByLinkTitle }}
+{{ range .Pages.ByLinkTitle }}
     <li>
     <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
     <div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
@@ -175,7 +175,7 @@
 The below example sorts a list of posts by their rating.
 
 {{< code file="layouts/partials/by-rating.html" >}}
-{{ range (.Data.Pages.ByParam "rating") }}
+{{ range (.Pages.ByParam "rating") }}
   <!-- ... -->
 {{ end }}
 {{< /code >}}
@@ -184,7 +184,7 @@
 also get it:
 
 {{< code file="layouts/partials/by-nested-param.html" >}}
-{{ range (.Data.Pages.ByParam "author.last_name") }}
+{{ range (.Pages.ByParam "author.last_name") }}
   <!-- ... -->
 {{ end }}
 {{< /code >}}
@@ -194,7 +194,7 @@
 Reversing order can be applied to any of the above methods. The following uses `ByDate` as an example:
 
 {{< code file="layouts/partials/by-date-reverse.html" >}}
-{{ range .Data.Pages.ByDate.Reverse }}
+{{ range .Pages.ByDate.Reverse }}
 <li>
 <a href="{{ .Permalink }}">{{ .Title }}</a>
 <div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
@@ -209,7 +209,7 @@
 ### By Page Field
 
 {{< code file="layouts/partials/by-page-field.html" >}}
-{{ range .Data.Pages.GroupBy "Section" }}
+{{ range .Pages.GroupBy "Section" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages }}
@@ -225,7 +225,7 @@
 ### By Page date
 
 {{< code file="layouts/partials/by-page-date.html" >}}
-{{ range .Data.Pages.GroupByDate "2006-01" }}
+{{ range .Pages.GroupByDate "2006-01" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages }}
@@ -241,7 +241,7 @@
 ### By Page publish date
 
 {{< code file="layouts/partials/by-page-publish-date.html" >}}
-{{ range .Data.Pages.GroupByPublishDate "2006-01" }}
+{{ range .Pages.GroupByPublishDate "2006-01" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages }}
@@ -257,7 +257,7 @@
 ### By Page Param
 
 {{< code file="layouts/partials/by-page-param.html" >}}
-{{ range .Data.Pages.GroupByParam "param_key" }}
+{{ range .Pages.GroupByParam "param_key" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages }}
@@ -273,7 +273,7 @@
 ### By Page Param in Date Format
 
 {{< code file="layouts/partials/by-page-param-as-date.html" >}}
-{{ range .Data.Pages.GroupByParamDate "param_key" "2006-01" }}
+{{ range .Pages.GroupByParamDate "param_key" "2006-01" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages }}
@@ -295,11 +295,11 @@
 #### Reverse Method
 
 ```
-{{ range (.Data.Pages.GroupBy "Section").Reverse }}
+{{ range (.Pages.GroupBy "Section").Reverse }}
 ```
 
 ```
-{{ range (.Data.Pages.GroupByDate "2006-01").Reverse }}
+{{ range (.Pages.GroupByDate "2006-01").Reverse }}
 ```
 
 
@@ -306,11 +306,11 @@
 #### Provide the Alternate Direction
 
 ```
-{{ range .Data.Pages.GroupByDate "2006-01" "asc" }}
+{{ range .Pages.GroupByDate "2006-01" "asc" }}
 ```
 
 ```
-{{ range .Data.Pages.GroupBy "Section" "desc" }}
+{{ range .Pages.GroupBy "Section" "desc" }}
 ```
 
 ### Order Within Groups
@@ -321,7 +321,7 @@
 within each group is ordered alphabetically by title.
 
 {{< code file="layouts/partials/by-group-by-page.html" >}}
-{{ range .Data.Pages.GroupByDate "2006-01" "asc" }}
+{{ range .Pages.GroupByDate "2006-01" "asc" }}
 <h3>{{ .Key }}</h3>
 <ul>
     {{ range .Pages.ByTitle }}
@@ -346,8 +346,8 @@
 2. `key` or `field name`
 3. `match value`
 
-{{< code file="layouts/_default/.html" >}}
-{{ range where .Data.Pages "Section" "post" }}
+{{< code file="layouts/_default/index.html" >}}
+{{ range where .Pages "Section" "post" }}
    {{ .Content }}
 {{ end }}
 {{< /code >}}
@@ -360,7 +360,7 @@
 2. `number of elements`
 
 {{< code file="layout/_default/section.html" >}}
-{{ range first 10 .Data.Pages }}
+{{ range first 10 .Pages }}
   {{ .Render "summary" }}
 {{ end }}
 {{< /code >}}
@@ -370,7 +370,7 @@
 Using `first` and `where` together can be very powerful:
 
 {{< code file="first-and-where-together.html" >}}
-{{ range first 5 (where .Data.Pages "Section" "post") }}
+{{ range first 5 (where .Pages "Section" "post") }}
    {{ .Content }}
 {{ end }}
 {{< /code >}}
--- a/docs/content/en/templates/pagination.md
+++ b/docs/content/en/templates/pagination.md
@@ -43,7 +43,7 @@
 There are two ways to configure and use a `.Paginator`:
 
 1. The simplest way is just to call `.Paginator.Pages` from a template. It will contain the pages for *that page*.
-2. Select a subset of the pages with the available template functions and ordering options, and pass the slice to `.Paginate`, e.g. `{{ range (.Paginate ( first 50 .Data.Pages.ByTitle )).Pages }}`.
+2. Select a subset of the pages with the available template functions and ordering options, and pass the slice to `.Paginate`, e.g. `{{ range (.Paginate ( first 50 .Pages.ByTitle )).Pages }}`.
 
 For a given **Page**, it's one of the options above. The `.Paginator` is static and cannot change once created.
 
@@ -50,12 +50,12 @@
 The global page size setting (`Paginate`) can be overridden by providing a positive integer as the last argument. The examples below will give five items per page:
 
 * `{{ range (.Paginator 5).Pages }}`
-* `{{ $paginator := .Paginate (where .Data.Pages "Type" "post") 5 }}`
+* `{{ $paginator := .Paginate (where .Pages "Type" "post") 5 }}`
 
 It is also possible to use the `GroupBy` functions in combination with pagination:
 
 ```
-{{ range (.Paginate (.Data.Pages.GroupByDate "2006")).PageGroups  }}
+{{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups  }}
 ```
 
 ## Build the navigation
@@ -75,7 +75,7 @@
 The following example shows how to create `.Paginator` before its used:
 
 ```
-{{ $paginator := .Paginate (where .Data.Pages "Type" "post") }}
+{{ $paginator := .Paginate (where .Pages "Type" "post") }}
 {{ template "_internal/pagination.html" . }}
 {{ range $paginator.Pages }}
    {{ .Title }}
--- a/docs/content/en/templates/robots.md
+++ b/docs/content/en/templates/robots.md
@@ -42,7 +42,7 @@
 {{< code file="layouts/robots.txt" download="robots.txt" >}}
 User-agent: *
 
-{{range .Data.Pages}}
+{{range .Pages}}
 Disallow: {{.RelPermalink}}
 {{end}}
 {{< /code >}}
--- a/docs/content/en/templates/rss.md
+++ b/docs/content/en/templates/rss.md
@@ -73,7 +73,7 @@
     {{ with .OutputFormats.Get "RSS" }}
         {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
     {{ end }}
-    {{ range .Data.Pages }}
+    {{ range .Pages }}
     <item>
       <title>{{ .Title }}</title>
       <link>{{ .Permalink }}</link>
--- a/docs/content/en/templates/sitemap-template.md
+++ b/docs/content/en/templates/sitemap-template.md
@@ -41,7 +41,7 @@
 
 ```
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-  {{ range .Data.Pages }}
+  {{ range .Pages }}
   <url>
     <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
     <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
@@ -72,4 +72,4 @@
 
 The same fields can be specified in an individual content file's front matter in order to override the value assigned to that piece of content at render time.
 
-[pagevars]: /variables/page/
\ No newline at end of file
+[pagevars]: /variables/page/
--- a/docs/content/en/templates/taxonomy-templates.md
+++ b/docs/content/en/templates/taxonomy-templates.md
@@ -103,11 +103,11 @@
 
 ## Displaying custom metadata in Taxonomy Terms Templates
 
-If you need to display custom metadata for each taxonomy term, you will need to create a page for that term at `/content/<TAXONOMY>/<TERM>/_index.md` and add your metadata in it's front matter, [as explained in the taxonomies documentation](/content-management/taxonomies/#add-custom-meta-data-to-a-taxonomy-term). Based on the Actors taxonomy example shown there, within your taxonomy terms template, you may access your custom fields by iterating through the variable `.Data.Pages` as such:
+If you need to display custom metadata for each taxonomy term, you will need to create a page for that term at `/content/<TAXONOMY>/<TERM>/_index.md` and add your metadata in it's front matter, [as explained in the taxonomies documentation](/content-management/taxonomies/#add-custom-meta-data-to-a-taxonomy-term). Based on the Actors taxonomy example shown there, within your taxonomy terms template, you may access your custom fields by iterating through the variable `.Pages` as such:
 
 ```
 <ul>
-  {{ range .Data.Pages }}
+  {{ range .Pages }}
      <li>
        <a href="{{ .Permalink }}">{{ .Title }}</a>
        {{ .Params.wikipedia }}
--- a/docs/content/en/templates/template-debugging.md
+++ b/docs/content/en/templates/template-debugging.md
@@ -51,14 +51,14 @@
 When developing a [homepage][], what does one of the pages you're looping through look like?
 
 ```
-{{ range .Data.Pages }}
+{{ range .Pages }}
     {{/* The context, ".", is now each one of the pages as it goes through the loop */}}
     {{ printf "%#v" . }}
 {{ end }}
 ```
 
-{{% note "`.Data.Pages` on the Homepage" %}}
-`.Data.Pages` on the homepage is equivalent to `.Site.Pages`.
+{{% note "`.Pages` on the Homepage" %}}
+`.Pages` on the homepage is equivalent to `.Site.RegularPages`.
 {{% /note %}}
 
 ## Why Am I Showing No Defined Variables?
@@ -78,4 +78,4 @@
 The dot (`.`) is considered fundamental to understanding Hugo templating. For more information, see [Introduction to Hugo Templating][tempintro].
 
 [homepage]: /templates/homepage/
-[tempintro]: /templates/introduction/
\ No newline at end of file
+[tempintro]: /templates/introduction/
--- a/docs/content/en/templates/views.md
+++ b/docs/content/en/templates/views.md
@@ -73,7 +73,7 @@
 <main id="main">
   <div>
   <h1 id="title">{{ .Title }}</h1>
-  {{ range .Data.Pages }}
+  {{ range .Pages }}
     {{ .Render "summary"}}
   {{ end }}
   </div>
--- a/docs/content/en/variables/menus.md
+++ b/docs/content/en/variables/menus.md
@@ -1,7 +1,7 @@
 ---
-title: Menu Variables
-linktitle: Menu Variables
-description: A menu entry in a menu template has specific variables and functions to make menu management easier.
+title: Menu Entry Properties
+linktitle: Menu Entry Properties
+description: A menu entry in a menu-template has specific variables and functions to make menu management easier.
 date: 2017-03-12
 publishdate: 2017-03-12
 lastmod: 2017-03-12
@@ -19,49 +19,106 @@
 toc: false
 ---
 
-The [menu template][] has the following properties:
+A **menu entry** has the following properties available that can be used in a
+[menu template][menu-template].
 
-.URL
-: string
+## Menu Entry Variables
 
-.Name
-: string
+.Menu
+: _string_ <br />
+Name of the **menu** that contains this **menu entry**.
 
-.Title
-: string
+.URL
+: _string_ <br />
+URL that the menu entry points to. The `url` key, if set for the menu entry,
+sets this value. If that key is not set, and if the menu entry is set in a page
+front-matter, this value defaults to the page's `.RelPermalink`.
 
-This is a link title, meant to be used in `title`-Attributes of the menu's `<a>`-tags.
-By default it returns `.Page.LinkTitle`, as long as the menu entry was created
-through the page's front matter and not through the site config.
-Setting it explicitly in the site config or the page's front matter overrides this behaviour.
-
 .Page
-: [Page Object](/variables/page/)
+: _\*Page_ <br />
+Reference to the [page object][page-object] associated with the menu entry. This
+will be non-nil if the menu entry is set via a page's front-matter and not via
+the site config.
 
-The `.Page` variable holds a reference to the page.
-It's only set when the menu entry is created from the page's front matter,
-not when it's created from the site config.
+.Name
+: _string_ <br />
+Name of the menu entry. The `name` key, if set for the menu entry, sets
+this value. If that key is not set, and if the menu entry is set in a page
+front-matter, this value defaults to the page's `.LinkTitle`.
 
-
-.Menu
-: string
-
 .Identifier
-: string
+: _string_ <br />
+Value of the `identifier` key if set for the menu entry. This value must be
+unique for each menu entry. **It is necessary to set a unique identifier
+manually if two or more menu entries have the same `.Name`.**
 
 .Pre
-: template.HTML
+: _template.HTML_ <br />
+Value of the `pre` key if set for the menu entry. This value typically contains
+a string representing HTML.
 
 .Post
-: template.HTML
+: _template.HTML_ <br />
+Value of the `post` key if set for the menu entry. This value typically contains
+a string representing HTML.
 
 .Weight
-: int
+: _int_ <br />
+Value of the `weight` key if set for the menu entry. If that key is not set,
+and if the menu entry is set in a page front-matter, this value defaults to the
+page's `.Weight`.
 
 .Parent
-: string
+: _string_ <br />
+Name (or Identifier if present) of this menu entry's parent **menu entry**. The
+`parent` key, if set for the menu entry, sets this value. If this key is set,
+this menu entry nests under that parent entry, else it nests directly under the
+`.Menu`.
 
 .Children
-: Menu
+: _Menu_ <br />
+This value is auto-populated by Hugo. It is a collection of children menu
+entries, if any, under the current menu entry.
 
-[menu template]: /templates/menu-templates/
+## Menu Entry Functions
+
+Menus also have the following functions available:
+
+[.HasChildren](/functions/haschildren/)
+: _boolean_ <br />
+Returns `true` if `.Children` is non-nil.
+
+.KeyName
+: _string_ <br />
+Returns the `.Identifier` if present, else returns the `.Name`.
+
+.IsEqual
+: _boolean_ <br />
+Returns `true` if the two compared menu entries represent the same menu entry.
+
+.IsSameResource
+: _boolean_ <br />
+Returns `true` if the two compared menu entries have the same `.URL`.
+
+.Title
+: _string_ <br />
+Link title, meant to be used in the `title` attribute of a menu entry's
+`<a>`-tags.  Returns the menu entry's `title` key if set. Else, if the menu
+entry was created through a page's front-matter, it returns the page's
+`.LinkTitle`. Else, it just returns an empty string.
+
+## Other Menu-related Functions
+
+Additionally, here are some relevant methods available to menus on a page:
+
+.IsMenuCurrent
+: _(menu string, menuEntry *MenuEntry ) boolean_ <br />
+See [`.IsMenuCurrent` method](/functions/ismenucurrent/).
+
+.HasMenuCurrent
+: _(menu string, menuEntry *MenuEntry) boolean_ <br />
+See [`.HasMenuCurrent` method](/functions/hasmenucurrent/).
+
+
+[menu-template]: /templates/menu-templates/
+[page-object]: /variables/page/
--- a/docs/content/en/variables/page.md
+++ b/docs/content/en/variables/page.md
@@ -106,7 +106,9 @@
 : contains all formats, including the current format, for a given page. Can be combined the with [`.Get` function](/functions/get/) to grab a specific format. (See [Output Formats](/templates/output-formats/).)
 
 .Pages
-: a collection of associated pages. This value will be `nil` for regular content pages. `.Pages` is an alias for `.Data.Pages`.
+: a collection of associated pages. `.Pages` is an alias for
+  `.Data.Pages`. This value will be `nil` within the context of
+  regular content pages.
 
 .Permalink
 : the Permanent link for this page; see [Permalinks](/content-management/urls/)
--- a/docs/content/zh/templates/base.md
+++ b/docs/content/zh/templates/base.md
@@ -90,7 +90,7 @@
 {{< code file="layouts/_default/list.html" download="list.html" >}}
 {{ define "main" }}
   <h1>Posts</h1>
-  {{ range .Data.Pages }}
+  {{ range .Pages }}
     <article>
       <h2>{{ .Title }}</h2>
       {{ .Content }}
--- a/docs/netlify.toml
+++ b/docs/netlify.toml
@@ -3,7 +3,7 @@
 command = "hugo"
 
 [context.production.environment]
-HUGO_VERSION = "0.42.2"
+HUGO_VERSION = "0.44"
 HUGO_ENV = "production"
 HUGO_ENABLEGITINFO = "true"
 
@@ -11,7 +11,7 @@
 command = "hugo --enableGitInfo"
 
 [context.split1.environment]
-HUGO_VERSION = "0.42.2"
+HUGO_VERSION = "0.44"
 HUGO_ENV = "production"
 
 [context.deploy-preview]
@@ -18,13 +18,13 @@
 command = "hugo --buildFuture -b $DEPLOY_PRIME_URL"
 
 [context.deploy-preview.environment]
-HUGO_VERSION = "0.42.2"
+HUGO_VERSION = "0.44"
 
 [context.branch-deploy]
 command = "hugo -b $DEPLOY_PRIME_URL"
 
 [context.branch-deploy.environment]
-HUGO_VERSION = "0.42.2"
+HUGO_VERSION = "0.44"
 
 [context.next.environment]
 HUGO_ENABLEGITINFO = "true"
binary files /dev/null b/docs/resources/_gen/images/news/0.43-relnotes/featured-hugo-43-poster_hu3948fe44e4a966d8149b4bf077395057_78299_480x0_resize_catmullrom_2.png differ
binary files /dev/null b/docs/resources/_gen/images/news/0.43-relnotes/featured-hugo-43-poster_hu3948fe44e4a966d8149b4bf077395057_78299_640x0_resize_catmullrom_2.png differ
binary files /dev/null b/docs/resources/_gen/images/news/0.44-relnotes/featured-hugo-44-poster_hu6505d1982bab71bfe9c6c7adcedfd7f7_77631_480x0_resize_catmullrom_2.png differ
binary files /dev/null b/docs/resources/_gen/images/news/0.44-relnotes/featured-hugo-44-poster_hu6505d1982bab71bfe9c6c7adcedfd7f7_77631_640x0_resize_catmullrom_2.png differ
--- a/docs/themes/gohugoioTheme/README.md
+++ b/docs/themes/gohugoioTheme/README.md
@@ -1,1 +1,7 @@
-Theme for gohugo.io sites. More info to come.
+# GoHugo Sites Theme
+
+Theme for gohugo.io sites:
+* [https://gohugo.io/](https://gohugo.io/)
+* [https://themes.gohugo.io/](https://themes.gohugo.io/)
+
+More info to come.
--- a/docs/themes/gohugoioTheme/layouts/_default/taxonomy.html
+++ b/docs/themes/gohugoioTheme/layouts/_default/taxonomy.html
@@ -1,4 +1,4 @@
 {{ define "main" }}
-  {{ $section_to_display :=  .Data.Pages }}
+  {{ $section_to_display := .Pages }}
   {{ partial "pagelayout.html" (dict "context" . "section_to_display" $section_to_display ) }}
 {{ end }}
--- a/docs/themes/gohugoioTheme/layouts/_default/terms.html
+++ b/docs/themes/gohugoioTheme/layouts/_default/terms.html
@@ -1,6 +1,6 @@
 {{/* {{ define "header" }}{{ partial "page-header" . }}{{ end }} */}}
 {{ define "main" }}
-{{ $section_to_display :=  .Data.Pages }}
+{{ $section_to_display := .Pages }}
 <div class="w-100 ph4 pb5 pb6-ns pt1 pt3-ns">
 
   <div class="flex">
--- a/docs/themes/gohugoioTheme/layouts/partials/boxes-small-news.html
+++ b/docs/themes/gohugoioTheme/layouts/partials/boxes-small-news.html
@@ -3,7 +3,7 @@
     <!-- <a href="/news/" class="link accent-color tr-ns f6 w-100 w-50-m w-10-l bg-animate hover-bg-accent-color hover-white pv3 pv4-l ph3 ph4-l dib">
       Latest News:
     </a> -->
-    {{ range first 4 ( sort (where .Data.Pages "Section" "news") "Date" "desc" ) }}
+    {{ range first 4 ( sort (where .Pages "Section" "news") "Date" "desc" ) }}
       <!-- only show 2 boxes on mobile -->
       {{ $.Scratch.Add "i" 1 }}{{ $i := $.Scratch.Get "i" }}
       <a href="{{ .URL }}" class="link lh-copy light-gray f6 w-100 w-50-m w-25-l bg-animate hover-bg-accent-color hover-white pv3 pv4-ns ph3 ph4-ns{{ if ge $i 3 }} dn dib-l{{ else }} dib{{ end }}">