我创建了一个gh-pages
我正在 GitHub 上开发的一个项目的分支。
我使用 Sublime text 在本地创作网站,我的问题是,当将其推送到 GitHub 时,所有指向 javascrips、图像和 css 文件的链接都无效。
例如,我的头部有这个。
<link href="assets/css/common.css" rel="stylesheet">
这在本地工作得很好,但在 GitHub 上不起作用,因为无法使用存储库名称作为 URL 的一部分来解析链接。
它要求:
http://[user].github.io/assets/css/common.css
当它应该要求时:
http://[user].github.io/[repo]/assets/css/common.css.
我当然可以将存储库名称作为 URL 的一部分,但这会阻止我的网站在开发过程中在本地工作。
知道如何处理这个问题吗?
你需要使用杰基尔 https://help.github.com/articles/using-jekyll-with-pages.
逐字复制相关文件 http://jekyllrb.com/docs/github-pages/#project-page-url-structure:
有时,在推送 Jekyll 网站之前预览一下 Jekyll 网站是件好事。gh-pages
分支到 GitHub。然而,类似子目录的 URL
GitHub 用于项目页面的结构使正确的操作变得复杂
URL 的解析。这是使用 GitHub 的方法
项目页面 URL 结构 (username.github.io/project-name/
) 同时
保持在本地预览 Jekyll 站点的能力。
In _config.yml
,设置baseurl
选项/project-name
– 注意前导斜杠和尾部斜杠的缺失。
引用 JS 或 CSS 文件时,这样做:{{ site.baseurl}}/path/to/css.css
– 注意紧随其后的斜杠
变量(就在“path”之前)。
当做永久链接或内部链接时,这样做:{{ site.baseurl }}{{ post.url }}
– 请注意,之间没有斜杠
两个变量。
最后,如果您想在提交/部署之前预览您的网站,请使用jekyll serve
,一定要传递一个空的
字符串到--baseurl
选项,以便您可以查看所有内容localhost:4000
通常(开头不带 /project-name):jekyll serve --baseurl ''
这样您就可以从网站根目录本地预览您的网站
localhost,但是当 GitHub 从 localhost 生成您的页面时gh-pages
分支所有 URL 均以以下开头/project-name
并解决
适当地。
(显然有人发现了这一点就在几个月前 https://github.com/mojombo/jekyll/issues/332#issuecomment-18952908.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)