如何直接从Github链接文件(raw.github.com)

时间:2012-01-08 16:36:01

标签: github github-pages cdn

我们是否可以直接从Github链接文件?

<link rel="stylesheet" href="https://raw.github.com/username/project/master/style.css"/>
<script src="https://raw.github.com/username/project/master/script.js"></script>

我知道Google Code上允许这样做。这样我就不用担心更新本地文件了。

12 个答案:

答案 0 :(得分:44)

已经提到了优质服务RawGit,但我会把另一个扔进戒指:GitCDN.link

好处:

  • 允许您链接到特定提交,以及自动获取最新(aka master)
  • 高流量不会造成损坏; RawGit要求它的dev.rawgit.com链接仅在开发期间使用,GitCDN允许您访问最新版本,而不会有服务器爆炸的危险
  • 您可以选择自动缩小HTML,CSS和JavaScript,也可以按书面形式提供(https://min.gitcdn.link)。
  • 添加压缩(GZip)
  • 添加所有正确的标题(内容类型,缓存控制,电子标记等)

完全披露,我是GitCDN.link

的项目维护者

答案 1 :(得分:40)

您可以使用外部服务器rawgithub.com。只需删除单词'raw'和'github'https://raw.github.com/之间的点。=&gt; https://rawgithub.com/并使用它。 More info you find in this question.

然而,根据rawgithub网站,它将在2019年10月底关闭。

答案 2 :(得分:13)

您需要执行以下步骤

  1. 从github获取文件的原始网址。这类似于https://raw.githubusercontent.com/username/folder/example.css

  2. 访问http://rawgit.com/。将git url粘贴到输入框中。它将生成两个URL,一个用于开发,另一个用于生产目的。

  3. 复制其中任何一个,你就完成了。

  4. 该文件将充当CDN。您也可以使用gist网址。

答案 3 :(得分:12)

您可以直接链接到原始文件,但最好不要这样做,因为原始文件始终使用普通/文本标头发送,并且可能导致加载问题。

答案 4 :(得分:7)

使用名称“gh-pages”为项目添加分支,然后您(在分支后不久)能够使用直接URL,例如https://username.github.io/project/master/style.css(使用您的URL,并假设“样式。 “css”是“项目”存储库根目录中“master”文件夹中的文件...并且您的Github帐户是“用户名”。

答案 5 :(得分:1)

GitHub页面:https://yourusername.github.io/script.js
GitHub repo原始文件:https://github.com/yourusername/yourusername.github.io/blob/master/script.js

使用GitHub页面,不要使用原始文件。

原因: GitHub页面基于CDN,原始文件不是。访问原始文件将直接命中GitHub服务器并增加服务器负载。

答案 6 :(得分:1)

使用jsdelivr.com

直接从https://www.jsdelivr.com/?docs=gh复制:

加载任何GitHub版本,提交或分支
注意:我们建议对支持npm的项目使用npm

https://cdn.jsdelivr.net/gh/user/repo@version/file

加载jQuery v3.2.1

https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/dist/jquery.min.js

使用版本范围而不是特定版本

https://cdn.jsdelivr.net/gh/jquery/jquery@3.2/dist/jquery.min.js

https://cdn.jsdelivr.net/gh/jquery/jquery@3/dist/jquery.min.js

完全省略该版本以获取最新版本

您不应在生产中使用此

https://cdn.jsdelivr.net/gh/jquery/jquery/dist/jquery.min.js

在任何JS / CSS文件中添加“ .min”以获得缩小版本

如果不存在,我们将为您生成

https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/src/core.min.js

在末尾添加/以获得目录列表

https://cdn.jsdelivr.net/gh/jquery/jquery/

答案 7 :(得分:1)

对于那些最终看完这篇文章并且只想从GitHub中的图像获取原始链接的人:

如果是图片,则只需在文件链接的末尾添加“?raw = true”。 例如。 原始链接: https://github.com/githubusername/repo_name/blob/master/20160309_212617-1.png

原始链接: https://github.com/githubusername/repo_name/blob/master/20160309_212617-1.png?raw=true

答案 8 :(得分:0)

在搜索相同的功能后,我最终编写了自己的PHP脚本作为代理。我遇到的麻烦就是当你从Github获得RAW版本/链接并在你自己的页面中链接到它时,发送的标题是'text / plain'而Chrome没有执行来自JavaScript的{​​{1}}文件。我也不喜欢使用第三方服务发布的其他链接,因为可能存在明显的安全/篡改问​​题。

因此,使用此脚本,我可以从Github传递RAW链接,让脚本设置正确的标头,然后输出文件,就像它来自我自己的服务器一样。此脚本还可以与安全应用程序一起使用,以引入非安全脚本,而不会抛出“{1}}错误警告”使用“非安全链接”。

<强>链接:

  

&lt; script src =“proxy.php?link = https://raw.githubusercontent.com/UserName/repo/master/my_script.js”&gt;&lt; / script&gt;

<强> proxy.php

Github

答案 9 :(得分:0)

如果您的网络服务器具有有效的allow_url_include,则GitHub将文件作为原始纯文本格式提供文件就不是问题,因为您可以先将文件包含在PHP脚本中,然后将其标头修改为正确的MIME类型。

答案 10 :(得分:0)

只需转到github文件路径,然后单击raw按钮,您将被重定向到文件的原始路径。复制URL并在您的DOM中使用它。

enter image description here

答案 11 :(得分:-1)

当然,为什么不呢?除非有人在git中更改历史记录并强行推送,否则它甚至会更新保存。