File: Counter.md

package info (click to toggle)
hugo 0.157.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 43,672 kB
  • sloc: javascript: 31,888; ansic: 2,350; xml: 350; makefile: 195; sh: 110
file content (33 lines) | stat: -rw-r--r-- 997 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
---
title: math.Counter
description: Increments and returns a global counter.
categories: []
keywords: []
params:
  functions_and_methods:
    aliases: []
    returnType: uint64
    signatures: [math.Counter]
---

The counter is global for both monolingual and multilingual sites, and its initial value for each build is 1.

```go-html-template {file="layouts/page.html"}
{{ warnf "page.html called %d times" math.Counter }}
```

```text
WARN  page.html called 1 times
WARN  page.html called 2 times
WARN  page.html called 3 times
```

Use this function to:

- Create unique warnings as shown above; the [`warnf`] function suppresses duplicate messages
- Create unique target paths for the `resources.FromString` function where the target path is also the cache key

> [!note]
> Due to concurrency, the value returned in a given template for a given page will vary from one build to the next. You cannot use this function to assign a static id to each page.

[`warnf`]: /functions/fmt/warnf/