GitHub gists are a good way to write quick notes or code snippets or configurations and share those with others. There are a few cmdline clients mentioned officially but they are either unmaintained or lacking in features or need ruby. Today we came across a new client being actively developed in Python – gist.
Features
- Print a list of your gists
- Print detailed information about a gist
- Print a list of the files in a gist
- Delete a gist from github
- Download a gist and creates a tarball
- Print the content of the gist to stdout
- Create a new gist (as private or public)
- Clone a gist
The author is actively working on gist edit and it currently works with the user’s default editor. In addition the gist create
command (without any argument) opens up the default editor to create a new gist on the fly.
Installation
To install the gist client on Ubuntu, run the following:
$ sudo apt-get install python-setuptools $ git clone https://github.com/jdowner/gist.git $ cd gist $ sudo make install
It supports TAB-completion. To enable it, add the following line in your ~/.bashrc:
source /usr/share/gist/gist.bash
Usage
You need to generate a personal access token from your GitHub settings -> Applications page and add it to ~/.gist in the form:
[gist] token: <enter token here>
Options
gist list : prints a list of your gists gist info : prints detailed information about a gist gist files : prints a list of the files in a gist gist delete : deletes a gist from github gist archive : downloads a gist and creates a tarball gist content : prints the content of the gist to stdout gist create : creates a new gist gist clone : clones a gist
There are multiple ways to create a gist from different sources.
- Create from a set of files
$ git create "gist_new" foo.txt bar.txt
- Create from clipboard data
$ xclip -o | gist create "gist_clip"
- From some on the fly notes
$ echo $(cat) | gist create "gist_quick"
Webpage: gist