如果在_posts /目录中,则不会出现图像

时间:2016-11-25 07:38:30

标签: jekyll

如果保存在_posts/目录中,则图像不会出现在本地主机中,但如果存储在另一个目录中,则显示图像,例如posts/。有谁知道为什么?

.md档案:

![pressure plot]({{ site.baseurl }}/posts/fig/pressure-1.png)  # appears
![pressure plot]({{ site.baseurl }}/_posts/fig/pressure-1.png) # doesnt appear
来自.html文件的

.md文件:

<img src="/my-awesome-site/posts/fig/pressure-1.png" alt="pressure plot" />
<img src="/my-awesome-site/_posts/fig/pressure-1.png" alt="pressure plot" />

config_yml

baseurl: /my-awesome-site

jekyll serve _posts/后终端中的错误消息:

ERROR `/my-awesome-site/_posts/fig/pressure-1.png' not found.

错误中的路径实际上是正确的(是的,图像可以在_posts/fig/中找到,我通过保存在不同的目录中来测试),但不知何故,图像不会出现。谁能解释一下?

我认为所有这些都不能解释:OSFOSFOSFJekyll,除非我不理解这一切。

2 个答案:

答案 0 :(得分:2)

查看Jekyll's documentation_posts是&#34;保留&#34;之一目录,由Jekyll解析,格式为YEAR-MONTH-DAY-title.MARKUP的文件。除了特定的目录:

  

除上面列出的目录和文件外,其他每个目录和文件都将逐字复制到生成的网站。

因此,您的图片虽然存在于您的源代码中,但不会在生成的网站中复制(请参阅_site/的内容),因为它位于_posts目录中,而未使用想要的格式。

答案 1 :(得分:0)

我今天遇到了同样的问题。事实证明,有一个有用的插件可以解决此问题,称为jekyll-postfiles

Link to jekyll-postfiles

要安装jekyll postiles,请在您的GEMFILE中添加以下内容:

source 'https://rubygems.org'

gem 'jekyll'

group :jekyll_plugins do
  gem 'jekyll-postfiles'
end

然后运行bundle。就是这样!

假设您具有以下结构:

_posts
    |
    |--> folder_a
         |
         |--> year-month-date-filename1.md
         |--> picture.png
    |
    |--> folder_b
         |
         |--> year-month-date-filename2.md
         |--> another_picture.ong

然后在filename1.md中,您可以按以下方式调用图像:

<img src="picture1.png" width="700" height="500" class="center">

这是一种非常简洁的方法,而不仅仅是将图片放在单独的assets文件夹IMO中。

注意:Github Pages不支持此插件,请在https://netlify.com之类的支持第三方插件的服务上托管您的网站。