aboutsummaryrefslogtreecommitdiffhomepage
path: root/content/en/methods/shortcode/Position.md
blob: 565a158bfe5b3326bfbb32e12b23a946801386ed (plain)
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: Position
description: Returns the filename and position from which the shortcode was called.
categories: []
keywords: []
action:
  related:
    - methods/shortcode/Name
    - functions/fmt/Errorf
  returnType: text.Position
  signatures: [SHORTCODE.Position]
---

The `Position` method is useful for error reporting. For example, if your shortcode requires a "greeting" parameter:

{{< code file=layouts/shortcodes/myshortcode.html  >}}
{{ $greeting := "" }}
{{ with .Get "greeting" }}
  {{ $greeting = . }}
{{ else }}
  {{ errorf "The %q shortcode requires a 'greeting' parameter. See %s" .Name .Position }}
{{ end }}
{{< /code >}}

In the absence of a "greeting" parameter, Hugo will throw an error message and fail the build:

```text
ERROR The "myshortcode" shortcode requires a 'greeting' parameter. See "/home/user/project/content/about.md:11:1"
```

{{% note %}}
The position can be expensive to calculate. Limit its use to error reporting.
{{% /note %}}