Jekyll在Github页面上无法显示图片且链接已损坏。

7
我正在尝试将我的Jekyll博客托管在Github Pages上。 博客目前可以在这里找到。
正如你所看到的,图片丢失了,当你点击博客文章时,会显示404错误。如何解决呢?这是我的公共博客代码库链接,以下是我的_config.yml文件:
# Build settings
markdown: redcarpet
highlighter: pygments

# Site settings
title: "Sam Yonski"
description: > # this means to ignore newlines until "email:"
Reading and writing...
email: sam.yonski@gmail.com

#blog logo
logo: "/assets/images/sam_yonski_logo.png"

# blog cover
cover: "/assets/images/cA4aKEIPQrerBnp1yGHv_IMG_9534-3-2.jpg"

name: 'Sam Yonski'
author: 'Sam Yonski'
author_image: "/assets/images/author.jpg"
paginate:   5

url: "https://ofcan.github.io" # the base hostname & protocol for your site
baseurl: "/sam_yonski"
2个回答

21
在 _config.yml 中设置 baseurl: /sam_yonski,并使用以下方式调用资源:
<link rel="stylesheet" href="{{ site.baseurl }}/css/css.css">
<script src="{{ site.baseurl }}/js/scripts.js"></script>
<img src="{{ site.baseurl }}/path/to/img/toto.jpg">
<a href="{{ site.baseurl }}/linkto/">Link</a>

可在此处查看 Jekyll 文档


2
这很准确,但最好还要包括一些关于为什么这是解决方案的额外上下文,例如 GH 页面路径包括项目名称。这个答案是一个很好的参考:链接 - Nick Tomlin
真正的解决方案是人们要好好阅读文档。我的回答很简短,因为我有点厌倦了一遍又一遍地回答相同的问题 - David Jacquel
8
我也遇到了这个问题,看起来手册可能需要更清晰一些,因为我读了它还是浪费了一些时间。不过还是给你点赞,因为你的回答(在多个问题上)给了我极好的指导,让我成功地配置并运行了Jekyll。 - David
我正准备离开Jekyll,幸运的是我找到了这个。谢谢。 - ShankPossible
我尝试了几乎所有的方法,只有加入 {{ site.baseurl }} 才起到了作用。 - ShifraSec

0

对我来说,我从本地使用.nojekyll构建网站,到在Github Pages上进行推送构建。这破坏了我的一些图片。最终有效的方法是将文件重命名、推送、再将文件重新命名并推送。

例如,如果this-image-is-broken.jpg无法显示。

  1. this-image-is-broken.jpg文件名更改为this-image-is-broken1.jpg
  2. 推送到Github。
  3. this-image-is-broken1.jpg文件名改回this-image-is-broken.jpg
  4. 推送到Github。

应该就可以解决问题了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接