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

时间:2016-02-24 04:24:24

标签: jekyll github-pages

我是第一次在Jekyll上创建一个博客,而我正试图将我目前为止的内容部署到github页面。当我在本地服务并在本地查看它时,它看起来很好 - 所以我认为我所要做的就是将所有文件推送到gh-pages分支。现在我已经完成了这一切,所有显示的都是HTML。

要进行故障排除,我只下载了模板文件并将其推送到Github页面以查看问题是否与我编辑CSS的方式有关,但是当我这样做时,我得到了相同的结果。

我偶然发现了一篇专门介绍如何使用github页面存储jekyll网站的文章,如果你的网页没有设置样式,它会在HTML上的链接样式表中的css文件夹之前删除斜杠正确。读完之后我认为斜线肯定是问题,但在删除斜线后...我得到了相同的结果。

我已经尝试了几个小时,我觉得它可能非常简单(例如斜线)。

这是回购: https://github.com/pacalabre/blog-site/tree/gh-pages

这是输出: http://pacalabre.github.io/blog-site/

提前感谢您的任何答案!

2 个答案:

答案 0 :(得分:1)

您需要添加/编辑: baseurl: /blog-site 到配置文件。请注意,没有斜杠。 'blog-site'是项目的名称,项目名称将成为为您的站点提供服务的子目录。如果没有baseurl设置,您的相对网址会在http://pacalabre.github.io/时尝试从http://pacalabre.github.io/blog-site/获取内容。

GH作为域名的子文件夹为您的网站提供服务,而您的参考资料并没有考虑到这一点。

添加baseurl设置后,您需要在资源前面添加{{site.baseurl}},例如images,css和js。

此外,一旦你进行了baseurl设置,当你在本地服务时它就不太正确了,你需要将/ blog-site添加到localhost url的末尾才能正常工作。

您还应该尝试使用Chrome中的开发工具检查器来帮助您进行故障排除,它现在会清楚地告诉您它无法加载您的所有js文件或图像,并且它会显示它尝试加载它们的位置。

答案 1 :(得分:0)

看,您的网站/回购存在问题。

  1. 我在网站根目录_config.yml分支机构找不到您的gh-pages。它应该在那里。

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

  3. 这里有两个Jekyll的文件夹(_posts_drafts_layouts等)和_site文件夹。你需要选择。或者您上传_site内容(不是文件夹本身)或上传Jekyll项目。通常你只上传Jekyll文件夹和GH为你构建网站,除非你使用一些GitHub不允许的插件。在这种情况下,您只上传_site内容,即已编译的网站(仅限html,CSS,仅限js)。

  4. 在上一个答案中,系统已指示您向站点配置添加baseurl。这是最好的方法,但如果您的模板仅使用url并且甚至没有提及baseurl,那么最好的方法是将项目名称添加到{{1}的末尾,而不是搜索通过液体调用url的每个链接。所以,不要给自己带来这些麻烦,最好在{{ site.baseurl }}

    中做到这一点
    _config.yml
  5. 如果您确实要设置url: http://username.github.io/projectname ,则可以通过{JERyll:baseurl添加此标记,通过localhost:4000在本地查看您的网站。所以,--baseurl ""。这意味着" Jekyll,忽略配置中的baseurl"。知道了吗?

  6. 使用捆绑器为Jekyll提供服务是正确的方法,特别是在部署到GH页面时。但这是另一个故事,如果您有兴趣,我可以稍后添加评论。

  7. 建议。阅读更多关于Jekyll如何工作的内容。同时查找jekyll serve --watch --baseurl "",这样您就不会上传任何不必要的东西(比如二进制文件)。

  8. 之后,如果您的网站没有正确构建或显示,请告诉我,如果您愿意,我会帮助您。

    希望有所帮助!