Quarto网站不同子文件夹QMD页面间正确设置链接的方法
解决Quarto网站跨子文件夹页面链接失效的问题
方法1:使用根相对路径(推荐)
在链接前添加斜杠/,直接基于网站根目录定位文件,无论当前页面处于哪个子文件夹,路径都会被正确解析:
[跳转到Page B](/folderB/pageB.qmd)
生成网站时,Quarto会自动将.qmd路径转换为对应的HTML路径(如folderB/pageB.html),无需手动修改。
方法2:使用正确的相对路径
从当前页面位置向上退一级目录,再指向目标文件夹:
[跳转到Page B](../folderB/pageB.qmd)
../表示回到上一级目录(即项目根目录),再进入folderB找到目标文件。
方法3:为页面设置ID,通过ID链接
在目标页面(如pageB.qmd)的YAML元数据中设置id:
--- title: "Page B" id: page-b ---
之后在任意页面中直接通过ID链接:
[跳转到Page B](#page-b)
这种方式无需关注文件物理路径,适合页面结构可能调整的场景。
方法4:通过网站配置统一管理链接
在_quarto.yml的website配置中为页面添加ID,后续直接用ID跳转:
website: title: "Main Title" navbar: title: "Navbar Title" left: - text: Pages menu: - text: Page A href: folderA/pageA.qmd id: page-a - text: Page B href: folderB/pageB.qmd id: page-b
页面内链接时直接使用[跳转到Page B](#page-b)即可。
内容的提问来源于stack exchange,提问作者Paul Schmidt
相关产品推荐
相关产品推荐

