如何使用新的gist界面从GitHub gist中嵌入单个文件?

113

新的GitHub Gist界面只有一个嵌入片段,可以嵌入所有Gist中的文件。旧的界面为每个Gist中的文件都提供了嵌入代码。不知道是否有技巧可以嵌入单个文件?


26
这个问题涉及程序员使用的工具“Gists”的“API”,是关于共享代码的。因此,这似乎完全符合主题。在我阅读社区定义的范围时,我很难看出这不适合。作为程序员,我发现这个问题和答案都非常有用。 - Eric Bloch
3
这个问题对程序员有用,并且有一个有用的答案。为什么这个问题被关闭为“不符合主题要求”? - mydoghasworms
在社区定义的范围内添加:「程序员常用的软件工具」。Github Gist 是程序员常用的工具,因此任何关于它的 API 的问题都是完全相关的。 - chaseadamsio
4个回答

167

从左侧获取要点URL,在.js后添加查询字符串,如?file=myFile.blah,例如:

<script src="https://gist.github.com/4505639.js?file=macroBuild.scala" type="text/javascript"></script>

2
这个以前是可以用的,但最近我觉得它停止了!现在我的博客文章中,它会把所有文件都吐出来,而不是像以前一样一个一个地显示!我想我必须把我的文件分成单独的gist :( 有其他人也遇到这个问题吗? - nootn
2
仍在为我工作:http://letitcrash.com/post/40198993865/makkros-first-step-towards-typed-channels - Roland Kuhn
这对我来说“可行”,但样式失败了。我的自定义样式会覆盖嵌入脚本指定的样式,因此生成的标记中的行号与实际源代码不对齐。这真的很不幸,我无法使它们对齐,并且无法完成调试CSS的任务。因此,我最终使用了jQuery和对api.github.com的ajax调用来完成它。然后我添加了一个外部高亮函数。 这是一个要点,展示如何嵌入一个要点: https://gist.github.com/DinoChiesa/5624844 - Cheeso
只是为了继续确认,这仍然适用于Blogger。 - Theko Lekena

12

中等

对于那些想在Medium上使用它的人,Medium不支持并且不查询URL中的参数,当你在URL粘贴后添加它。所以按照以下4个步骤顺序进行。

因此:

⚠️ 顺序很重要!

  1. 复制(多文件)Gist路径。例如:
https://gist.github.com/MojtabaHs/91e34fd0e987fe7ce801936dc6ece0e8

  1. 将其粘贴到除Medium文章以外的其他地方,以保留文本的丰富数据。比如一个在线的文本框:

示例

⚠️ 不要点击搜索或回车按钮


  1. 将文件的查询参数附加到URL中。例如:
https://gist.github.com/MojtabaHs/91e34fd0e987fe7ce801936dc6ece0e8?file=Interface.swift

请注意 URL 的末尾有 ?file=Interface.swift ,对吧?


  1. 将它复制并粘贴到文章中,看看神奇的结果

使用这种方法的一篇文章:

使用 SwiftUI 实现自定义活动指示器


必须注意的最重要的一点:

⚠️ 请注意,在 Medium 中您必须复制未格式化的纯文本,并且不能在粘贴后编辑URL!您可以将链接复制到在线文本框(如Google.com)中,在添加查询后再将其复制回来并粘贴到Medium中。


1

GitHub提供了与此相同的信息在他们的网站上。正如其他人所说,官方方法是在嵌入代码的URL末尾附加?file=name-of-file.ext,以仅嵌入名为name-of-file.ext的文件(您当然可以将名称更改为您的文件名称)。例如,如果我想从Gist中嵌入getGitContents.js文件,该Gist位于https://gist.github.com/westc/afac9258389fdfd2fdaf134ffaa0e923,我可以使用以下内容:

<script src="https://gist.github.com/westc/afac9258389fdfd2fdaf134ffaa0e923.js?file=getGitContents.js"></script>

此外,这里有一篇关于此事的YourJS博客文章,它允许你输入用户名并查看所有你的gist和底层单个文件的嵌入代码。

0

这里提供给其他可能正在研究此问题的人参考。

如果您正在使用WordPress,您可以通过插件oEmbed-gist和短代码样式来实现:

[gist id="your-gist-id-here" file="your-file-name.js"]。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接