在子目录中使用Github页面和Jekyll

时间:2013-12-26 10:41:44

标签: github jekyll github-pages

我最近想在Github页面上发布我的Jekyll网站,但似乎将所有内容放在子目录中会产生一些问题,即使我将source更改为正确的目录也是如此。

我的结构如下:

- site
   - src (contains all Jekyll stuff)
   - README.md
   - GruntFile.js
   - ...

本地我的网站构建完美,当我去http://localhost:4040时,我可以很好地看到它,但当我将其提交给我的Github并访问username.github.io时,如果我去{username.github.io/src我会得到404 {1}}我可以看到我网站的一部分,但忽略了所有{% include %}

在我的_config.yml我更新了来源:source: ./src,但这似乎没有帮助。

有没有办法让Github Pages正确处理子目录?基本上我想告诉我,我的Jekyll网站位于/src内,我希望网址只有username.github.io而不是username.github.io/src

我知道我可以使用pages分支并提交到那里,但我更愿意,如果它可以自动发生。

2 个答案:

答案 0 :(得分:4)

如果它对任何人有帮助,我试图从一个子目录(并修改source)在GH页面上运行Jekyll,并且在这些错误中撞到了我的头:

  

subdir/index.html中包含的文件是符号链接,或者在_includes目录中不存在。有关详细信息,请参阅https://help.github.com/articles/page-build-failed-file-is-a-symlink

经过多次搜索,最终的答案就在docs

  

配置覆盖

     

我们覆盖您无法使用的以下_config.yml值   配置:

safe: true
lsi: false
source: your top-level directory
     

请注意,如果您更改source设置,则您的网页可能不会   正确构建。 GitHub Pages只考虑中的源文件   存储库的顶级目录。

答案 1 :(得分:1)

我联系Github支持,他们给了我2个解决方案。

  1. 将我的所有Jekyll源文件移至我的顶级目录。
  2. 使用其他分支并每次手动更新。