无法使用 Hugo 链接到静态文件

nal*_*zok 3 url templates static-files content-management-system hugo

我有这个config.toml

baseURL = "https://my-username.github.io/blog/"
Run Code Online (Sandbox Code Playgroud)

并且有一个静态文件在static/img/foo.png.

现在,在content/posts/bar.md,我有以下内容:

---
title: "Bar"
---

![foo](img/foo.png)
Run Code Online (Sandbox Code Playgroud)

启动后图片没有显示hugo server,所以我检查了元素,发现 Hugo 为它生成了以下 URL:

http://localhost:1313/blog/posts/bar/img/hireme.png
Run Code Online (Sandbox Code Playgroud)

这不是我所期望的;它应该是

http://localhost:1313/blog/img/hireme.png
Run Code Online (Sandbox Code Playgroud)

当我使用 时![foo](/blog/img/foo.png),图片显示正确,但是这很奇怪:/blog/是 的一部分baseURL,为什么我需要再次输入?

Dia*_*ian 8

我认为您应该使用<base>标记为静态文件制作 baseURL。

<base>标签添加到<head>

<base href="{{ .Site.BaseURL }}">
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样在帖子中插入图片:

![Foo image](img/foo.jpg)
Run Code Online (Sandbox Code Playgroud)

参考:

  • 这是**非常**危险的,因为它会破坏任何与*页面*相关的链接,而不是与网站的*基本URL*相关的链接。我建议永远不要使用 &lt;base&gt; 标签,因为它会让调试成为一场噩梦(特别是一段时间后,当你忘记使用这个标签时)...... (2认同)