hugo/docs/content/functions/math.md
2017-08-06 17:24:51 +02:00

2.3 KiB

title description godocref date publishdate lastmod categories menu toc signature workson hugoversion relatedfuncs deprecated draft aliases
Math Hugo provides six mathematical operators in templates. 2017-02-01 2017-02-01 2017-02-01
functions
docs
parent
functions
false false

There are 6 basic mathematical operators that can be used in Hugo templates:

Function Description Example
add Adds two integers. {{add 1 2}} → 3
div Divides two integers. {{div 6 3}} → 2
mod Modulus of two integers. {{mod 15 3}} → 0
modBool Boolean of modulus of two integers. Evaluates to true if = 0. {{modBool 15 3}} → true
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 requires the following meta link in your site's <head> to display Twitter's "Summary Card with Large Image":

<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}}

{{< /code >}}

{{% note %}} The add example above makes use of the absURL function. absURL and its relative companion relURL is the recommended way to construct URLs in Hugo. {{% /note %}}