--- title: Links and Cross References linkTitle: Links and Cross References description: Shortcodes for creating links to documents. categories: [content management] keywords: ["cross references","references", "anchors", "urls"] menu: docs: parent: content-management weight: 170 toc: true weight: 170 aliases: [/extras/crossreferences/] --- The `ref` and `relref` shortcodes display the absolute and relative permalinks to a document, respectively. ## Use of `ref` and `relref` The `ref` and `relref` shortcodes require a single parameter: the path to a content document, with or without a file extension, with or without an anchor. Paths without a leading `/` are first resolved relative to the current page, then to the remainder of the site. ``` . └── content ├── about | ├── _index.md | └── credits.md ├── pages | ├── document1.md | └── document2.md // has anchor #anchor ├── products | └── index.md └── blog └── my-post.md ``` The pages can be referenced as follows: ```text {{* ref "document2" */>}} // <- From pages/document1.md, relative path {{* ref "document2#anchor" */>}} {{* ref "document2.md" */>}} {{* ref "document2.md#anchor" */>}} {{* ref "#anchor" */>}} // <- From pages/document2.md {{* ref "/blog/my-post" */>}} // <- From anywhere, absolute path {{* ref "/blog/my-post.md" */>}} {{* relref "document" */>}} {{* relref "document.md" */>}} {{* relref "#anchor" */>}} {{* relref "/blog/my-post.md" */>}} ``` index.md can be reference either by its path or by its containing folder without the ending `/`. \_index.md can be referenced only by its containing folder: ```text {{* ref "/about" */>}} // <- References /about/_index.md {{* ref "/about/_index" */>}} // Raises REF_NOT_FOUND error {{* ref "/about/credits.md" */>}} // <- References /about/credits.md {{* ref "/products" */>}} // <- References /products/index.md {{* ref "/products/index" */>}} // <- References /products/index.md ``` To generate a hyperlink using `ref` or `relref` in markdown: ```text [About]({{* ref "/about" */>}} "About Us") ``` Hugo emits an error or warning if a document cannot be uniquely resolved. The error behavior is configurable; see below. ### Link to another language version To link to another language version of a document, use this syntax: ```go-html-template {{* relref path="document.md" lang="ja" */>}} ``` ### Get another Output Format To link to another Output Format of a document, use this syntax: ```go-html-template {{* relref path="document.md" outputFormat="rss" */>}} ``` ### Heading IDs When using Markdown document types, Hugo generates element IDs for every heading on a page. For example: ```md ## Reference ``` produces this HTML: ```html