16

我是 HUGO ( http://gohugo.io/ ) 静态站点生成器的新手。我在本地运行 Hugo 服务器,可作为 localhost:1313 访问。我正在尝试链接两个不同部分的页面。我的“ feature.md”文件需要指向“ grid_modules.md”的链接,反之亦然。以下是 hugo 生成站点中两个文件的目录结构。

~/mysite/content/about/feature.md

~/mysite/content/modules/grid_modules.md

将两个页面链接在一起的最佳方式是什么?我正在尝试的是以下

feature.md

" [grid_modules] (../modules/grid_modules)"

如果我尝试访问此链接,我会在“ localhost:1313/about/modules/grid_modules”处收到错误,我知道这是错误的位置。

我在链接中缺少什么?为什么我没有得到“ localhost:1313/modules/grid_modules”。

4

3 回答 3

15

该答案建立在bep提供的答案之上。这个答案是正确的,但不是很清楚(因为在我找到解决方案之前,我花了很多次阅读它并尝试了不同的东西)。

如前所述:

页面的 URL 取决于您的 URL 配置(通过https://gohugo.io/extras/permalinks/或直接设置为单个页面上的 URL)。

您可以在降价ref中使用andrelref标记,以便链接解析为正确的 URL。

对于您的示例,这将类似于以下内容之一(取决于您需要绝对 URL 还是相对 URL):

[grid_modules] ( {{< relref "modules/grid_modules" >}})
[grid_modules] ( {{< ref "modules/grid_modules" >}})
于 2018-10-04T15:46:07.183 回答
8

页面的 URL 取决于您的 URL 配置(通过https://gohugo.io/extras/permalinks/或直接设置为URL单个页面上的 )。

这通常与文件系统上的路径不同。

Hugo 有一些辅助函数可以帮助你,请参阅refrelref文档:

https://gohugo.io/extras/crossreferences/

于 2015-10-20T07:55:43.427 回答
6

我遇到了同样的问题,并找到了以下更简单的解决方案。当从 content/ 下的页面在表单中指定 url 时[text](/url/path),/url/path 根实际上是 content/(或呈现站点中的 public/)。因此,要从“~/mysite/content/about/feature.md”中链接到“~/mysite/content/modules/grid_modules.md”,您只需在“feature.md”中写入

[grid_modules](/modules/grid_modules)
于 2019-10-12T13:22:31.160 回答