2017-06-02 48 views
2

我在我的Jekyll项目中有一个_includes目录,该目录中的一个.html文件需要引用_includes以外的图标目录中的图像,例如,Jekyll - “包含”参考文件不在外面“_includes”目录

{% include img/icons/facebook.svg %} 

Jekyll无法编译,表示找不到目录。我可以将这些图像添加到_includes目录,但我宁愿不可能。有谁知道这是否可以做到?

谢谢!

回答

2

要包括内部的图像包括,大家可以参考一下他们​​直接与HTML,没有必要利用include标签的,所以在include代码,你只需使用:

<img src="/img/icons/facebook.svg"> 

,或者你想有一个完整的路径:

<img src={{"/img/icons/facebook.svg"|absolute_url}}> 

更新这里

问题是在include标签的使用,它的目的是:

包括从另一个文件

不包括文件的内容。

+0

这是一个很好的观点。我只是看到,如果另一种方式有限制,但我总是可以回退到使用实际的HTML元素。 –

+0

更新了答案! – marcanuy

+0

bulletproof:'' –

1

我实际上把我的SVG文件放到_include/svg文件夹中以实现你想要的。在这种情况下,您可以节省一些HTTP请求,这些请求会显着加速您的网站(至少我的页面速度值非常棒)。

很遗憾,使用更新的Jekyll版本不再需要将其包含到include文件夹中。

您可以使用include_relative标签:

{% include_relative svgs/facebook.svg %} 

文档说:

...列入特别是相对于其中所使用的标签是 文件。例如,如果_posts/2014-09-03-my-file.markdown使用include_relative标记 ,则包含的文件必须位于_posts 目录或其子目录之一中。

不幸的是,你不能使用..运算符来移除_posts。对我来说这是一个严重的缺点。但是如果你在布局中使用它,它可能适合你。

Here are the docs