gh-pages在搜索资源时忽略项目目录?

时间:2015-09-11 18:05:32

标签: javascript html css resources github-pages

我有一个我一直在努力工作的网站,在本地工作得很好但是当部署到gh-pages时,在尝试提取资源时有很多404。 例如,我有一行背景的css

background: #fff url(/assets/images/bg.jpg) repeat top left;
我得到的404是{{/ p>
github.io/assets/images/bg.jpg

路径应为

github.io/myProject/assets/images/bg.jpg

如何更改此功能?

2 个答案:

答案 0 :(得分:0)

正在发生的事情是,在本地设置中,assets文件夹位于同一目录中。

让我们说你的本地路径看起来像这样: file:///index.html您的资源文件夹是index.html的兄弟。/。在这种情况下,它可以工作,因为file:///转到目录的开始。在这种情况下是my-project,它会看到资产文件夹,因此它在本地工作。

现在在github上,你有一个基本上是my-project的回购。在index.html中,您有assets和文件夹/assets/。所以当你在github.io这里说begginnig目录是assets时,它会查找显然不存在的/

<强>解决方案 不要在资产之前添加0 100 08 00 00 0,182,08 00 15 1,100,08 50 46 1,132,08 51 18 。只要资产与编写此代码的目录位于同一目录,您就可以了。

另外,请仔细查看相关路径,以便更好地理解它:http://www.coffeecup.com/help/articles/absolute-vs-relative-pathslinks/

答案 1 :(得分:0)

虽然gh页面是由Jekyll生成的,但您可以利用他的魔力来简化开发。

在根目录创建一个_config.yml文件,其中包含:

baseurl: myProject/

您现在可以使用{{site.baseurl}}assets/images/bg.jpg调用任何资源 这将自动转换为myProject/assets/images/bg.jpg