Remove string concatenation from add (math) sample

Using `add` to concatenate two strings sounds like a hack, and has its limitations. Use `printf` for this.
This commit is contained in:
Bjørn Erik Pedersen 2017-08-16 18:08:52 +02:00 committed by GitHub
parent 43d12b44ca
commit a3ef5be939

View File

@ -31,35 +31,3 @@ There are 6 basic mathematical operators that can be used in Hugo templates:
| `mul` | Multiplies two integers. | `{{mul 2 3}}` → 6 |
| `sub` | Subtracts two integers. | `{{sub 3 2}}` → 1 |
## Use `add` with Strings
You can also use the `add` function with strings. You may like this functionality in many use cases, including creating new variables by combining page- or site-level variables with other strings.
For example, social media sharing with [Twitter Cards][cards] requires the following `meta` link in your site's `<head>` to display Twitter's ["Summary Card with Large Image"][twtsummary]:
```
<meta name="twitter:image" content="https://example.com/images/my-twitter-image.jpg">
```
Let's assume you have an `image` field in the front matter of each of your content files:
```
---
title: My Post
image: my-post-image.jpg
---
```
You can then concatenate the `image` value (string) with the path to your `images` directory in `static` and leverage a URL-related templating function for increased flexibility:
{{< code file="partials/head/twitter-card.html" >}}
{{$socialimage := add "images/" .Params.image}}
<meta name="twitter:image" content="{{ $socialimage | absURL }}">
{{< /code >}}
{{% note %}}
The `add` example above makes use of the [`absURL` function](/functions/absurl/). `absURL` and its relative companion `relURL` is the recommended way to construct URLs in Hugo.
{{% /note %}}
[cards]: https://dev.twitter.com/cards/overview
[twtsummary]: https://dev.twitter.com/cards/types/summary-large-image