在GitHub Pages上包含图像的正确方法是什么?

时间:2018-12-21 11:46:32

标签: html github jekyll github-pages

免责声明:我已经搜索了SO,并发现了类似的问题(例如:URL),主要是建议注意名称的大小写差异,但它们并没有解决我的问题。 / em>

前一段时间,我创建了一个GitHub页面,写了我的第一篇文章,并在其中包含了一些图片。推荐的包含图像的方法是相对链接,例如:

<img src="./images/equation-1.gif" style="display: block; margin: auto;" />

但是,这样,图像仅显示在GitHub存储库中,而不显示在GitHub页面上。因此,我已将它们替换为指向GitHub存储库中图像的直接链接,如下所示:

<img src="https://github.com/KubaMichalczyk/kubamichalczyk.github.io/raw/master/_posts/images/equation-1.gif" style="display: block; margin: auto;" />

它奏效了。但是,只是乍一看,几天后所有链接都崩溃了。从那时起,这些图像大部分时间都会显示,但有时链接会断开。不幸的是,我不知道为什么会这样,我想一劳永逸地修复它。因此,我的问题是在GitHub页面上包含图像的正确方法是什么?为什么相对链接实际上不起作用?存储库是私有还是公共关系不重要?

我页面的地址为here,存储库位于here

1 个答案:

答案 0 :(得分:0)

根据您的域kubamichalczyk.github.io,您正在使用用户和组织页面网站

执行此操作的正确方法包括使用产品 url url添加_config.yml配置,并在加载图像时在模板中使用该密钥。

使用github页面gem

确保您使用Github页面gem与生产环境保持同步,并且不依赖于本地配置

     $ bundle init

Gemfile中:

source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins

安装正确的Jekyll版本:

$ bundle install

然后总是用bundle运行jekyll:

$ bundle exec jekyll serve

添加网址

_config.yml中:

url: https://kubamichalczyk.github.io/

图片文件夹

图片不应位于_posts文件夹中,而应位于根目录:

/images

参考图片

在帖子中,请使用上面的url配置,以便在开发时将其替换为localhost,并在生产环境{{site.url}}/images/equation-1.gif中将其替换为Github页面的网站网址:

<img src="{{site.url}}/images/equation-1.gif" style="display: block; margin: auto;" />