Last updated

Add links

When adding links in the project, use paths relative to the page with the link. This rule applies to links in menus like the navbar, sidebar, and footer. It also applies to React pages and pages in @l10n and version folders.

Below are some best practices and things to consider when linking in the project.

Files from the default language that are not in other languages are copied into those languages when the project is built. If you include a link in a file for the default language, when the file is copied to other languages, the link is automatically modified to reference content from that language. If you include a link in a file for a non-default language, and you want to reference a file that is only in the default language, reference the file as if it is in that language.

To illustrate how to reference localized content, the following examples use a project with the following file structure:

your-project/
├──@l10n/
│   ├──es-ES/
│   │   ├──install-guide.md
│   │   ├──deploy-guide.md
│   │   └──index.md
│   └──fr/
│       ├──install-guide.md
│       ├──deploy-guide.md
│       └──index.md
├──common-doc.md
├──install-guide.md
├──deploy-guide.md
├──index.md
├──sidebars.yaml
└──redocly.yaml

From default language

Link to @l10n/es-ES/install-guide.md from common-doc.md

[Install](./install-guide.md)

From non-default language

Link to common-doc.md from @l10n/fr/index.md

[Common](common-doc.md)

When you add links to versioned content from other files, including sidebars.yaml or redocly.yaml, the path to these files depends on the structure of your project.

To illustrate how to add links to versioned content, the following examples use a project with the following file structure:

your-project/
├──@latest/
│   ├──api-info.md
│   ├──new-guide.md
│   ├──sidebars.yaml
│   └──index.md
├──@legacy/
│   ├──api-info.md
│   ├──old-guide.md
│   ├──index.md
│   └──sidebars.yaml
├──common-doc.md
└──redocly.yaml

From Markdown pages

Link to @latest/api-info.md from common-doc.md

[API Info](./@latest/api-info.md)

Link to @latest/new-guide.md from @latest/api-info.md

[New guide is here](new-guide.md)

From Redocly config

To add links to the navbar or footer, specify the relative path to the file.

redocly.yaml example

navbar:
  items:
    - label: Latest API docs
      page: '@latest/new-guide.md'
    - label: Legacy API docs
      page: '@legacy/old-guide.md'

From sidebars.yaml file

To reference pages in sidebars.yaml, specify relative path to the file.

@latest/sidebars.yaml example

- page: api-info.md
  title: General API information
- page: new-guide.md
  title: New API guide
- page: index.md

If you are including a link in a custom React component, use the Link component. The Link component will automatically update the path prefix and localization. Users can import the link component in their React components using the following syntax:

import { Link } from '@redocly/theme/components/Link/Link';