diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-10-21 10:22:28 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-10-21 10:22:28 +0200 |
commit | 27aef3f1fbf657137e825f30bb50dda393618a6f (patch) | |
tree | bcc05254f2977e3cc75d7dcb4cbaac5625cf7a1b /docs/content/en/functions/relurl.md | |
parent | 39121de4d991bdcf5f202da4d8d81a8ac6c149fc (diff) | |
parent | b9bd35d72e14932fb6588ff62b90cddef0a060fc (diff) |
Merge commit 'b9bd35d72e14932fb6588ff62b90cddef0a060fc' as 'docs'
Diffstat (limited to 'docs/content/en/functions/relurl.md')
-rw-r--r-- | docs/content/en/functions/relurl.md | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/docs/content/en/functions/relurl.md b/docs/content/en/functions/relurl.md new file mode 100644 index 000000000..aa1536544 --- /dev/null +++ b/docs/content/en/functions/relurl.md @@ -0,0 +1,51 @@ +--- +title: relURL +description: Given a string, prepends the relative URL according to a page's position in the project directory structure. +godocref: +date: 2017-02-01 +publishdate: 2017-02-01 +lastmod: 2017-02-01 +categories: [functions] +menu: + docs: + parent: "functions" +keywords: [urls] +signature: ["relURL INPUT"] +workson: [] +hugoversion: +relatedfuncs: [absURL] +deprecated: false +aliases: [] +--- + +Both `absURL` and `relURL` consider the configured value of `baseURL` in your site's [`config` file][configuration]. 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][jsonld] 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][safejs] 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 %}} + +[apply function]: /functions/apply/ +[configuration]: /getting-started/configuration/ +[jsonld]: https://developers.google.com/search/docs/guides/intro-structured-data +[safejs]: /functions/safejs |