如果我.html
在GitHub存储库中有一个文件(例如,用于运行一组JavaScript测试),我是否可以通过任何方式直接查看该页面,从而运行测试?
例如,我是否能以某种方式实际看到jQuery测试套件所产生的测试结果,而无需将存储库下载或克隆到本地驱动器并在其中运行呢?
我知道这基本上会将GitHub置于静态内容托管业务中,但话又说回来,他们只需要将其mime类型从更改为text/plain
即可text/html
。
如果我.html
在GitHub存储库中有一个文件(例如,用于运行一组JavaScript测试),我是否可以通过任何方式直接查看该页面,从而运行测试?
例如,我是否能以某种方式实际看到jQuery测试套件所产生的测试结果,而无需将存储库下载或克隆到本地驱动器并在其中运行呢?
我知道这基本上会将GitHub置于静态内容托管业务中,但话又说回来,他们只需要将其mime类型从更改为text/plain
即可text/html
。
Answers:
您可能要使用raw.githack.com。它支持GitHub,Bitbucket,Gitlab和GitHub要点。
https://raw.githubusercontent.com/[user]/[repository]/[branch]/[filename.ext]
在你的情况下.html
扩展
发展(节流)
https://raw.githack.com/[user]/[repository]/[branch]/[filename.ext]
产量(CDN)
https://rawcdn.githack.com/[user]/[repository]/[branch]/[filename.ext]
在你的情况下.html
扩展
raw.githack.com还支持其他服务:
https://bitbucket.org/[user]/[repository]/raw/[branch]/[filename.ext]
发展(节流)
https://bb.githack.com/[user]/[repository]/raw/[branch]/[filename.ext]
产量(CDN)
https://bbcdn.githack.com/[user]/[repository]/raw/[branch]/[filename.ext]
https://gitlab.com/[user]/[repository]/raw/[branch]/[filename.ext]
发展(节流)
https://gl.githack.com/[user]/[repository]/raw/[branch]/[filename.ext]
产量(CDN)
https://glcdn.githack.com/[user]/[repository]/raw/[branch]/[filename.ext]
https://gist.githubusercontent.com/[user]/[gist]/raw/[revision]/[filename.ext]
发展(节流)
https://gist.githack.com/[user]/[gist]/raw/[revision]/[filename.ext]
产量(CDN)
https://gistcdn.githack.com/[user]/[gist]/raw/[revision]/[filename.ext]
更新:rawgit已停产
有一个名为GitHub HTML Preview的新工具,它可以完全满足您的需求。只需添加http://htmlpreview.github.com/?
到任何HTML文件的URL,例如http://htmlpreview.github.com/?https://github.com/twbs/bootstrap/blob/gh-pages/2.3.2/index.html
注意:该工具实际上是github.io页面,与github无关。
Cross-origin image load denied by Cross-Origin Resource Sharing policy.
您可以分支gh-pages来运行您的代码,也可以尝试以下扩展程序(Chrome,Firefox):https : //github.com/ryt/githtml
如果您需要测试,则可以将JS文件嵌入到:http : //jsperf.com/
我的项目Ratio.js遇到了同样的问题,这就是我所做的。
问题: 通过将内容类型/ MIME设置为纯文本,Github.com防止在查看源时渲染/执行文件。
解决方案: 让网页导入文件。
例:
使用jsfiddle.net或jsbin.com在线创建一个网页,然后将其保存。在Github.com上导航到您的文件,然后单击“原始”按钮以获取该文件的直接链接。从那里,使用适当的标记和属性导入文件。
<!DOCTYPE>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/qunit/git/qunit.css" type="text/css" media="screen" />
</head>
<body>
<h1 id="qunit-header">QUnit example</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">test markup, will be hidden</div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://code.jquery.com/qunit/git/qunit.js"></script>
<script type="text/javascript" src="https://raw.github.com/LarryBattle/Ratio.js/master/src/Ratio.js"></script>
<script type="text/javascript" src="https://raw.github.com/LarryBattle/Ratio.js/master/tests/js/Ratio-testcases.js"></script>
</body>
</html>
现场演示:http: //jsfiddle.net/jKu4q/2/
注意:对于jsfiddle.net,请注意,您可以通过添加show
到url的末尾来直接访问结果页面。像这样:http : //jsfiddle.net/jKu4q/2/show
或者....您可以创建一个项目页面并从那里渲染HTML文件。您可以在http://pages.github.com/上创建一个项目页面。
创建完成后,您可以通过http://*accountName*.github.com/*projectName*/
示例访问链接:http : //larrybattle.github.com/Ratio.js/
这是一个Greasemonkey脚本,它将为github上的html页面添加一个CDN按钮。
目标页面的格式为:https : //cdn.rawgit.com/user/repo/master/filename.js
// ==UserScript==
// @name cdn.rawgit.com
// @namespace github.com
// @include https://github.com/*/blob/*.html
// @version 1
// @grant none
// ==/UserScript==
var buttonGroup = $(".meta .actions .button-group");
var raw = buttonGroup.find("#raw-url");
var cdn = raw.clone();
cdn.attr("id", "cdn-url");
cdn.attr("href", "https://cdn.rawgit.com" + cdn.attr("href").replace("/raw/","/") );
cdn.text("CDN");
cdn.insertBefore(raw);
您可以通过修改响应标题轻松地做到这一点,这可以通过Chrome和Firefox扩展(如Requestly)来完成。
在Chrome和Firefox中:
添加以下标头修改规则:
a)内容类型:
Content-Type
text/html
/raw\.githubusercontent\.com/.*\.html/
b)内容安全策略:
Content-Security-Policy
default-src 'none'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; script-src * 'unsafe-eval';
/raw\.githubusercontent\.com/.*\.html/
我想在github中编辑html和js并进行预览。我想在github中进行操作以立即提交并保存。
尝试了rawgithub.com,但rawgithub.com不是实时的(它的缓存每分钟刷新一次)。
所以我迅速开发了自己的解决方案:
为此的node.js解决方案:https : //github.com/shimondoodkin/rawgithub
raw.github.com/user/repository 不再存在
要将href链接到github中的源代码,必须使用github链接到原始源:
raw.githubusercontent.com/user/repository/master/file.extension
例
<html>
...
...
<head>
<script src="https://raw.githubusercontent.com/amiahmadtouseef/tutorialhtmlfive/master/petdecider/script.js"></script>
...
</head>
<body>
...
</html>
如果您在github中有一个angular或react项目,则可以使用https://stackblitz.com/在浏览器中在线运行该应用程序。
输入您的Github用户名和存储库名称以在线查看应用程序-stackblitz.com/github/{GITHUB_USERNAME}/{REPO_NAME}
即使没有将Node_Modules上传到Github,这也可以工作
当前支持使用@ angular / cli和create-react-app的项目。对Ionic,Vue和自定义Webpack配置的支持即将推出!