1
0
mirror of https://github.com/gohugoio/hugo.git synced 2024-05-11 05:54:58 +00:00
Files
gohugoio-hugo/docs/content/en/functions/relurl.md
2018-05-04 09:44:59 +02:00

1.9 KiB

title, description, godocref, date, publishdate, lastmod, categories, menu, keywords, signature, workson, hugoversion, relatedfuncs, deprecated, aliases
title description godocref date publishdate lastmod categories menu keywords signature workson hugoversion relatedfuncs deprecated aliases
relURL Given a string, prepends the relative URL according to a page's position in the project directory structure. 2017-02-01 2017-02-01 2017-02-01
functions
docs
parent
functions
urls
relURL INPUT
absURL
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 for 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 %}}