mirror of
https://github.com/gohugoio/hugoDocs.git
synced 2025-09-17 12:04:36 -04:00
Remove extra parentheses in GetPage function example
This commit is contained in:
commit
e63c2fb1e5
@ -1,9 +1,8 @@
|
||||
---
|
||||
title: delimit
|
||||
linktitle: delimit
|
||||
description: Loops through any array, slice, or map and returns a string of all the values separated by a delimiter."
|
||||
description: Loops through any array, slice, or map and returns a string of all the values separated by a delimiter.
|
||||
godocref:
|
||||
qref: loops through array, slice, or map and returns string of all values separated by a delimiter.
|
||||
workson: []
|
||||
date: 2017-02-01
|
||||
publishdate: 2017-02-01
|
||||
|
@ -18,7 +18,7 @@ aliases: []
|
||||
toc: true
|
||||
---
|
||||
|
||||
`Format` will format date values defined in your front matter. `.Format` and can be used as a property on the following [page variables][pagevars]:
|
||||
`Format` will format date values defined in your front matter and can be used as a property on the following [page variables][pagevars]:
|
||||
|
||||
* `.PublishDate`
|
||||
* `.Date`
|
||||
@ -30,7 +30,7 @@ Assuming a key-value of `date: 2017-03-03` in a content file's front matter, you
|
||||
{{ .PublishDate.Format "January 2, 2006" }} => March 3, 2017
|
||||
```
|
||||
|
||||
For formatting *any* string representations of dates defined in your front matter, see the [`dateFormat` function][dateFormat].
|
||||
For formatting *any* string representations of dates defined in your front matter, see the [`dateFormat` function][dateFormat], which will still leverage the Golang layout string explained below but uses a slightly different syntax.
|
||||
|
||||
## Go's Layout String
|
||||
|
||||
|
65
content/functions/len.md
Normal file
65
content/functions/len.md
Normal file
@ -0,0 +1,65 @@
|
||||
---
|
||||
title: len
|
||||
linktitle: len
|
||||
description: Returns the length of a variable according to its type.
|
||||
godocref: https://golang.org/pkg/builtin/#len
|
||||
date: 2017-02-01
|
||||
publishdate: 2017-02-01
|
||||
lastmod: 2017-04-18
|
||||
categories: [functions]
|
||||
tags: []
|
||||
ns:
|
||||
signature: ["len INPUT"]
|
||||
workson: [lists,taxonomies,terms]
|
||||
hugoversion:
|
||||
relatedfuncs: []
|
||||
deprecated: false
|
||||
toc: false
|
||||
aliases: []
|
||||
---
|
||||
|
||||
`len` is a built-in function in Golang that returns the length of a variable according to its type. From the Golang documentation:
|
||||
|
||||
> Array: the number of elements in v.
|
||||
>
|
||||
> Pointer to array: the number of elements in *v (even if v is nil).
|
||||
>
|
||||
> Slice, or map: the number of elements in v; if v is nil, len(v) is zero.
|
||||
>
|
||||
> String: the number of bytes in v.
|
||||
>
|
||||
> Channel: the number of elements queued (unread) in the channel buffer; if v is nil, len(v) is zero.
|
||||
|
||||
`len` is also considered a [fundamental function for Hugo templating][].
|
||||
|
||||
## `len` Example 1: Longer Headings
|
||||
|
||||
You may want to append a class to a heading according to the length of the string therein. The following templating checks to see if the title's length is greater than 80 characters and, if so, adds a `long-title` class to the `<h1>`:
|
||||
|
||||
{{% code file="check-title-length.html" %}}
|
||||
```html
|
||||
<header>
|
||||
<h1{{if gt (len .Title) 80}} class="long-title"{{end}}>{{.Title}}</h1>
|
||||
</header>
|
||||
```
|
||||
{{% /code %}}
|
||||
|
||||
## `len` Example 2: Counting Pages with `where`
|
||||
|
||||
The following templating uses [`where`][] in conjunction with `len` to figure out the total number of content pages in a `posts` [section][]:
|
||||
|
||||
{{% code file="how-many-posts.html" %}}
|
||||
```html
|
||||
{{ $posts := (where .Site.RegularPages "Section" "==" "post") }}
|
||||
{{ $postCount := len $posts }}
|
||||
```
|
||||
{{% /code %}}
|
||||
|
||||
Note the use of `.RegularPages`, a [site variable][] that counts all regular content pages but not the `_index.md` pages used to add front matter and content to [list templates][].
|
||||
|
||||
|
||||
[fundamental function for Hugo templating]: /templates/introduction/
|
||||
[list templates]: /templates/lists/
|
||||
[section]: /content-management/sections/
|
||||
[site variable]: /variables/site/
|
||||
[`where`]: /functions/where/
|
@ -398,7 +398,7 @@ Hugo provides some functions for grouping pages by Section, Type, Date, etc.
|
||||
```
|
||||
{{% /code %}}
|
||||
|
||||
### By Page date
|
||||
### By Date
|
||||
|
||||
{{% code file="layouts/partials/by-page-date.html" %}}
|
||||
```html
|
||||
@ -416,7 +416,7 @@ Hugo provides some functions for grouping pages by Section, Type, Date, etc.
|
||||
```
|
||||
{{% /code %}}
|
||||
|
||||
### By Page publish date
|
||||
### By Publish Date
|
||||
|
||||
{{% code file="layouts/partials/by-page-publish-date.html" %}}
|
||||
```html
|
||||
@ -434,7 +434,7 @@ Hugo provides some functions for grouping pages by Section, Type, Date, etc.
|
||||
```
|
||||
{{% /code %}}
|
||||
|
||||
### By Page Param
|
||||
### By Page Parameter
|
||||
|
||||
{{% code file="layouts/partials/by-page-param.html" %}}
|
||||
```html
|
||||
@ -452,7 +452,9 @@ Hugo provides some functions for grouping pages by Section, Type, Date, etc.
|
||||
```
|
||||
{{% /code %}}
|
||||
|
||||
### By Page Param in Date Format
|
||||
### By Page Parameter in Date Format
|
||||
|
||||
The following template takes grouping by `date` a step further and uses Golang's layout string. See the [`Format` function][] for more examples of how to format dates in Hugo.
|
||||
|
||||
{{% code file="layouts/partials/by-page-param-as-date.html" %}}
|
||||
```html
|
||||
@ -570,6 +572,7 @@ Using `first` and `where` together can be very powerful:
|
||||
|
||||
[bepsays]: http://bepsays.com/en/2016/12/19/hugo-018/
|
||||
[directorystructure]: /getting-started/directory-structure/
|
||||
[`Format` function]: /functions/format/
|
||||
[homepage]: /templates/homepage/
|
||||
[homepage]: /templates/homepage/
|
||||
[limitkeyword]: https://www.techonthenet.com/sql/select_limit.php
|
||||
|
Loading…
x
Reference in New Issue
Block a user