summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorTatsushi Demachi <tdemachi@gmail.com>2014-10-18 00:10:19 +0900
committerspf13 <steve.francia@gmail.com>2014-11-01 22:41:04 -0400
commit5e28606b84ef230914d0e63aebe3925364ee3966 (patch)
tree9c88a8d4b1c62178540645300a73e5c754a54b7c /docs
parentd013edb7f838b739db72530e06eb47721baec7b8 (diff)
Add sort and grouping functions for publish date and param of Page
`GroupBy` is modified to allow it to receive a method name argument for example `Type` as its first argument. It is only allowed to call with a method which takes no arguments and returns a result or a pair of a result and an error. The functions discussed at #443 are also added - `ByPublishDate`: Order contents by `PublishDate` front matter variable - `GroupByPublishDate(format, order)`: Group contents by `PublishDate` front matter variable formatted in string like `GroupByDate` - `GroupByParam(key, order)`: Group contents by `Param` front matter variable specified by `key` argument - `GroupByParamDate(key, format, order)`: Group contents by `Param` front matter variable specified by `key` argument and formatted in string like `GroupByDate`. It's effective against `time.Time` type front matter variable
Diffstat (limited to 'docs')
-rw-r--r--docs/content/templates/list.md53
1 files changed, 52 insertions, 1 deletions
diff --git a/docs/content/templates/list.md b/docs/content/templates/list.md
index c4c0bc29b..d2b58c49c 100644
--- a/docs/content/templates/list.md
+++ b/docs/content/templates/list.md
@@ -178,6 +178,15 @@ your list templates:
</li>
{{ end }}
+### Order by PublishDate
+
+ {{ range .Data.Pages.ByPublishDate }}
+ <li>
+ <a href="{{ .Permalink }}">{{ .Title }}</a>
+ <div class="meta">{{ .PublishDate.Format "Mon, Jan 2, 2006" }}</div>
+ </li>
+ {{ end }}
+
### Order by Length
{{ range .Data.Pages.ByLength }}
@@ -219,7 +228,7 @@ Can be applied to any of the above. Using Date for an example.
## Grouping Content
Hugo provides some grouping functions for list pages. You can use them to
-group pages by Section, Date etc.
+group pages by Section, Type, Date etc.
Here are a variety of different ways you can group the content items in
your list templates:
@@ -252,6 +261,48 @@ your list templates:
</ul>
{{ end }}
+### Grouping by Page publish date
+
+ {{ range .Data.Pages.GroupByPublishDate "2006-01" }}
+ <h3>{{ .Key }}</h3>
+ <ul>
+ {{ range .Pages }}
+ <li>
+ <a href="{{ .Permalink }}">{{ .Title }}</a>
+ <div class="meta">{{ .PublishDate.Format "Mon, Jan 2, 2006" }}</div>
+ </li>
+ {{ end }}
+ </ul>
+ {{ end }}
+
+### Grouping by Page param
+
+ {{ range .Data.Pages.GroupByParam "param_key" }}
+ <h3>{{ .Key }}</h3>
+ <ul>
+ {{ range .Pages }}
+ <li>
+ <a href="{{ .Permalink }}">{{ .Title }}</a>
+ <div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
+ </li>
+ {{ end }}
+ </ul>
+ {{ end }}
+
+### Grouping by Page param in date format
+
+ {{ range .Data.Pages.GroupByParamDate "param_key" "2006-01" }}
+ <h3>{{ .Key }}</h3>
+ <ul>
+ {{ range .Pages }}
+ <li>
+ <a href="{{ .Permalink }}">{{ .Title }}</a>
+ <div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
+ </li>
+ {{ end }}
+ </ul>
+ {{ end }}
+
### Reversing Key Order
The ordering of the groups is performed by keys in alpha-numeric order (A–Z,