我是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
"代替。
答案 0 :(得分:9)
网页的网址取决于您的网址配置(通过https://gohugo.io/extras/permalinks/或直接设置为个人网页上的URL
)。
这通常与文件系统上的路径不同。
Hugo有一些帮助你的帮助函数,请参阅本文档中的ref
和relref
:
答案 1 :(得分:8)
此答案基于提供的answer 由bep。这个答案是正确的,但不是很明确(因为我花了很多时间阅读它,然后才找到解决方案的尝试)。
如前所述:
页面的URL取决于您的URL配置(通过https://gohugo.io/extras/permalinks/或直接设置为单个页面上的URL)。
您可以在降价标记内使用ref
和relref
标签 ,以便链接解析为正确的URL。
对于您的示例,这看起来像以下之一(取决于您要的是绝对URL还是相对URL):
[grid_modules] ( {{< relref "modules/grid_modules" >}})
[grid_modules] ( {{< ref "modules/grid_modules" >}})
答案 2 :(得分:0)
我遇到了同样的问题,并找到了以下更简单的解决方案。从content /下的页面以[text](/url/path)
形式指定url时,/ url / path根目录实际上是content /(或渲染站点中的public /)。因此,要从“〜/ mysite / content / about / feature.md”链接到“〜/ mysite / content / modules / grid_modules.md”,您只需在“ feature.md”中编写
[grid_modules](/modules/grid_modules)