HUGO
News Docs Themes Community GitHub

urls.Anchorize

Returns the given string, sanitized for usage in an HTML id attribute.

Syntax

urls.Anchorize INPUT

Returns

string

Alias

anchorize

The anchorize and urlize functions are similar:

  • Use the anchorize function to generate an HTML id attribute value
  • Use the urlize function to sanitize a string for usage in a URL

For example:

{{ $s := "A B C" }}
{{ $s | anchorize }} → a-b-c
{{ $s | urlize }} → a-b-c

{{ $s := "a b   c" }}
{{ $s | anchorize }} → a-b---c
{{ $s | urlize }} → a-b-c

{{ $s := "< a, b, & c >" }}
{{ $s | anchorize }} → -a-b--c-
{{ $s | urlize }} → a-b-c

{{ $s := "main.go" }}
{{ $s | anchorize }} → maingo
{{ $s | urlize }} → main.go

{{ $s := "Hugö" }}
{{ $s | anchorize }} → hugö
{{ $s | urlize }} → hug%C3%B6

Sanitizing logic

With the default Markdown renderer, Goldmark, the sanitizing logic is controlled by your site configuration:

markup:
  goldmark:
    parser:
      autoHeadingIDType: github
[markup]
  [markup.goldmark]
    [markup.goldmark.parser]
      autoHeadingIDType = 'github'
{
   "markup": {
      "goldmark": {
         "parser": {
            "autoHeadingIDType": "github"
         }
      }
   }
}

This controls the behavior of the anchorize function and the generation of heading IDs when rendering Markdown to HTML.

Set autoHeadingIDType to one of:

github
Compatible with GitHub. This is the default.
github-ascii
Similar to the github setting, but removes non-ASCII characters.
blackfriday
Provided for backwards compatibility with Hugo v0.59.1 and earlier. This option will be removed in a future release.

Last updated: November 22, 2024 : Update Anchorize.md (157e8983b)
Improve this page