hugo/docs/content/en/functions/urls/RelURL.md
2023-12-04 15:24:01 +01:00

1.8 KiB

title description categories keywords action aliases
urls.RelURL Returns a relative URL.
aliases related returnType signatures
relURL
functions/urls/AbsLangURL
functions/urls/AbsURL
functions/urls/RelLangURL
string
urls.RelURL INPUT
/functions/relurl

With multilingual configurations, use the relLangURL function instead. The URL returned by this function depends on:

  • Whether the input begins with a slash
  • The baseURL in site configuration

Input does not begin with a slash

If the input does not begin with a slash, the resulting URL will be correct regardless of the baseURL.

With baseURL = https://example.org/

{{ relURL "" }}           →   /
{{ relURL "articles" }}   →   /articles
{{ relURL "style.css" }}  →   /style.css

With baseURL = https://example.org/docs/

{{ relURL "" }}           →   /docs/
{{ relURL "articles" }}   →   /docs/articles
{{ relURL "style.css" }}  →   /docs/style.css

Input begins with a slash

If the input begins with a slash, the resulting URL will be incorrect when the baseURL includes a subdirectory. With a leading slash, the function returns a URL relative to the protocol+host section of the baseURL.

With baseURL = https://example.org/

{{ relURL "/" }}          →   /
{{ relURL "/articles" }}  →   /articles
{{ relURL "style.css" }}  →   /style.css

With baseURL = https://example.org/docs/

{{ relURL "/" }}          →   /
{{ relURL "/articles" }}  →   /articles
{{ relURL "/style.css" }} →   /style.css

{{% note %}} The last three examples are not desirable in most situations. As a best practice, never include a leading slash when using this function. {{% /note %}}