GitHub页面是否有一种快捷方式链接到其git存储库中的文件?

时间:2014-07-31 11:38:11

标签: git github github-pages

我有一个git存储库,其中包含https://github.com/ozzyogkush/solitaire-webapp处的一堆代码,以及为该存储库设置的GitHub页面分支(https://github.com/ozzyogkush/solitaire-webapp/tree/gh-pages)。问题是,GitHub页面(在http://ozzyogkush.github.io/solitaire-webapp/处呈现时)是否会看到'主仓库以任何方式?这意味着如果我想要包含样式表(例如,存储在{repository}/somedir/css/somecss.css中),是否有一种快捷方式(也发送正确的MIME类型)或者是否必须链接到完整的原始数据URL?

如果您查看GH页面的来源,您会看到我从回购中抓取一些CSS和JS,使用原始来源的完整路径,并且两者都以普通方式返回正如预期的那样,而不是text/cssapplication/javascript

5 个答案:

答案 0 :(得分:2)

如果css或js文件也在gh-pages分支中,使用相对链接应该可以正常工作。

  <link rel="stylesheet" href="/assets/themes/mark-reid/css/syntax.css" type="text/css" />

您可以先将这些css和js文件合并到gh-pages分支中,然后使用相对链接来引用它们。

答案 1 :(得分:2)

https://raw.githubusercontent.com/ozzyogkush/solitaire-webapp/master/prodbuild/css/bootstrap.css这样的Github原始网址将始终返回 text / plain mime。

一些Stack Overflow答案正在谈论像https://rawgithub.com/这样的服务,它们为css和javascript返回正确的mime。但它们失控并且可能是一个真正的安全问题,因为您必须信任它们才能发送原始内容。对我来说不是一个选择。

将您修改后的资产从主页面发送到gh页面的answer with a post commit hook似乎是一个很好的解决方案。

您还可以将Grunt与Jekyll混合在一起,并将所有代码保存在同一分支上。

答案 2 :(得分:1)

回答你的第一个问题,没有。根据定义,gh-pages分支无法访问主repo分支,因为它是一个孤立分支。至少不是来自jekyll。

顺便说一句,您可以使用以下结构访问jekyll的gh-pages分支中基于github的文件路径:

https://github.com/username/reponame/commits/master/{{ page.path }}

例如,@benbalterhis personal blog上使用此结构来呈现链接,以便用户可以编辑其内容并打开拉取请求。

答案 3 :(得分:0)

根据我的理解,GitHub repos不适合托管(每this other SO article

您不清楚自己gh-pages分支机构已经完成了哪些工作,但this guide可能会帮助您确保所有内容都配置正确。本文概述了如何设置如<link rel="stylesheet" href="{{ site.baseurl }}/css/main.css" >之类的快捷方式。

答案 4 :(得分:0)

您可能感兴趣的是,与此同时,您不需要gh-pages分支来提供GitHub页面。 You could just serve these pages from the master branch.您需要README.md个文件或index.mdindex.html。从那里,您可以使用正确的内容类型标题引用存储库中的所有文件。