发布到具有子文件夹的域时生成的链接在 Hugo/Blogdown 中损坏
Generated links broken in Hugo/Blogdown when publishing to domain with subfolder
我正在尝试使用 Hugo Xmin 创建静态站点。我的站点将托管在我存储库的 gh-pages 中,因此最终的 URL 将如下所示:
https://myuser.github.io/myrepo/
注意在我目前的阶段,我还没有修改示例站点中随主题一起出现的任何文件,所以基本上我正在部署的站点完全相同在原始存储库中。
问题一
在我的config.toml
中我设置了:
baseurl = "https://myuser.github.io/myrepo/"
因为 baseurl = "/"
我指向 <head>
中的静态 CSS 文件的链接不起作用,网站看起来很乱。通过指定基础 url,CSS 可以很好地加载,但是顶部栏链接会被破坏,因为这是生成的:
<li>
<a href="/myproj/myproj/about/">About</a>
</li>
为什么生成的 URL 看起来很奇怪?存储库名称重复。
问题二
主题示例站点,在 /content/_index.Rmarkdown
末尾有几个链接:
You can also visit the list page of a single section, e.g., [posts](/post/), or [notes](/note/). See the [About](/about/) page for more info.
这些在我的情况下不起作用,因为生成的 URL 是:
<a href="/post/">posts</a>
这会将用户重定向到:https://myuser.github.io/post/
这是错误的。当托管域有子文件夹时,基本上这个主题不起作用。或者我在这里遗漏了什么?
疑难解答
通过稍微调查一下,我可以看到主题定义了如下链接:
<ul class="menu">
{{ range .Site.Menus.main }}
<li><a href="{{ .URL | relURL }}">{{ .Name }}</a></li>
{{ end }}
</ul>
函数 relURL
获取主机名后的内容并在生成的 URL 中将其吐出两次 :(
relURL
的行为似乎自某个版本的 Hugo(我不知道是哪个)以来发生了变化。无论如何,您可以删除这些菜单项中的前导斜线,例如 change
[[menu.main]]
name = "About"
url = "/about/"
至
[[menu.main]]
name = "About"
url = "about/"
我正在尝试使用 Hugo Xmin 创建静态站点。我的站点将托管在我存储库的 gh-pages 中,因此最终的 URL 将如下所示:
https://myuser.github.io/myrepo/
注意在我目前的阶段,我还没有修改示例站点中随主题一起出现的任何文件,所以基本上我正在部署的站点完全相同在原始存储库中。
问题一
在我的config.toml
中我设置了:
baseurl = "https://myuser.github.io/myrepo/"
因为 baseurl = "/"
我指向 <head>
中的静态 CSS 文件的链接不起作用,网站看起来很乱。通过指定基础 url,CSS 可以很好地加载,但是顶部栏链接会被破坏,因为这是生成的:
<li>
<a href="/myproj/myproj/about/">About</a>
</li>
为什么生成的 URL 看起来很奇怪?存储库名称重复。
问题二
主题示例站点,在 /content/_index.Rmarkdown
末尾有几个链接:
You can also visit the list page of a single section, e.g., [posts](/post/), or [notes](/note/). See the [About](/about/) page for more info.
这些在我的情况下不起作用,因为生成的 URL 是:
<a href="/post/">posts</a>
这会将用户重定向到:https://myuser.github.io/post/
这是错误的。当托管域有子文件夹时,基本上这个主题不起作用。或者我在这里遗漏了什么?
疑难解答
通过稍微调查一下,我可以看到主题定义了如下链接:
<ul class="menu">
{{ range .Site.Menus.main }}
<li><a href="{{ .URL | relURL }}">{{ .Name }}</a></li>
{{ end }}
</ul>
函数 relURL
获取主机名后的内容并在生成的 URL 中将其吐出两次 :(
relURL
的行为似乎自某个版本的 Hugo(我不知道是哪个)以来发生了变化。无论如何,您可以删除这些菜单项中的前导斜线,例如 change
[[menu.main]]
name = "About"
url = "/about/"
至
[[menu.main]]
name = "About"
url = "about/"