31

我创建了一个网站,并试图将其托管在 git hub 页面上。我的网站可在 -

http://<username>.github.io/<project name>/

但是我的站点的静态文件可在以下路径中找到 -

http://<username>.github.io/css/site.css
http://<username>.github.io/script/main.js

上面的路径省略了<project name>

因此,每当我点击 url 时,我的静态文件都不会加载。

有没有办法让它与 github url 一起工作?

注意:当我使用自定义域时,一切正常,因为在这种情况下相对路径很好。

临时解决方案 我创建了一个用户页面而不是项目页面来解决这个问题。

4

3 回答 3

29

另一种选择是将文件包含.nojekyll在您的顶级目录中,该目录告诉 github 只为您的页面提供服务而不试图破坏它们(如果您尝试从不需要更多解析的 sphinx 发布输出,这很有用/修改/重写)。

相关链接

于 2014-06-06T18:42:21.633 回答
15

文档设置自定义域

警告:像 http://username.github.io/projectname这样的项目页面子路径不会被重定向到项目的自定义域。

这意味着由于相对路径,您可以在您的username.github.io/project-name 您的自定义域上拥有资产。

如果您希望它们在 github 中,请检查文档中有关baseurl配置的内容,它位于页面底部的“项目 URL 结构”中。很简单,你只需要添加一个

baseurl: /project-name

排到你的_config.yml并在你的永久链接中使用{{ baseurl }}标签,jekyll 会做替换。要在本地测试它,只需使用此选项运行服务器

jekyll serve --baseurl ''

希望它有所帮助:) 快乐编码!

于 2013-08-28T08:03:50.963 回答
0

如果您的项目是使用Create React App 创建homepage的 React 应用程序,请在您的 中设置package.json,例如:

"homepage": "/<project name>",

如果您不使用客户端路由,请使用以下命令:

"homepage": ".",

请参阅https://create-react-app.dev/docs/deployment/#building-for-relative-paths

于 2020-09-28T11:24:50.790 回答