2015-10-20 52 views
1

我在杰基尔配置中创建自定义集合:包括在杰基尔降价采集图像,

collections: 
    tutorials: 
    output: true 
    permalink: /tutorials/:path/ 

我与路径的降价文件:_tutorial/category/ios.md 我也有一个形象的路径:_tutorial/category/xcode.png

ios.md我用: ![xcode](xcode.png)

这将使意义,因为他们是在同一个目录。

在生成_site文件夹,我看到

tutorial/ 
    category/ 
    xcode.png 
    ios/ 
     index.html 

所以,很显然生成的HTML是看错了地方的形象,因为他们是在同一目录中不再。

我想改变我的结构,让我的减价文件是_tutorial/category/ios/index.md,但它所做的只是创建一个名为index的文件夹,所以问题是一样的。

在Jekyll/Markdown中包含图像的预期方式是什么?

我应该把它们全部放在网站根目录的文件夹中吗?这显然会工作,但它使得它很难跟踪哪些图像与每个职位相关的...

+0

它工作,如果你有ios.md和ios/xcode.png? – approxiblue

+0

好主意,似乎工作。有点违反直觉,也不自然......我的另一个解决方法是使用'![xcode](../ xcode.png)''。但我想知道最佳做法是什么。 –

+0

最佳实践最有可能将图像保存在文档中提到的one/assets文件夹中。您可以以对您有意义的方式组织您的网站。我在与他们的页面相同的文件夹中有图像,并且我没有遇到这个问题,因为我使用了.html页面(在这种情况下,Jekyll不会自动创建文件夹+ index.html)。 – approxiblue

回答

1

因为您的收藏有以斜线结尾的永久链接:

permalink: /tutorials/:path/ 

杰奇将把你降价文件到一个index.html文件,以使链接很漂亮。所以ios.md变成ios/index.html

您可以通过使用带扩展名的链接完全避免此问题。这是the default option。注意有没有尾随斜线:

permalink: /tutorials/:path 

如果你仍然想免费推广链接,那么对于相对图像路径的工作,你可以移动的降价一个目录:

ios.md 
ios/ 
    xcode.png 

或将图像路径更改为![xcode](../xcode.png)。这两种方法都不符合直觉。