不能链接到静态文件雨果
问题描述:
我有这样的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
一部分,为什么我需要再次输入呢?
答
我认为你应该使用<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" }}
不知道雨果如何处理链接的标记,所以只是一个想法:你有没有尝试'/img/foo.png '? – unor
@unor呈现为'',即'http:// localhost:1313/img/hireme.png' :( –