hugo/docs/content/en/functions/truncate.md
2023-05-22 16:47:07 +02:00

23 lines
868 B
Markdown

---
title: truncate
description: Truncates a text to a max length without cutting words or leaving unclosed HTML tags.
categories: [functions]
menu:
docs:
parent: functions
keywords: [strings]
signature:
- "truncate SIZE [ELLIPSIS] INPUT"
- "strings.Truncate SIZE [ELLIPSIS] INPUT"
relatedfuncs: []
---
Since Go templates are HTML-aware, `truncate` will intelligently handle normal strings vs HTML strings:
```go-html-template
{{ "<em>Keep my HTML</em>" | safeHTML | truncate 10 }}` → <em>Keep my …</em>`
```
{{% note %}}
If you have a raw string that contains HTML tags you want to remain treated as HTML, you will need to convert the string to HTML using the [`safeHTML` template function](/functions/safehtml) before sending the value to truncate. Otherwise, the HTML tags will be escaped when passed through the `truncate` function.
{{% /note %}}