2017-06-02 76 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