hugo

Fork of github.com/gohugoio/hugo with reverse pagination support

git clone git://git.shimmy1996.com/hugo.git

relurl.md (1876B)

    1 ---
    2 title: relURL
    3 description: Creates a baseURL-relative URL.
    4 date: 2017-02-01
    5 publishdate: 2017-02-01
    6 categories: [functions]
    7 menu:
    8   docs:
    9     parent: "functions"
   10 keywords: [urls]
   11 signature: ["relURL INPUT"]
   12 workson: []
   13 hugoversion:
   14 relatedfuncs: [absURL]
   15 deprecated: false
   16 aliases: []
   17 ---
   18 
   19 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/`:
   20 
   21 ```
   22 {{ "mystyle.css" | absURL }} → "https://example.com/hugo/mystyle.css"
   23 {{ "mystyle.css" | relURL }} → "/hugo/mystyle.css"
   24 {{ "http://gohugo.io/" | relURL }} →  "http://gohugo.io/"
   25 {{ "http://gohugo.io/" | absURL }} →  "http://gohugo.io/"
   26 ```
   27 
   28 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:
   29 
   30 {{< code file="layouts/partials/schemaorg-metadata.html" download="schemaorg-metadata.html" >}}
   31 <script type="application/ld+json">
   32 {
   33     "@context" : "https://schema.org",
   34     "@type" : "BlogPosting",
   35     "image" : {{ apply .Params.images "absURL" "." }}
   36 }
   37 </script>
   38 {{< /code >}}
   39 
   40 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.
   41 
   42 {{% note "Ending Slash" %}}
   43 `absURL` and `relURL` are smart about missing slashes, but they will *not* add a closing slash to a URL if it is not present.
   44 {{% /note %}}
   45 
   46 [apply function]: /functions/apply/
   47 [configuration]: /getting-started/configuration/
   48 [jsonld]: https://developers.google.com/search/docs/advanced/structured-data/intro-structured-data
   49 [safejs]: /functions/safejs