不能链接到静态文件雨果

问题描述:

我有这样的config.toml不能链接到静态文件雨果

baseURL = "https://my-username.github.io/blog/" 

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

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

--- 
title: "Bar" 
--- 

![foo](img/foo.png) 

图片不显示我开始hugo server后,让我检查的元素,并且发现了雨果产生以下网址吧:

http://localhost:1313/blog/posts/bar/img/hireme.png 

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

http://localhost:1313/blog/img/hireme.png 

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

+0

不知道雨果如何处理链接的标记,所以只是一个想法:你有没有尝试'/img/foo.png '? – unor

+1

@unor呈现为'foo',即'http:// localhost:1313/img/hireme.png' :( –

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

添加<base>标签为<head>

<base href="{{ .Site.BaseURL }}"> 

然后你就可以像这样在后期插入图片:

![Foo image](img/foo.jpg) 

参考文献:

在一个简单的设置,将您的网站居住在域的根,一个绝对的参考图像将是一个标准的做法。但是,在您的情况下,网站是嵌套的,更狡猾的解决方案是必要的。

我建议使用简码解决你的困境。只需简单地创建一个接收资源文件路径的短代码,并且每次都会吐出所需的绝对路径。例如,这种方法的优点是可以将未来资源重定位到cdn。

你降价的代码将是这样的: ![foo]({{< resource url="img/foo.png" >}})

你的简码的模板将是这样的: {{ .Site.BaseURL }}{{ .Get "url" }}

创建一个名为“resource.html”文件“的布局/简码/”文件夹,然后放入上面的简码模板代码。

所以,当你决定要切换到一个CDN,你可以很容易地做到这一点: ://cdn.example.com/{{ .Get "url" }}