为什么在我将我的更改从Jekyll推送到Github页面后,只显示HTML?

为什么在我将我的更改从Jekyll推送到Github页面后,只显示HTML?,jekyll,github-pages,Jekyll,Github Pages,我第一次在Jekyll上创建了一个博客,我正试图将我目前拥有的东西部署到github页面。当我为网站提供服务并在本地查看时,它看起来很好——因此我认为我所要做的就是将所有文件推送到gh pages分支。现在我已经完成了这项工作,所显示的只是HTML 为了解决问题,我只下载了模板文件,并将它们推送到Github页面,以查看问题是否与我如何编辑CSS有关,但当我这样做时,我得到了相同的结果 我读过一篇文章,专门讨论如何使用github页面存储jekyll站点,文章说如果页面的样式不正确,请删除HTM

我第一次在Jekyll上创建了一个博客,我正试图将我目前拥有的东西部署到github页面。当我为网站提供服务并在本地查看时,它看起来很好——因此我认为我所要做的就是将所有文件推送到gh pages分支。现在我已经完成了这项工作,所显示的只是HTML

为了解决问题,我只下载了模板文件,并将它们推送到Github页面,以查看问题是否与我如何编辑CSS有关,但当我这样做时,我得到了相同的结果

我读过一篇文章,专门讨论如何使用github页面存储jekyll站点,文章说如果页面的样式不正确,请删除HTML链接样式表中css文件夹前的斜杠。在读了这篇文章之后,我认为斜杠肯定是问题所在,但是在删除斜杠之后。。。我得到了同样的结果

我已经试了几个小时了,我觉得它可能很简单(比如斜杠)

以下是回购协议:

以下是输出:

提前感谢您的回答

您需要添加/编辑:
baseurl:/blog站点
到配置文件。请注意,没有尾随斜杠。”blog site'是项目的名称,项目名称将成为为您的网站服务的子目录。如果没有baseurl设置,您的相对URL将尝试从实际位置获取内容

GH将您的站点作为域的子文件夹提供服务,而您的引用没有考虑到这一点

添加baseurl设置后,需要在图像、css和js等资产前面添加{{site.baseurl}}

此外,一旦您执行了baseurl设置,当您在本地提供服务时,它将不太正确,您需要将/blog站点添加到localhost url的末尾,以使其正常工作


您还应该尝试使用Chrome中的dev tools inspector来帮助您进行故障排除,它现在会清楚地告诉您它无法加载所有js文件或图像,并且会显示它试图从何处加载这些文件或图像。

看,您的站点/repo有问题

  • 我在站点根目录(
    gh页面
    分支)中没有找到您的
    \u config.yml
    。它应该在那里

  • 那里有一个二进制文件(如果我没弄错的话,可能是Mac的文件)。它不应该在那里

  • 这里既有Jekyll的文件夹(
    \u posts
    \u drafts
    \u layouts
    ,等等)也有
    \u site
    文件夹。你需要选择。或者您上传
    \u站点
    内容(而不是文件夹本身),或者您上传Jekyll项目。通常你只上传Jekyll文件夹并为你构建网站,除非你使用一些GitHub不允许的插件。在本例中,您只上载
    \u站点
    内容,这是已编译的站点(仅限html、CSS和js)

  • 在上一个答案中,指示您向站点配置添加
    baseurl
    。这是最好的方法,但是如果模板只使用
    url
    ,甚至没有提到
    baseurl
    ,那么最好的方法是将项目名称添加到
    url
    的末尾,而不是通过liquid搜索调用
    {site.baseurl}
    的每个链接。因此,与其给自己带来这些麻烦,不如在
    \u config.yml
    中这样做:

    url: http://username.github.io/projectname
    
  • 如果您确实要设置
    baseurl
    ,您可以通过
    localhost:4000
    本地查看您的站点,方法是在为Jekyll:
    --baseurl”“
    提供服务时添加此标志。所以,
    jekyll-service--watch--baseurl”“
    。这意味着“Jekyll,忽略配置中设置的baseurl”。明白了吗

  • 使用bundler为Jekyll提供服务是正确的方法,特别是在部署到GH页面时。但这是另一个故事,如果你感兴趣的话,我可以稍后再加上评论

  • 建议。多读一点关于杰基尔是如何工作的。还要查找
    .gitignore
    ,这样您就不会将任何不必要的东西(如二进制文件)上传到GH

  • 在那之后,如果你的网站不能正确构建或显示,请告诉我,如果你愿意,我会帮助你

    希望有帮助