【问题标题】:Correctly hosting Jekyll website on Git Pages在 Git Pages 上正确托管 Jekyll 网站
【发布时间】:2013-08-17 22:25:21
【问题描述】:

我很绝望。我的任务是使用“项目”选项(而不是用户选项)将使用Jekyll 生成的静态网站部署到GitHub Pages 中。

不知何故,当我使用 Jekyll 检查我机器中的网站时,一切正常。但是一旦我将它部署到 Git Pages,我所有的 CSS 文件都停止工作,并且每个链接都会导致 404 not found 错误。

我遵循了几个指南和教程,但都失败了:

到目前为止,我总是创建存储库、分支,并且总是推送所有内容。我不认为错误出在部署中,而是在其他地方。

我的仓库可以在这里找到:

对于那些想知道的人,到目前为止,存储库只是一个教程的结果: - AndrewMunssel tutorial

我也测试过其他教程,但我总是遇到问题。我的代码错了吗?我遵循的教程是否已过时且不正确?我该怎么办?

【问题讨论】:

    标签: deployment github web jekyll


    【解决方案1】:

    您网站上的所有内容都位于域外的子目录中,因此可以在此处访问主站点

    http://fl4m3ph03n1x.github.io/web-tutorials/

    模板指向域根目录上的目录,因此它试图从http://fl4m3ph03n1x.github.io/assets 加载您的样式表,而不是它们所在的位置http://fl4m3ph03n1x.github.io/web-tutorials/assets/ 您的帖子也会发生同样的事情。

    您需要做的是在您的_config.yml 中设置baseurl

    baseurl: /web-tutorials
    

    然后您需要修改模板,以便 CSS 和 JS 的路径使用以下约定

    {{ site.baseurl }}/path/to/css.css
    

    对于帖子链接

    {{ site.baseurl }}{{ post.url }}
    

    您还需要更新_config.yml 中的site 设置

    【讨论】:

    • 您是指“站点来源”还是“站点目标”?我在这里找不到变量“站点”:jekyllrb.com/docs/configuration
    • 另外,通过进行这些更改,我似乎失去了使用 jekyll serve --watch 在本地测试网站的能力。有没有办法避免这种情况?
    • 我想出了一种在本地机器上开发的方法。我所要做的就是手动设置baseurl: /。然后,在将其推送到 Git Pages 之前,我将该属性更新为 baseurl: /projectName/ 并推送项目。感谢您的帮助和提示!不过,我仍然不明白您对 _config-yml 文件的建议。
    • 抱歉是指url in _config.yml
    • 尝试将其更改为url: "http://fl4m3ph03n1x.github.io"。这仅适用于 GitHub 上的_config.yml,您的本地副本应该更改。
    猜你喜欢
    • 2018-11-08
    • 1970-01-01
    • 2017-05-20
    • 2018-11-06
    • 2018-05-13
    • 1970-01-01
    • 2021-10-29
    • 2020-09-08
    • 1970-01-01
    相关资源
    最近更新 更多