Skip to content

Latest commit

 

History

History
51 lines (44 loc) · 1.87 KB

absurl.md

File metadata and controls

51 lines (44 loc) · 1.87 KB
title description godocref date publishdate lastmod categories menu keywords 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
urls
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" >}}

<script type="application/ld+json"> { "@context" : "http://schema.org", "@type" : "BlogPosting", "image" : {{ apply .Params.images "absURL" "." }} } </script>

{{< /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 %}}