urls.Anchorize
Syntax
urls.Anchorize INPUT
Returns
string
Alias
anchorize
The anchorize
and urlize
functions are similar:
- Use the
anchorize
function to generate an HTMLid
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:
hugo.
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, and strongly recommended.
- 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.