Hugo是否有等价jekyll-relative-links的文件路径转站点路径功能?
Hugo 中实现 Markdown 相对链接自动转换的方案
Hugo 原生内置了完全等价于 jekyll-relative-links 的功能,不需要安装第三方插件,从 v0.62 版本开始该能力默认开启,可直接覆盖跨文章、跨页面的文件路径互链需求。
基础使用方式
编写 Markdown 内容时,直接按照文件系统的相对路径书写链接即可,不需要手动对应站点最终生成的URL结构:- 同目录文章链接直接写文件名:
[邻篇文章](next-post.md) - 跨目录页面按相对层级书写:
[关于页面](../about/index.md) - 带锚点的链接正常书写即可:
[参考章节](target-post.md#核心结论)
Hugo 编译阶段会自动将这些文件路径转换为对应页面的可访问链接,无论你配置站点输出相对路径还是绝对路径,都能正常跳转。后续如果调整了文章slug、站点URL规则,原有相对链接不需要批量修改,编译时会自动同步更新为新路径。
- 同目录文章链接直接写文件名:
可调整的配置项
你可以在站点配置文件(支持config.toml/config.yaml/config.json三种格式)中调整链接解析行为,常用配置如下(以TOML格式为例):[markup] [markup.goldmark] [markup.goldmark.parser] # 控制是否开启相对文件链接自动解析,默认值为true,无需手动配置 resolveRelativeLinks = true [markup.goldmark.renderer] # 设为true时输出站点相对路径链接,设为false时输出绝对路径链接 relativeURLs = true特殊场景适配
- 如果你链接的是存放在内容目录下的图片、PDF等静态资源,Hugo同样会自动识别文件路径,转换为对应资源的发布访问路径,不会出现死链
- 如果你使用的是v0.62之前的旧版本Hugo,没有内置自动解析能力,可以用官方原生的
relref短代码实现相同效果,写法为[链接文本]({{< relref "path/to/your/file.md" >}}),缺点是迁移Jekyll内容时需要批量替换原有链接格式,建议直接升级Hugo版本使用原生解析能力。
内容的提问来源于stack exchange,提问作者farlee2121
相关产品推荐
相关产品推荐

