【问题标题】:Using Github pages with Jekyll in a subdirectory在子目录中使用带有 Jekyll 的 Github 页面
【发布时间】:2014-01-14 00:36:29
【问题描述】:

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

我的结构是这样的:

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

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

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

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

我知道我可以使用 pages 分支并提交到那里,但我希望它可以自动发生。

【问题讨论】:

    标签: github jekyll github-pages


    【解决方案1】:

    如果它对任何人有帮助,我尝试在 GH Pages 上从一个子目录运行 Jekyll(并修改了 source),并且因为这些错误而将我的头撞到墙上:

    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 只考虑源文件 存储库的顶级目录。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • mgp 问:Woutr_be,感谢您的回答。我也有同样的问题。我理解第 1 点,但您能详细说明第 2 点吗?或者指向我更多信息?感谢您的帮助!
      • @Alice,基本上 Github 允许您创建一个名为 gh-pages 的分支,如果存在,它将使用这些文件作为您的 Github 页面。因此,当使用不同的结构时,您可以手动将编译好的 Jekyll 站点推送到该分支。当然这有点麻烦。
      猜你喜欢
      • 2017-10-28
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 2013-06-26
      • 1970-01-01
      • 2017-11-12
      相关资源
      最近更新 更多