我的Jekyll项目中有一个_includes
目录,该目录中的一个.html文件需要引用_includes
之外的图标目录中的图像,例如
{% include img/icons/facebook.svg %}
Jekyll无法编译,表明找不到该目录。我可以将图像添加到_includes
目录中,但如果可能,我宁愿不这样做。有谁知道这是否可以做到?
谢谢!
答案 0 :(得分:2)
要在include中包含图片,我们可以直接使用HTML引用它们,不需要使用include
标记,因此您只需使用include
代码:
<img src="/img/icons/facebook.svg">
或者如果你想要一个完整的路径:
<img src={{"/img/icons/facebook.svg"|absolute_url}}>
问题在于include
标记用法,它的意思是:
包含其他文件中的内容
不包含文件。
答案 1 :(得分:2)
我实际上将我的SVG文件放到_include / svg文件夹中以实现您想要的效果。在这种情况下,您可以保存几个HTTP请求,从而显着提高您的网站速度(至少我的网页速度值非常棒)。
令人遗憾的是,对于较新的Jekyll版本,您不再需要将include包含在include文件夹中。
您可以使用include_relative标记:
{% include_relative svgs/facebook.svg %}
文档说:
...包含特别是与标签所在的文件相关 正在使用。例如,如果_posts / 2014-09-03-my-file.markdown使用 include_relative标记,包含的文件必须在_posts中 目录或其子目录之一。
不幸的是,您无法使用..运算符,即移出_posts。对我来说这是一个严重的缺点。但如果你在布局中使用它,它可能适合你。