Merge commit 'b6b37a1f00f808f3c0d2715f65ca2d3091f36495'

This commit is contained in:
Bjørn Erik Pedersen
2018-07-18 11:05:58 +02:00
106 changed files with 307 additions and 279 deletions

View File

@@ -21,7 +21,7 @@ When using Hugo with [GitHub Pages](http://pages.github.com/), you can provide y
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/

View File

@@ -90,7 +90,7 @@ From the above base template, you can define a [default list template][hugolists
{{< code file="layouts/_default/list.html" download="list.html" >}}
{{ define "main" }}
<h1>Posts</h1>
{{ range .Data.Pages }}
{{ range .Pages }}
<article>
<h2>{{ .Title }}</h2>
{{ .Content }}

View File

@@ -36,9 +36,9 @@ The homepage, similar to other [list pages in Hugo][lists], accepts content and
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 @@ The following is an example of a homepage template that uses [partial][partials]
{{.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>

View File

@@ -504,7 +504,7 @@ Go allows you to do more than what's shown here. Using Hugo's [`where` function]
{{< 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 -->

View File

@@ -101,7 +101,7 @@ You can now access this `_index.md`'s' content in your list template:
</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 @@ This list template has been modified slightly from a template originally used in
<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 @@ This list template has been modified slightly from a template originally used in
<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 @@ Hugo lists render the content based on metadata you provide in [front matter][].
{{< 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 @@ Lower weight gets higher precedence. So content with lower weight will come firs
{{< 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 @@ Lower weight gets higher precedence. So content with lower weight will come firs
{{< 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 @@ Lower weight gets higher precedence. So content with lower weight will come firs
{{< 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 @@ Lower weight gets higher precedence. So content with lower weight will come firs
{{< 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 @@ Lower weight gets higher precedence. So content with lower weight will come firs
{{< 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 @@ Lower weight gets higher precedence. So content with lower weight will come firs
{{< 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 @@ Lower weight gets higher precedence. So content with lower weight will come firs
{{< 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 @@ Lower weight gets higher precedence. So content with lower weight will come firs
{{< 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 @@ Order based on the specified front matter parameter. Content that does not have
{{< 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 @@ Order based on the specified front matter parameter. Content that does not have
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 @@ Reversing order can be applied to any of the above methods. The following uses `
{{< 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 @@ Hugo provides some functions for grouping pages by Section, Type, Date, etc.
{{< 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 @@ In the above example, you may want `{{.Title}}` to point the `title` field you h
{{< 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 @@ In the above example, you may want `{{.Title}}` to point the `title` field you h
{{< 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 @@ In the above example, you may want `{{.Title}}` to point the `title` field you h
{{< 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 @@ In the above example, you may want `{{.Title}}` to point the `title` field you h
{{< 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 @@ The following template takes grouping by `date` a step further and uses Go's lay
{{< 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 @@ While these are logical defaults, they are not always the desired order. There a
#### 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 @@ Here is the ordering for the example that follows:
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 @@ Sometimes you only want to list a subset of the available content. A common is t
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 @@ You can see more examples in the [functions documentation for `where`][wherefunc
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 @@ Using `first` and `where` together can be very powerful:
{{< 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 >}}

View File

@@ -35,7 +35,7 @@ This list template is used for [spf13.com](http://spf13.com/). It makes use of [
<div>
<h1 id="title">{{ .Title }}</h1>
<ul id="list">
{{ range .Data.Pages }}
{{ range .Pages }}
{{ .Render "li"}}
{{ end }}
</ul>
@@ -51,7 +51,7 @@ This list template is used for [spf13.com](http://spf13.com/). It makes use of [
<section id="main">
<div>
<h1 id="title">{{ .Title }}</h1>
{{ range .Data.Pages }}
{{ range .Pages }}
{{ .Render "summary"}}
{{ end }}
</div>
@@ -70,7 +70,7 @@ your list templates:
{{< 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 @@ your list templates:
### 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 @@ your list templates:
### 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 @@ your list templates:
### 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 @@ your list templates:
### 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 @@ your list templates:
### 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 @@ your list templates:
### 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 @@ your list templates:
### 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 @@ your list templates:
### 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 @@ Order based on the specified front matter parameter. Content that does not have
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 @@ If the front matter field of interest is nested beneath another field, you can
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 @@ also get it:
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 @@ Hugo provides some functions for grouping pages by Section, Type, Date, etc.
### 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 @@ Hugo provides some functions for grouping pages by Section, Type, Date, etc.
### 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 @@ Hugo provides some functions for grouping pages by Section, Type, Date, etc.
### 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 @@ Hugo provides some functions for grouping pages by Section, Type, Date, etc.
### 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 @@ Hugo provides some functions for grouping pages by Section, Type, Date, etc.
### 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,22 +295,22 @@ While these are logical defaults, they are not always the desired order. There a
#### 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 }}
```
#### 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 @@ In the following example, groups are ordered chronologically and then content
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 @@ Sometimes you only want to list a subset of the available content. A common requ
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 @@ Sometimes you only want to list a subset of the available content. A common requ
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 @@ Sometimes you only want to list a subset of the available content. A common requ
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 >}}

View File

@@ -43,19 +43,19 @@ Setting `Paginate` to a positive value will split the list pages for the homepag
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.
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 @@ If you use any filters or ordering functions to create your `.Paginator` *and* y
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 }}

View File

@@ -42,7 +42,7 @@ The following is an example `robots.txt` layout:
{{< code file="layouts/robots.txt" download="robots.txt" >}}
User-agent: *
{{range .Data.Pages}}
{{range .Pages}}
Disallow: {{.RelPermalink}}
{{end}}
{{< /code >}}

View File

@@ -73,7 +73,7 @@ This is the default RSS template that ships with Hugo. It adheres to the [RSS 2.
{{ 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>

View File

@@ -41,7 +41,7 @@ This template respects the version 0.9 of the [Sitemap Protocol](http://www.site
```
<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 @@ Defaults for `<changefreq>`, `<priority>` and `filename` values can be set in th
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/
[pagevars]: /variables/page/

View File

@@ -103,11 +103,11 @@ type WeightedPages []WeightedPage
## 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 }}

View File

@@ -51,14 +51,14 @@ This will print out a list of all the variables scoped to the current context
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 @@ This example will render the header partial, but the header partial will not hav
The dot (`.`) is considered fundamental to understanding Hugo templating. For more information, see [Introduction to Hugo Templating][tempintro].
[homepage]: /templates/homepage/
[tempintro]: /templates/introduction/
[tempintro]: /templates/introduction/

View File

@@ -73,7 +73,7 @@ In this example, `.Render` is passed into the template to call the [render funct
<main id="main">
<div>
<h1 id="title">{{ .Title }}</h1>
{{ range .Data.Pages }}
{{ range .Pages }}
{{ .Render "summary"}}
{{ end }}
</div>