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

What is correct way to include images on GitHub Pages?

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

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

<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 页面上包含图像的正确方法是什么?为什么相对链接实际上不起作用?存储库是私有的还是 Public 重要吗?

我的页面地址是here and the repository is located here

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

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

使用 github 页 gem

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

     $ bundle init

Gemfile中:

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

安装正确的 Jekyll 版本:

$ bundle install

然后总是 运行 jekyll 与 bundle:

$ bundle exec jekyll serve

添加url

_config.yml中:

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

图片文件夹

图片不应该在 _posts 文件夹中,它们应该在根目录:

/images

引用图片

在帖子中使用上面的 url 配置,因此在开发时它将替换为 localhost,在生产中将替换为您的 Github 页面站点 url {{site.url}}/images/equation-1.gif:

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