你如何在GitHub上管理你的代码片段?

170

我喜欢 GitHub 和他们的gist服务,所以我将许多代码片段和开发笔记作为gist保存在我的GitHub账户中。这也使得与我的同事分享变得轻而易举。

问题在于它无法扩展!GitHub的gist功能比较基础,我在那里有很多gists,这使得找到一些旧的gists非常困难。没有搜索、标签或其他任何功能。

你知道有什么应用程序可以处理这个混乱吗? 我想要一个可以:

  • 搜索我的gists
  • 按源类型和日期列出我的gists
  • 让我编辑或复制它们
  • 让我至少添加标签或编辑描述

我很想看到像这样的东西,我甚至愿意为它支付一些费用。

那么你如何管理你在GitHub上的gists? 你知道有什么软件吗?

有一个叫做drift的MacRuby应用程序,但我无法编译它,而且它已经有一段时间没有更新了。


也许这个人会添加 gist 管理:http://www.kickstarter.com/projects/1487030260/hubcap-a-github-client-for-mac-os-x - pjmorse
1
请注意,正如我在下面的回答中提到的那样,自2013年2月以来,https:///gist.github.com/Username/是一个可能的URL,可以轻松地找到任何用户的Gist。 - VonC
11个回答

125

看看GistBox。它支持搜索、编辑和标签。这是一个屏幕截图:

GistBox界面

这里还有一个演示视频: http://www.youtube.com/watch?v=VLgyY6lqpsQ

GistBox Clipper(一个Chrome扩展程序)还提供了在任何网页上保存<pre>标签和任意文本的功能。


编辑:

不幸的是,GistBox正在成为 Cacher cacher.io - 免费计划仅包括:15个私人片段、3个私人标签、无限公共片段。如果你打算拥有许多私人要点,则需要购买付费计划。- Bartek Skwira


真的很棒!在Gists中,唯一缺少的是搜索和标记。我一直在查看其他类似的服务,但没有一个符合我的需求。感谢分享! - Bartłomiej Skwira
1
搜索功能不如我所希望的那样好。 - Claudiu Creanga
我同意@ClaudiuCreanga的看法。搜索功能不是确定性的。例如:我在搜索栏中输入一个单词,没有发现任何代码片段。然后我自己打开有该单词的代码片段。然后我再次尝试第一步并搜索该单词。现在神奇的是可以找到这个代码片段了。奇怪:P weakish描述的GitHub Gist搜索更好。 - Mateusz
8
从2017年12月1日开始,GistBox将无法访问。 - Cologler
12
很遗憾,GistBox 将变成 Cacher https://www.cacher.io/ - 免费计划只包括:15 个私人片段、3 个私人标签和无限公共片段。如果你打算有很多私有的代码片段,则需要购买付费计划。 - Bartłomiej Skwira
显示剩余3条评论

68

现在gist.github.com支持搜索功能,因此您可以搜索您的代码片段。我在描述中使用了#hashtag标签,因此我可以通过user:myusername #tag 标签搜索我的代码片段。

为了离线使用,我克隆了我所有的代码片段,并使用find和grep命令来搜索它们。我还使用gonzui(开源代码搜索引擎)搜索它们。

我编写了一个shell脚本:gister.sh。我用它来发布代码片段。发布后,它会自动将存储库克隆到本地并导入到csearch中。该脚本还支持同步您的所有代码片段(gister sync)。

https://github.com/weakish/gister/


3
在gist搜索中包含您的用户名是一个好建议,可以缩小搜索范围(因为目前他们只有一个搜索所有gist的功能)。 - Derek Morrison
5
请注意,您现在可以使用gist搜索提供的“user:”前缀,例如“user:myusername #tag”。 - Kristopher Johnson
确实是一个不错的提示,谢谢。使用 user:myusername 结合关键词搜索的建议可以找到其他情况下需要点击“更早”的按钮100次才能找到的代码片段。 - tresf
3
太棒了!在谷歌浏览器中,你可以右键点击地址栏 > 选择 编辑搜索引擎 ,然后点击 添加 来将 Gist 搜索添加为搜索引擎:https://gist.github.com/search?utf8=%E2%9C%93&q=user%3MY_GITHUB_USER+%s。设置关键词为 gist,这样现在你就可以在地址栏中输入 gist,按下空格并输入你的查询内容了。 - ccpizza
1
我最喜欢这个答案,因为它还使用了离线搜索,而且gister.sh看起来很有趣。Github还提供了一个搜索页面上所有搜索前缀的列表,请参见底部的专业提示:https://gist.github.com/search - mike
显示剩余5条评论

31

请查看跨平台(Linux/macOS/Windows)gist管理器Lepton。它是免费的,根据MIT许可证授权。http://hackjutsu.com/Lepton/

输入图像描述

如果您在桌面/笔记本环境下工作,则似乎满足您的需求。(尚未支持iOS/Android)。以下是其功能列表:

  • 按语言分组您的gists
  • 创建/编辑/删除gists
  • 即时搜索
  • 自定义标签(#tag1、#tag2)
  • Markdown渲染
  • 跨平台支持
  • 代理

声明:我是Lepton的主要贡献者。


1
这是一个很好的选择,现在GistBox即将消失了。你真是我的救星! - Marc
我来到这里寻找一个替代Gistbox的工具,这个工具适合我。有没有黑色背景选项的可能? - mapping dom
@mappingdom 谢谢你的尝试。我希望能有一些UX设计师来帮助我。否则,我不会自己做的。(对我来说,设计暗色主题非常具有挑战性。) - hackjutsu
1
自v1.8.0版本以来,已经添加了暗色主题。 - hackjutsu
它支持实时的Markdown预览吗? - MagePsycho

19

Gists是轻量级的代码库,所以为什么不充分利用它呢?

克隆您的Gists到“my_gists”目录中,并按照您希望它们组织的方式进行组织。

然后使用您在操作系统上熟悉的任何搜索工具完全可搜索。

您还可以编辑、评论、提交和推送。

这让您可以执行您列出的所有操作以及更多操作。

git instaweb 添加到混合物中,甚至可以获得rudimentary web界面来处理您的Gists。


3
我已经这样做了,但它仍然远远达不到我对代码片段管理器的期望方便程度。 - Allen Bargi

16

我和我的同事正在开发一个跨平台的管理代码片段的开源项目。目前还处于beta阶段-gistoapp.com

enter image description here

当前功能列表:

  • 高级搜索
  • 企业登录
  • 标签
  • 语法高亮
  • 按语言分组
  • 快速代码片段操作
  • 复制到剪贴板
  • 复制文件内容到剪贴板
  • 编辑器设置
  • 主题颜色更改器
  • 拖放创建文件
  • Markdown 预览(带表情符号)
  • AsciiDoc 预览
  • 注释
  • Web 应用程序

完整的源代码和下载可通过github获取。


1
Gisto是一个绝佳的解决方案。我刚开始使用它,但已经非常印象深刻,并且绝对会推荐它。通过Cask安装很容易:cask install gisto - Steve Benner
它支持实时的Markdown预览吗? - MagePsycho
@MagePsycho 是的 - sanusart
太好了。我检查过了,可以看到预览。但是Markdown和预览不会同时滚动,这使得编辑和预览长的Markdown文件变得困难。你们能否解决这个问题? - MagePsycho
你能在 https://github.com/Gisto/Gisto/issues 上为它填写一个问题吗? - sanusart

6
可能可以将您的gists克隆到本地文件夹中(如vgoff所指出的),然后构建一些围绕此主机在github页面上的个人网站...使用Jekyll / liquid,您可以标记并具有类别...使用JavaScript嵌入,或使用部分将代码注入源代码(使用pygments处理语法突出显示-或客户端执行,例如使用SyntaxHighlighter)。也许使用Google搜索组件...或动态构建json文件,或使用github的gist API(http://develop.github.com/p/gist.html)来获取元数据和公共存储库的json...
您可能还可以通过jsFiddle.net“演示”您的HTML / CSS / JS gists(您可以从gist创建一个新的fiddle...请参见:http://doc.jsfiddle.net/use/gist_read.html
我要为我正在进行的项目(http://getfiremonkey.com)需要这样的系统-它是用于在Firefox中教授青少年HTML / CSS / JS的...而且我想在Github Pages / Gist / jsFiddle.net上构建它...免费,开放,交互式的示例和可分支。
我已经决定建立一个侧面项目,专注于从中学到的任何东西构建Gist CMS... https://github.com/chrisjacob/gist-cms “托管在Github Pages上的个人Gist CMS。由Jekyll提供支持的代码/内容管理系统,可对您的Gist存档进行标记,分类和搜索。将所有Gist组织在一个存储库中;并通过其自己的专用网站向世界展示它们。”
现在它只是一个想法;所以如果您有兴趣,请让我知道-如果可以,请给予帮助^_^

5
我使用Sublime Text, 并且 Gist 插件非常方便。它可以轻松地在文本编辑器中插入、上传等。
虽然像 Gistbox 这样的应用程序看起来很漂亮,但我更喜欢一个轻量级和快速的解决方案。如果您使用 Sublime Text,您可能想试试它。
https://github.com/condemil/Gist

1
我发现Snip2Code是一个有用的服务,可以让您管理自己的代码片段,使您能够与同事分享并以强大的方式进行编辑/标记。

Snip2Code和gist有关系吗? - weakish
1
我发现了一个功能,允许用户将他的Gists导入到他的Snip2Code账户中。 - Cristiano Ghersi

0
你也可以尝试使用 Snipit: https://snipit.xyz - 它可以帮助你轻松保存和组织代码片段。虽然它仍处于测试版,但它允许你:
  • 使用方便的浏览器扩展直接从你访问的页面中剪切代码块;
  • 将你的代码片段组织成列表;
  • 通过列表、标题、语法和标签搜索代码片段。

即将推出的功能:

  • 集合:将多个列表分组为包或库(例如“Bootstrap 代码示例”或“PHP 函数”);
  • 共享和协作:与所有人或特定人员共享代码片段;与团队成员协作;
  • 伴侣桌面应用程序和 IDE 扩展:在工作时快速查找代码片段,而不会影响你的开发流程;
  • 最后但并非最不重要的:与 Gist 集成。

试试看吧,希望它能满足你的所有需求。


0

如果你的代码片段是Ruby代码片段,我建议使用boson。我用它来维护我450多个Ruby命令(片段)的存储库。我可以通过名称、描述、用法、别名和其他字段进行命令搜索,并对它们进行排序。

由于我的命令驻留在本地文件中,我可以轻松导出到gists安装gists作为boson命令。我可以做所有你想做的事情,除了按日期和标签列出。按日期列出很简单(文件的时间戳),而标签则是我希望有一天能够添加到boson作为插件的东西。


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