除了 Gists,我可以在我的网页上嵌入来自 GitHub 的源文件吗?
Can I embed source files from GitHub on my web page other than Gists?
上下文
您可以创建 Gist on GitHub and embed it on your web page: embedding Gists。
这是随机选择的 Gist 的示例:tap.groovy
。
问题
是否也可以嵌入来自 GitHub 的其他代码文件,例如使用这个随机选择的 C# 文件 ICommand.cs
,它不是 Gist?
您可以使用 https://gist-it.appspot.com/:
<script src="http://gist-it.appspot.com/https://github.com/dotnet/corefx/blob/master/src/System.ObjectModel/src/System/Windows/Input/ICommand.cs"></script>
另一个可能的服务是 https://github.com/finom/github-embed. It seems to be unmainted by now for about 2 years, but gist-it 似乎甚至 6 年都没有维护。不过我都没试过。
通过 URL 将一个网站的内容嵌入另一个网站的标准称为 oEmbed。不幸的是,GitHub 不是 oEmbed 提供商,即它的 URL 不支持 oEmbed。
我找到了代理服务,Oembed Proxy for GitHub,
它增加了对 GitHub 代码 URL 的 oEmbed 支持。您将 GitHub URL 作为参数传递给代理的 URL 并且生成的 URL 可以粘贴到另一个网站,假设该网站支持嵌入 oEmbed 链接。
另一个障碍是并非每个网站都支持嵌入 oEmbed URLs。根据代理的文档,notion is one website that supports them. I did some research and looks like it should be possible to add oEmbed support to e.g. wordpress or jekyll.
由于 oEmbed 的采用率较低,此答案提供的解决方案非常有限。尽管如此,我认为传播这个词还是值得的。
您可以尝试 https://emgithub.com,它完全符合您的要求。
要在您的问题中嵌入示例文件 ICommand.cs
,您只需在地址栏中的“github.com”之前添加“em”,然后按 Enter。
更新(2020 年 4 月 1 日):
我发现问题中的文件 ICommand.cs
不再可用,所以我使用文件 https://github.com/pytorch/pytorch/blob/master/torch/nn/cpp.py 代替。
打开linkhttps://github.com/pytorch/pytorch/blob/master/torch/nn/cpp.py,您只需在地址栏的“github.com”前加上“em”,然后回车即可。
使用默认设置,您将获得以下脚本标记:
<script src="https://emgithub.com/embed.js?target=https%3A%2F%2Fgithub.com%2Fpytorch%2Fpytorch%2Fblob%2Fmaster%2Ftorch%2Fnn%2Fcpp.py&style=github&showBorder=on&showLineNumbers=on&showFileMeta=on&showCopy=on"></script>
您还可以更改其突出显示样式,并且可以使用“行号”、“文件元数据”等选项。
与从事类似工作的其他网站不同,EmGithub.com 是托管在 Github 页面上的静态网站。获取目标文件和突出显示在您的浏览器上完成。
您可以使用gistYard
<iframe src="https://gistyard.piyushdev.xyz/emd.html?lang=&from=0&to=&code=https://raw.githubusercontent.com/dotnet/corefx/master/src/System.ObjectModel/src/System/Windows/Input/ICommand.cs&edit=true&dm=off" width="100%" height="330" frameborder="0"></iframe>
它提供更改主题、直接从 raw 剪切代码、编辑模式等功能、自定义样式 和其他。
上下文
您可以创建 Gist on GitHub and embed it on your web page: embedding Gists。
这是随机选择的 Gist 的示例:tap.groovy
。
问题
是否也可以嵌入来自 GitHub 的其他代码文件,例如使用这个随机选择的 C# 文件 ICommand.cs
,它不是 Gist?
您可以使用 https://gist-it.appspot.com/:
<script src="http://gist-it.appspot.com/https://github.com/dotnet/corefx/blob/master/src/System.ObjectModel/src/System/Windows/Input/ICommand.cs"></script>
另一个可能的服务是 https://github.com/finom/github-embed. It seems to be unmainted by now for about 2 years, but gist-it 似乎甚至 6 年都没有维护。不过我都没试过。
通过 URL 将一个网站的内容嵌入另一个网站的标准称为 oEmbed。不幸的是,GitHub 不是 oEmbed 提供商,即它的 URL 不支持 oEmbed。
我找到了代理服务,Oembed Proxy for GitHub, 它增加了对 GitHub 代码 URL 的 oEmbed 支持。您将 GitHub URL 作为参数传递给代理的 URL 并且生成的 URL 可以粘贴到另一个网站,假设该网站支持嵌入 oEmbed 链接。
另一个障碍是并非每个网站都支持嵌入 oEmbed URLs。根据代理的文档,notion is one website that supports them. I did some research and looks like it should be possible to add oEmbed support to e.g. wordpress or jekyll.
由于 oEmbed 的采用率较低,此答案提供的解决方案非常有限。尽管如此,我认为传播这个词还是值得的。
您可以尝试 https://emgithub.com,它完全符合您的要求。
要在您的问题中嵌入示例文件 ICommand.cs
,您只需在地址栏中的“github.com”之前添加“em”,然后按 Enter。
更新(2020 年 4 月 1 日):
我发现问题中的文件 ICommand.cs
不再可用,所以我使用文件 https://github.com/pytorch/pytorch/blob/master/torch/nn/cpp.py 代替。
打开linkhttps://github.com/pytorch/pytorch/blob/master/torch/nn/cpp.py,您只需在地址栏的“github.com”前加上“em”,然后回车即可。
使用默认设置,您将获得以下脚本标记:
<script src="https://emgithub.com/embed.js?target=https%3A%2F%2Fgithub.com%2Fpytorch%2Fpytorch%2Fblob%2Fmaster%2Ftorch%2Fnn%2Fcpp.py&style=github&showBorder=on&showLineNumbers=on&showFileMeta=on&showCopy=on"></script>
您还可以更改其突出显示样式,并且可以使用“行号”、“文件元数据”等选项。
与从事类似工作的其他网站不同,EmGithub.com 是托管在 Github 页面上的静态网站。获取目标文件和突出显示在您的浏览器上完成。
您可以使用gistYard
<iframe src="https://gistyard.piyushdev.xyz/emd.html?lang=&from=0&to=&code=https://raw.githubusercontent.com/dotnet/corefx/master/src/System.ObjectModel/src/System/Windows/Input/ICommand.cs&edit=true&dm=off" width="100%" height="330" frameborder="0"></iframe>
它提供更改主题、直接从 raw 剪切代码、编辑模式等功能、自定义样式 和其他。