mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-14 20:37:55 -05:00
74309fe569
084804447 Update shortcode-templates.md c01b02434 Correct misspelling of 'default' 52a831cca Added missing parenthesis 59e8e660a Fix spelling typos 29ad53c9c Yes, HTML is a valid content format c6b193c6f Update shortcode-templates.md 1f2846e6d Fix typo in output format README 5882f7a4c Fix typo a90a00bb0 Update multilingual.md 62bf0f184 Documentation for Open Graph & Twitter Cards f4d624da3 Document "images", "videos", etc. in front-matter 6a85b5df1 Document anchorize and Resources.Content 04c8a5b0e Fix minor typo in 0.49.2 release note dbe77e948 Release 0.49.2 ea6c9658e Merge branch 'temp492' 85c45b725 Merge branch 'release-0.49.2' 7ad1fba29 releaser: Prepare repository for 0.50-DEV b25bcc3f2 releaser: Add release notes to /docs for release of 0.49.2 78b751b91 releaser: Bump versions for release of 0.49.2 e3f09762c Release 0.49.1 bd5b94558 Merge branch 'temp491' 0007e0661 Merge branch 'release-0.49.1' 74d2f3a6f releaser: Prepare repository for 0.50-DEV bbee7e9d3 releaser: Add release notes to /docs for release of 0.49.1 ae40c89c7 releaser: Bump versions for release of 0.49.1 11079fb48 Add draft statement to FAQ 069b9472f Addin Hokus CMS to frontends list. 6e8850670 Add MediaType docs f3ca6209a Add `languageName` to configuration fd1cde5ea tpl: Add a delimiter parameter to lang.NumFmt c620ff78a Update doc to use proper variable 7317c339a add tools->hugo-elasticsearch description to docs d758ef94a hugolib: Introduce Page.NextPage and Page.PrevPage 9c93ac031 Update installing.md 7c0b5b7f5 Use ISO 639-1 code for examples 9a9e40ba8 Fix spelling 9a6216c18 Hugo 0.49 55aa91185 Merge branch 'temp49' e0a36421e releaser: Prepare repository for 0.50-DEV c07b3b385 releaser: Add release notes to /docs for release of 0.49 c1175a12a releaser: Bump versions for release of 0.49 2966f6254 docs: Document directory based archetypes 73dcd02ed Add showcase archetype folder 0a55ad11b docs: Regenerate CLI docs e09866c2d docs: Document group ef986358a Merge commit '807c551922707fc5ae0eb26e8f01638c0c63fdb3' 681f14fc9 tpl/collections: Allow first function to return an empty slice f6dcc93bc docs: Add docs for append aae528ca3 Merge commit '13e64d72763bf8d6d92d4cdfc15ed45ee9debfab' 02b62294c tpl/strings: Add strings.FirstUpper bf3e61ba3 hugolib: Do not FirstUpper taxonomy titles git-subtree-dir: docs git-subtree-split: 084804447402ab99b51bf49f0da809bee8c16339
88 lines
2.9 KiB
Markdown
88 lines
2.9 KiB
Markdown
---
|
||
title: Links and Cross References
|
||
description: Shortcodes for creating links to documents.
|
||
date: 2017-02-01
|
||
publishdate: 2017-02-01
|
||
lastmod: 2017-03-31
|
||
categories: [content management]
|
||
keywords: ["cross references","references", "anchors", "urls"]
|
||
menu:
|
||
docs:
|
||
parent: "content-management"
|
||
weight: 100
|
||
weight: 100 #rem
|
||
aliases: [/extras/crossreferences/]
|
||
toc: true
|
||
---
|
||
|
||
|
||
The `ref` and `relref` shortcode resolves the absolute or relative permalink given a path to a document.
|
||
|
||
## Use `ref` and `relref`
|
||
|
||
```go-html-template
|
||
{{</* ref "document.md" */>}}
|
||
{{</* ref "#anchor" */>}}
|
||
{{</* ref "document.md#anchor" */>}}
|
||
{{</* ref "/blog/my-post" */>}}
|
||
{{</* ref "/blog/my-post.md" */>}}
|
||
{{</* relref "document.md" */>}}
|
||
{{</* relref "#anchor" */>}}
|
||
{{</* relref "document.md#anchor" */>}}
|
||
```
|
||
|
||
The single parameter to `ref` is a string with a content `documentname` (e.g., `about.md`) with or without an appended in-document `anchor` (`#who`) without spaces. Hugo is flexible in how we search for documents, so the file suffix may be omitted.
|
||
|
||
**Paths without a leading `/` will first be tried resolved relative to the current page.**
|
||
|
||
You will get an error if you document could not be uniquely resolved. The error behaviour can be configured, see below.
|
||
|
||
### Link to another language version
|
||
|
||
Link to another language version of a document, you need to use this syntax:
|
||
|
||
```go-html-template
|
||
{{</* relref path="document.md" lang="ja" */>}}
|
||
```
|
||
|
||
### Get another Output Format
|
||
|
||
To link to a given Output Format of a document, you can use this syntax:
|
||
|
||
```go-html-template
|
||
{{</* relref path="document.md" outputFormat="rss" */>}}
|
||
```
|
||
|
||
### Anchors
|
||
|
||
When an `anchor` is provided by itself, the current page’s unique identifier will be appended; when an `anchor` is provided appended to `documentname`, the found page's unique identifier will be appended:
|
||
|
||
```go-html-template
|
||
{{</* relref "#anchors" */>}} => #anchors:9decaf7
|
||
```
|
||
|
||
The above examples render as follows for this very page as well as a reference to the "Content" heading in the Hugo docs features pageyoursite
|
||
|
||
```go-html-template
|
||
{{</* relref "#who" */>}} => #who:9decaf7
|
||
{{</* relref "/blog/post.md#who" */>}} => /blog/post/#who:badcafe
|
||
```
|
||
|
||
More information about document unique identifiers and headings can be found [below]({{< ref "#hugo-heading-anchors" >}}).
|
||
|
||
|
||
## Ref and RelRef Configuration
|
||
|
||
The behaviour can, since Hugo 0.45, be configured in `config.toml`:
|
||
|
||
refLinksErrorLevel ("ERROR")
|
||
: When using `ref` or `relref` to resolve page links and a link cannot resolved, it will be logged with this logg level. Valid values are `ERROR` (default) or `WARNING`. Any `ERROR` will fail the build (`exit -1`).
|
||
|
||
refLinksNotFoundURL
|
||
: URL to be used as a placeholder when a page reference cannot be found in `ref` or `relref`. Is used as-is.
|
||
|
||
|
||
[lists]: /templates/lists/
|
||
[output formats]: /templates/output-formats/
|
||
[shortcode]: /content-management/shortcodes/
|
||
[bfext]: /content-management/formats/#blackfriday-extensions
|