12 releases (6 breaking)

Uses old Rust 2015

0.9.2 May 9, 2024
0.9.1 Aug 30, 2023
0.9.0 Dec 15, 2021
0.8.0 Nov 19, 2021
0.4.0 May 28, 2016

#1440 in Web programming

MIT license

18KB
423 lines

Gist

A command-line tool for publishing gists, inspired by icholy/gist.

Usage

Publish a single file, read from stdin:

cat notes.md | gist

Set a file name with -f:

cat error.log | gist -f "weird-bug.log"

Make a public Gist with -p:

cat file.sh | gist -p

Make a single gist with multiple files, preserving their names:

gist src/*.rs

I want the Gist's URL copied to my clipboard, when it's done:

# *nix / X.org
echo stuff | gist | xclip

# mac
echo something | gist | pbcopy

Show me a brief list of public gists:

gist -l

... or for a single user:

gist -l some_login

BTW, did you know that Github gists are also git repositories? You can get a local copy of a gist by passing its URL (this uses git clone behind the scenes):

gist https://gist.github.com/oz/123478097

Installation

Installation currently requires cargo, just cargo install gist.

For authentication, the program requires an environment variable called GITHUB_GIST_TOKEN or GITHUB_TOKEN. It is mandatory as Github killed anonymous Gists in 2018.

You can generate one at: https://github.com/settings/tokens

Then append it to your .profile, or something with:

export GITHUB_TOKEN="blah blah blah"
# or
export GITHUB_GIST_TOKEN="blah blah blah"

Or you can place it in the global configuration file (~/.gist/config.json):

{
  "gist_token": "blah blah blah"
}

Github Enterprise

To use with Github Enterprise, set the env. var GITHUB_GIST_API_ENDPOINT to your private Gist API endpoint.

License

MIT.

Hacking & bug reports

Yes please: file issues, or better send patches and pull-requests.

Dependencies

~6.5–8.5MB
~229K SLoC