我可以直接从GitHub运行HTML文件,而不是只查看它们的源代码?
如果我在GitHub存储库中有一个.html
文件,例如,运行一组JavaScripttesting,有什么方法可以直接查看这个页面,从而运行testing?
例如,我能否以某种方式真正看到由jQuerytesting套件产生的testing结果,而无需下载或克隆回购到我的本地驱动器并在那里运行它们?
我知道这基本上将GitHub放在静态内容托pipe业务,但是,他们只需要改变他们的MIMEtypes从text/plain
text/html
。
http://htmlpreview.github.com
的替代scheme是http://rawgithub.com
。 它提供了一个更方便的方式来预览你的文件。
更新 :该网站已被重命名为http://rawgit.com
之前:
https://raw.githubusercontent.com/[user]/[repository]/[branch]/[filename.ext]
在你的情况下.html
扩展名
后:
https://rawgit.com/[user]/[repository]/[branch]/[filename.ext]
在你的情况下.html
扩展名
现在似乎也可以在生产中使用CDN ,这非常酷:
https://cdn.rawgit.com/[user]/[repository]/[branch]/[filename.ext]
你也可以服务的要点
之前:
https://gist.github.com/[user]/[gist]
后:
https://rawgit.com/[user]/[gist]/raw/
CDN:
https://cdn.rawgit.com/[user]/[gist]/raw/
有一个名为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。
要搭载@ niutech的答案,可以制作一个非常简单的书签片段。
使用Chrome,尽pipe它与其他浏览器类似
- 右键单击您的书签栏
- 点击添加文件
- 将其命名为Github HTML
- 对于URLtypes
javascript:top.location="http://htmlpreview.github.com/?"+document.URL
- 当你在一个github文件视图页面( 不是raw.github.com )上点击书签链接,你就是黄金。
你可以分支gh-pages来运行你的代码或者试试这个扩展(Chrome,Firefox): https : //github.com/ryt/githtml
如果你需要的是testing,你可以将你的JS文件embedded到: http : //jsperf.com/
我对我的项目Ratio.js有同样的问题,这是我做的。
问题: Github.com通过将内容types/ MIME设置为纯文本来防止在查看源文件时渲染/执行文件。
解决scheme:有一个网页导入文件。
例:
使用jsfiddle.net或jsbin.com在线创build网页,然后保存。 在Github.com中导航到您的文件,然后单击“原始”button以获得文件的直接链接。 从那里,使用适当的标签和属性导入文件。
<!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
或….你可以创build一个项目页面,并从那里呈现您的HTML文件。 您可以在http://pages.github.com/上创build项目页面。;
一旦创build,您可以通过http://*accountName*.github.com/*projectName*/
访问链接。例如: http://*accountName*.github.com/*projectName*/
这是一个小Greasemonkey脚本,将添加一个CDNbuttongithub上的HTML页面
目标页面的格式为: 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);
我想在github中编辑html和js并进行预览。 我想在github做到即时提交和保存。
尝试rawgithub.com但rawgithub.com并非实时(它的caching刷新一次)。
所以我很快开发了我自己的解决scheme
node.js这个解决scheme: https : //github.com/shimondoodkin/rawgithub
您可以通过修改响应 头来轻松完成此操作,这可以使用Chrome和Firefox扩展(如Requestly)来完成。
在Chrome和Firefox中:
-
安装请求的Chrome和请求为Firefox
-
添加以下标题修改规则 :
a) 内容types :
- 修改
- 响应
- 标题:
Content-Type
- 值:
text/html
- 源url匹配:/
/raw\.githubusercontent\.com/.*\.html/
b) 内容安全策略 :
- 修改
- 响应
- 标题:
Content-Security-Policy
- 值:
default-src 'none'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; script-src * 'unsafe-eval';
default-src 'none'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; script-src * 'unsafe-eval';
- 源url匹配:/
/raw\.githubusercontent\.com/.*\.html/
raw.github.com/user/repository 不再存在
要链接到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>
此解决scheme仅适用于Chrome浏览器。 我不确定其他浏览器。
- 在Chrome浏览器中添加“修改内容types选项”扩展。
- 在浏览器中打开“chrome-extension://jnfofbopfpaoeojgieggflbpcblhfhka/options.html”url。
- 添加原始文件url的规则。 例如:
- urlfilter:https:///raw/master//fileName.html
- 原始types:文本/纯文本
- replacetypes:text / html
- 打开你在规则中添加了url的文件浏览器(步骤3)。