40

我确定我很昏暗,但是是否可以查看 gist 的渲染输出?

这是我感兴趣的要点:https ://gist.github.com/844752/420cc52eb4910fe8fa2bec9e13daab18b6230503

我在哪里可以看到它的实际呈现方式?

4

8 回答 8

54

rawgit.com提供这项服务。要使用 rawgit.com,只需将要查看的 gist 或 github 文件的原始视图的域替换为 rawgit.com。例如:

https://gist.githubusercontent.com/mbostock/844752/raw/index.html

https://rawgit.com/mbostock/844752/raw/index.html

或者

https://raw.githubusercontent.com/caffinatedmonkey/Hello-World-PSP/master/main.cpp

https://rawgit.com/caffinatedmonkey/Hello-World-PSP/master/main.cpp
于 2014-05-06T17:04:55.560 回答
9

RawGithub.com 可以让你在 Github 上渲染任何东西,包括要点。两个例子:

于 2014-03-14T19:19:50.827 回答
9

我的印象是呈现要点的方式最近发生了变化。这是我找到的解决方案:

  • 转到http://rawgit.com/,粘贴您的 gist 的地址并获取原始 html 代码的地址 - 或单击Github中的原始按钮
  • 在 URL 前添加:http://htmlpreview.github.io/?

例子

于 2014-10-05T10:43:23.910 回答
8

Mike Bostock 做了一个很酷的应用程序来渲染 Gists:http ://bl.ocks.org/844752/420cc52eb4910fe8fa2bec9e13daab18b6230503

不过,我很感兴趣这是如何在技术上完成的。GitHub 有一个很酷的 api,您可以通过它以 JSON 格式获取 gist 数据:https ://api.github.com/gists/844752/420cc52eb4910fe8fa2bec9e13daab18b6230503它包括文件及其原始内容。我不知道如何动态渲染它,就好像它们是文件系统上的实际文件一样。

于 2012-12-17T02:32:53.943 回答
8

2020 年更新:RawGit 正在关闭。替代方案和测试:

要将您的要点预览为呈现的 HTML,请使用以下服务之一:

所有这些都在 GitHub 上使用 HTML gists 进行了测试,并于 2020 年 7 月开始运行。

测试

使用此要点的示例:

检查它是否仍然有效以及 URL 的样子:

rawgit.com(截至 2020 年 7 月无效)

https://rawgit.com/rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html

gist.githack.com

https://gist.githack.com/rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html

警告:它会将 JavaScript 注入您的页面!看:

curl https://gist.githack.com/rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html

输出:

<!-- Valid HTML Test -->
<!doctype html>
<html lang=en>
<meta charset=utf-8> 
<title>Valid HTML Test</title>
<script>
alert('It works');
</script>
<script async src='/cdn-cgi/bm/cv/2172558837/api.js'></script><script type="text/javascript">(function(){window['__CF$cv$params']={r:'5b1aaf571d8bf2c0',m:'65442fcb36a12a3fd4d99294f0ae0a2c6c071945-1594556076-1800-AdUTDXjrrqS1ZqgeCevOb/vrvZSZaBf8uXiIHtYhab+Pu1AhAHEnvoPv7d6apyJwU+p7FNPWY8VQAjdSpjC5/5JRJKo5Og1S5Qod6jctf3ECBmhA7mctVQJOrzVBXkf2fZrHHOVjSD5cezyUp1zDZeSLAYtov29CfJKdbN7/gstPjgYcF/FbgiA5tm4WJ/ToqDwoSGljZwlHIrqr9EdLCecSgQO1D+ASFBtWOduqNIx9',s:[0x603d28608f,0x9fc0e2444b],}})();</script>

最后两个脚本标签不是我的! 我注意到它是因为 HTML Validator 给了我一个完全有效的 HTML 的警告(所以它不仅注入了代码,而且还注入了一个无效的代码......)

gitcdn.xyz

https://gitcdn.xyz/cdn/rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html

似乎没有改变 HTML:

curl -v https://gitcdn.xyz/cdn/rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html

gistcdn.rawgit.org

https://gistcdn.rawgit.org/rsp/dd2481a75c1668846a752e24099ce020/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html

注意:该 URL 不包含/raw/所有其他 URL,因此如果您手动构建它,很容易拼错 URL。

htmlpreview.github.io

https://htmlpreview.github.io/?https://gist.githubusercontent.com/rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html

警告:

它们似乎在以下方面有所不同:

  • 有些是代理,有些在前端使用 AJAX
  • 像注入脚本一样更改实际的 HTML,请参阅上面的警告

文件完整性

我编写了这个脚本来检查提供的 HTML 的 SHA1 总和:

#!/bin/bash
for i in \
'https://gist.githubusercontent.com/rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html' \
'https://gist.githack.com/rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html' \
'https://gitcdn.xyz/cdn/rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html' \
'https://gistcdn.rawgit.org/rsp/dd2481a75c1668846a752e24099ce020/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html' \
'https://htmlpreview.github.io/?https://gist.githubusercontent.com/rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html' \
;do
n=`echo $i | sed 's|^[a-z:]*//||; s|/.*||'`
s=`curl -s $i | shasum`
echo $s $n
done

如果需要,请随意使用它来测试您自己的要点的完整性。请记住,即使其中一个代理现在没有注入任何东西或弄乱您的代码,也并不意味着它永远不会这样做。

我的结果是:

7a785588d5806469a7a9256968f82257accd7183 - gist.githubusercontent.com
809819224097b5f116b63fd6019cb490005d1ff8 - gist.githack.com
7a785588d5806469a7a9256968f82257accd7183 - gitcdn.xyz
7a785588d5806469a7a9256968f82257accd7183 - gistcdn.gistcdn.rawgit.org
5069f27b01308f3cf71c9d7f3a5c924e3a91b243 - htmlpreview.github.io

第一个是原始的,所以看起来:

  • gitcdn.xyz 和 rawgit.org 提供原始文件
  • githack.com将脚本注入您的页面!(确实是一个 git hack ......)
  • htmlpreview.github.io 在前端工作,因此提供了一个不同的页面,该页面使用前端的逻辑加载和显示您的要点(我想知道它是否适用于相关链接和图像 - 我将不得不稍后对其进行测试)。

关于 htmlpreview.github.io 的注意事项

有趣的是,它使用另一个服务,一个 JSONP 代理jsonp.afeld.me并且不是直接从 GitHub 加载你的要点,而是作为: https ://jsonp.afeld.me/?url=https://gist.githubusercontent.com /rsp/dd2481a75c1668846a752e24099ce020/raw/233e4d9d5388fc087785ff2d6f63ce232302d255/test.html

其他想法

我只是想看看是否可以以某种方式使 gh-pages 与 gists 一起使用(因为 gists 可以作为 repos 结帐)。我会测试它并写一个更新。更新:我无法让它工作。我也不能从 gist 部署到 Netlify。

于 2020-07-12T12:55:09.943 回答
4

据我所知 gist 不提供执行环境,但您可以轻松地将其粘贴到jsfiddle中。

于 2012-05-23T09:33:45.547 回答
0

Gist 呈现输出(当前是在更新 gist 之后,而不是实时预览)。

这仅适用于正确的文件扩展名。

例如,如果您的文件格式为 MediaWiki,您必须将文件名编辑为somefile.mediawiki

于 2014-11-10T11:52:19.787 回答
0

您可以在 GitHub 中直接完成。我只是使用评论部分,因为它已经有自己的“预览”选项,当然“支持使用 Markdown 进行样式设置”。

于 2017-07-21T00:47:12.310 回答