如果保存在_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/
中找到,我通过保存在不同的目录中来测试),但不知何故,图像不会出现。谁能解释一下?
答案 0 :(得分:2)
查看Jekyll's documentation,_posts
是&#34;保留&#34;之一目录,由Jekyll解析,格式为YEAR-MONTH-DAY-title.MARKUP
的文件。除了特定的目录:
除上面列出的目录和文件外,其他每个目录和文件都将逐字复制到生成的网站。
因此,您的图片虽然存在于您的源代码中,但不会在生成的网站中复制(请参阅_site/
的内容),因为它位于_posts
目录中,而未使用想要的格式。
答案 1 :(得分:0)
我今天遇到了同样的问题。事实证明,有一个有用的插件可以解决此问题,称为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之类的支持第三方插件的服务上托管您的网站。