跳到主要内容

7、Markdown 链接

Markdown 链接

有两种方法可以添加到另一个页面的链接:通过 URL 路径和文件路径。

- [URL path to another document](./installation)
- [file path to another document](./installation.mdx)

Docusaurus 未处理 URL 路径,你可以将它们视为直接渲染到 <a href="./installation">,即它将根据页面的 URL 位置而不是其文件系统位置进行解析。

如果你想引用同一插件包含的另一个 Markdown 文件,你可以使用要链接到的文档的相对路径。Docusaurus 的 Markdown 加载器会将文件路径转换为目标文件的 URL 路径(从而删除 .md 扩展名)。

例如,如果你在 docs/folder/doc1.md,并且想要引用 docs/folder/doc2.mddocs/folder/subfolder/doc3.mddocs/otherFolder/doc4.md

docs/folder/doc1.md

I am referencing a [document](doc2.mdx).

Reference to another [document in a subfolder](subfolder/doc3.mdx).

[Relative document](../otherFolder/doc4.mdx) referencing works as well.

相对文件路径根据当前文件的目录进行解析。

另一方面,绝对文件路径是相对于内容根解析的,通常是 docs/blog/本地化的,如 i18n/zh-Hans/plugin-content-docs/current

绝对文件路径也可以相对于站点目录。但是,请注意以 /docs//blog/ 开头的链接不可移植,因为如果你创建新的文档版本或本地化它们,则需要手动更新它们。

You can write [links](/otherFolder/doc4.mdx) relative to the content root (`/docs/`).

You can also write [links](/docs/otherFolder/doc4.mdx) relative to the site directory, but it's not recommended.

使用相对文件路径(带有 .md 扩展名)而不是相对 URL 链接具有以下优点:

  • 链接将在 GitHub 界面和许多 Markdown 编辑器上继续有效
  • 你可以自定义文件的 slugs,而无需更新所有链接
  • 你的编辑器可以跟踪在文件夹中移动文件,并且某些编辑器可能会自动更新文件链接
  • 版本化文档 将链接到完全相同版本的另一个文档
  • 如果你更新 trailingSlash 配置,相对 URL 链接很可能会损坏
注意

仅当源文件和目标文件由同一插件实例处理时,Markdown 文件引用才有效。这是我们 Markdown 处理架构的技术限制,将来会修复。如果你要在插件之间链接文件(例如从博客文章链接到文档页面),则必须使用 URL 链接。