hugo/content/functions/absurl.md
Bjørn Erik Pedersen ec4e6f9df2 Squashed 'docs/' content from commit f887bd7b
git-subtree-dir: docs
git-subtree-split: f887bd7b4e3e7c7e76cd63951e5b0d37d8fe0ac7
2017-08-10 17:18:22 +02:00

1.9 KiB

title description godocref date publishdate lastmod categories menu signature workson hugoversion relatedfuncs deprecated aliases
absURL Creates an absolute URL based on the configured baseURL. 2017-02-01 2017-02-01 2017-02-01
functions
docs
parent
functions
absURL INPUT
relURL
false

Both absURL and relURL consider the configured value of baseURL in your site's config file. Given a baseURL set to https://example.com/hugo/:

{{ "mystyle.css" | absURL }} → "https://example.com/hugo/mystyle.css"
{{ "mystyle.css" | relURL }} → "/hugo/mystyle.css"
{{ "http://gohugo.io/" | relURL }} →  "http://gohugo.io/"
{{ "http://gohugo.io/" | absURL }} →  "http://gohugo.io/"

The last two examples may look strange but can be very useful. For example, the following shows how to use absURL in JSON-LD structured data (SEO), where some of your images for a piece of content may or may not be hosted locally:

{{< code file="layouts/partials/schemaorg-metadata.html" download="schemaorg-metadata.html" >}}

{{< /code >}}

The above uses the apply function and also exposes how the Go template parser JSON-encodes objects inside <script> tags. See the safeJS template function for examples of how to tell Hugo not to escape strings inside of such tags.

{{% note "Ending Slash" %}} absURL and relURL are smart about missing slashes, but they will not add a closing slash to a URL if it is not present. {{% /note %}}