6c2195936 Update featured.png 109a0fcca add len function to navigation side menu 39a356bc5 Revert "Add some rickrolls redirects" b8393b1b5 Add some rickrolls redirects 2ce21c34b Update configuration-markup.md (add rel="noopener") 95bd7974e Disambiguate global and page resources 5e233dc4b Update base.md 959b9dc3a Fix typo on "where" page aff8059a1 Release 0.70.0 44a172ac0 releaser: Add release notes to /docs for release of 0.70.0 1b01c8988 Release 0.70.0 5ece21c6c Merge commit '89044b8f8795f17c36396c67823183a20fc88139' 0894aec5b Rename transpileJS to babel 5da27c7a6 resources: Add JavaScript transpiling solution git-subtree-dir: docs git-subtree-split: 6c21959360394165435fa36eac489bf6a701ae9a
2.1 KiB
title | linktitle | description | godocref | date | publishdate | lastmod | categories | menu | keywords | signature | workson | hugoversion | relatedfuncs | deprecated | toc | aliases | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
len | len | Returns the length of a variable according to its type. | https://golang.org/pkg/builtin/#len | 2017-02-01 | 2017-02-01 | 2017-04-18 |
|
|
|
|
false | false |
len
is a built-in function in Go that returns the length of a variable according to its type. From the Go 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" >}}
{{.Title}} {{< /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" >}} {{ $posts := (where .Site.RegularPages "Section" "==" "posts") }} {{ $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.