Create and upload a Gist from the command line on Windows, Mac, and Linux! Then just use git as normal to update it.
Simply goto the directory you want to upload as a Gist and type gistup *
and your done. Just want to create an empty Gist with repository access goto to your empty directory and enter the command gistup
. Prefer to only use a single file in a directory, say index.html just type gistup index.html
Then you can view the results as a Block like this 👍, For more information, read the tutorial: Let’s Make a Block and see what you can make.
This update of https://github.com/mbostock/gistup includes several enhancements including an ablity to create Gists using Windows cmd.exe, Powershell, MingW, Msys2 and other terminals inlcuding Linux and Mac systems.
npm install -g gistup
The first time you run gistup, you’ll be prompted to create a GitHub personal access token. You can revoke the token in the future from your GitHub application settings.
To upload all files in the current directory to your new gist:
gistup
If you just want to create a gist from a single file, try this instead:
gistup index.html
If you specify any options, such as a private gist, you must separate files from options with a double-dash (--) like this:
gistup --private -- index.html index2.html
Or specify the files prior to any options such as
gistup index.html index2.html --private
Additionally, wildcards are accepted to get all files in a directory:
gistup *
gistup -- *
If you want to update your gist later, just use git:
edit index.html
git commit -m 'Made some awesome changes.'
git push
Gistup works with binary files, too!
Arguments:
- --description, -m - provide an optional description
- --interactive, -i - request confirmation of every file before adding
- --exclude, -x - skip files matching pattern; may use wildcards
- --private, --no-public - make a secret gist
- --open [url] - specify the URL to open after creating the gist
- --no-open - don’t open the created gist in your web browser when done
- --remote - specify the name of the git remote
- --norepo - specify that no repo should be created in the current directory
- --help - show some help
- --version - print the current version of gistup
Gistup comes bundled with two helper programs: gistup-rename
and gistup-open
. Use gistup-rename "description of gist"
to update the description of the gist in the current directory and gistup-open
to open it for viewing in your default browser.
Gistup will allow you to apply Git configuration options to your Gist as desired. Configuration option will be applied when provided as exampled in the .gistup.json file located in your home directory after your first run it should be auto generated after you provide the personal access token.
{
"token": "X1x0X1x0X1x0X1x0X1x0X1x0X1x0X1x0X1x0X1x0",
"open": "xdg-open",
"gitConfigs": []
}
For example this would apply color.ui false
and core.autocrlf false
to your Gists.
{
"token": "X1x0X1x0X1x0X1x0X1x0X1x0X1x0X1x0X1x0X1x0",
"open": "open",
"gitConfigs": [
"color.ui false",
"core.autocrlf false"
]
}
The open
setting should be set to xdg-open
, open
, or start
depending on your OS (Linux), (Mac | Linux), (Win) respectively.
If you see the following error:
Error: Command failed: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
You probably need to generate your SSH keys for GitHub. These keys give you permission to git push to your repositories, including Gists.
If you’re unable to follow the first-time setup to create a personal access token, you can create a new access token by hand. The only required permission is "gist". You can then create a .gistup.json file in your home directory, with the following contents:
{
"token": "X1x0X1x0X1x0X1x0X1x0X1x0X1x0X1x0X1x0X1x0"
}
Replace the numbers 0123456789… with your access token and save.