How do you manage your gists on GitHub?

GithubCode SnippetsGist

Github Problem Overview


I love GitHub and their gist service, and that's why I'm keeping a lot of code snippets and even development notes as a gist on my GitHub account. It also makes it easy to share them with my colleagues.

The problem is that it doesn't scale!! The GitHub features for gist are primitive, and I have lots of gists there which make it really difficult to find some of my old gists. There's no search, no tagging, or anything.

Do you know any application that can handle this mess? I would like an application that could

  • Search my gists
  • List my gists by source type and date
  • Let me edit or copy them
  • Let me tag or at least edit description

I would love to see something like this, and I'm willing to pay even some bucks for it.

So how do you manage you gists on GitHub? Do you know any software?

There's one called drift written in MacRuby, but I couldn't compile it, and it hasn't been updated for a while.

Github Solutions


Solution 1 - Github

Check out GistBox. It supports searching, editing and labels. Here's a screenshot:

GistBox Interface

There's also a demo video at: http://www.youtube.com/watch?v=VLgyY6lqpsQ

GistBox Clipper (a Chrome extension) also provides the ability to save <pre> tags and arbitrary text on any web page.


Edit:

> Unfortunately, GistBox is becoming Cacher cacher.io - the free plan will only include: 15 private snippets, 3 private labels, unlimited public snippets. If you plan on having many private gists then you will need to but (sic) a paid plan. – Bartek Skwira

Solution 2 - Github

Now gist.github.com supports search. So you can search your gist. I use #hashtag in description, so I can search my gist by tags via user:myusername #tag.

For offline usage, I cloned all my gists. And use find and grep to search them. I also search them with gonzui (open source code search engine).

I've written a shell script: gister.sh. I use it to post gists. It will clone the repo to local and import into csearch automatically after the post. The script also supports sync all your gists (gister sync).

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

Solution 3 - Github

Checkout the cross-platform (Linux/macOS/Windows) gist manager Lepton. It's free and licensed under MIT. http://hackjutsu.com/Lepton/

enter image description here

It seems it meet your needs if you are working in a desktop/laptop environment. (No iOS/Android support yet). Here is the feature list:

  • Group your gists by languages
  • Create/Edit/Delete gists
  • Instant search
  • Custom tags (#tag1, #tag2)
  • Markdown rendering
  • Cross-platform support
  • Proxy

>Disclaimer: I'm the major contributor to Lepton.

Solution 4 - Github

Gists are lightweight repositories, so why not take advantage of that?

Clone your gists to a 'my_gists' directory, organized in the way you would want them organized.

Then they become searchable fully using whatever search tools you are familiar with on your operating system.

You also have the advantage of being able to edit, comment, commit and push.

This let's you do all that you have listed and more.

Add git instaweb to the mix and you even have a rudimentary web interface to your gists.

Solution 5 - Github

My colleague and I are working on an open source cross-platform project to manage gists. It's in a beta stage - gistoapp.com.

enter image description here

It current feature list:

  • Advanced search
  • Enterprise log-in
  • Tags
  • Syntax highlight
  • Grouping by language
  • Quick snippet actions
  • Copy to clipboard
  • Copy file contents to clipboard
  • Editor settings
  • Theme color changer
  • Drag and drop to create files
  • Markdown preview (with emoji)
  • AsciiDoc preview
  • Comments
  • Web app

Full source, and downloads are available via github.

Solution 6 - Github

It might be possible to clone your gists into a local folder (as pointed out by vgoff), then build some sort of personal website around this hosted on github pages... Using Jekyll/liquid you could tag and have categories... Embed using JavaScript, or use partials to inject code into the source ( using pygments to handle the syntax highlighting - or do it client side e.g using SyntaxHighlighter ). Perhaps use google search for the search component... or dynamically build up a json file, or use github's gist API ( http://develop.github.com/p/gist.html ) to pull in json for meta data and public repos...

You could possibly take this further and "demo" your HTML/CSS/JS gists using jsFiddle.net (you can create a new fiddle from a gist... See: http://doc.jsfiddle.net/use/gist_read.html )

I'm going to need a system like this for a project I'm working on ( http://getfiremonkey.com ) - it's for teaching teenagers HTML/CSS/JS in Firefox... And I'm thinking of building it on top of Github Pages/Gist/jsFiddle.net ... Free, open, interactive examples and branchable.

I've decided to setup a side project to focus on building a Gist CMS from anything I learn along the way...

https://github.com/chrisjacob/gist-cms

"Personal Gist CMS hosted on Github Pages. A code / content management system powered by Jekyll to tag, categorize and search your Gist archive. Keep all your Gist's organized in one repository; and show them off the the world with their own dedicated website."

Right now it's just an idea; so let me know if you're interested - and lend a hand if you can ^_^

Solution 7 - Github

I use Sublime Text, and the Gist plugin is very handy. It can easily insert, upload, etc. from within the text editor.

While applications such as Gistbox look pretty, I would prefer a lightweight and fast solution. If you use Sublime Text you may want to give it a try.

https://github.com/condemil/Gist

Solution 8 - Github

I've found Snip2Code to be a useful service that lets you manage your own code snippets, giving you the capability to share with colleagues and edit/tag them in a powerful way

Solution 9 - Github

If your snippets are Ruby snippets, I'd suggest boson. I use it to maintain my repository of 450+ ruby commands (snippets). I search my commands by name, description, usage, alias and other fields as well as sort by them.

Since my commands reside in local files, I can easily export to gists or install gists as boson commands. I can do all of the things you want to do except list by date and tag. Listing by date is trivial (timestamp of the file) and tags is something I'd like to add to boson as a plugin one day.

Solution 10 - Github

Here's another clear and simple gists organizer - Gist List: https://gistlist.nfshost.com

Its purpose is precisely to help to manage a gists collection.

With it, you can:

  • sort and search your gists,
  • add colored tags to them,
  • backup all your gists to zip file.

What you can't do is editing and copying, it just links to GitHub functionality.

Solution 11 - Github

You can also try Snipit: https://snipit.xyz - it helps you easily save and organize your code snippets. It's still in beta, but it allows you to:

  • snip code blocks directly from the pages you visit, with a handy browser extensions;
  • organize your snippets in lists;
  • search snippets by list, title, syntax and tags.

Features from upcoming version:

  • collections: group multiple lists in packages or libraries (e.g. "Bootstrap code examples", or "PHP functions");
  • sharing and collaboration: share snippets with everybody, or only with specific people; collaborate with team members;
  • companion desktop app and IDE extensions: quickly find snippets while you're working, without breaking your development flow;
  • last but not least: integration with Gist.

Give it a try and hope it solves all your needs.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAllen BargiView Question on Stackoverflow
Solution 1 - GithubSureshView Answer on Stackoverflow
Solution 2 - GithubweakishView Answer on Stackoverflow
Solution 3 - GithubhackjutsuView Answer on Stackoverflow
Solution 4 - GithubvgoffView Answer on Stackoverflow
Solution 5 - GithubsanusartView Answer on Stackoverflow
Solution 6 - GithubChris JacobView Answer on Stackoverflow
Solution 7 - GithubkevinView Answer on Stackoverflow
Solution 8 - GithubCristiano GhersiView Answer on Stackoverflow
Solution 9 - GithubcldwalkerView Answer on Stackoverflow
Solution 10 - GithubksdevView Answer on Stackoverflow
Solution 11 - GithubAndrei DucaView Answer on Stackoverflow