diff --git a/content/functions/delimit.md b/content/functions/delimit.md index 3c5ffc898..9e1a6b96c 100644 --- a/content/functions/delimit.md +++ b/content/functions/delimit.md @@ -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 diff --git a/content/functions/format.md b/content/functions/format.md index b1de89f97..0cffd44cf 100644 --- a/content/functions/format.md +++ b/content/functions/format.md @@ -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 diff --git a/content/functions/len.md b/content/functions/len.md new file mode 100644 index 000000000..714dc7b02 --- /dev/null +++ b/content/functions/len.md @@ -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 `