-
-
Save rubo77/3b8b15f4df5b5287a24f87523c41e4ce to your computer and use it in GitHub Desktop.
A utility to create a gists from command line - for support, please check the repo https://github.com/ceremcem/create-gist
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
GITHUB_USERNAME=rubo77 | |
if [ "$1" == "" ]; then | |
echo 'usage: gistfile-post.sh filename [gistname]' | |
exit 0 | |
fi | |
# 0. file name for the Gist | |
if [ "$2" == "" ]; then | |
FNAME="$1" | |
else | |
FNAME="$2" | |
fi | |
# 1. Somehow sanitize the file content | |
# Remove \r (from Windows end-of-lines), | |
# Replace tabs by \t | |
# Replace " by \" | |
# Replace EOL by \n | |
CONTENT=$(sed -e 's/\r//' -e's/\t/\\t/g' -e 's/"/\\"/g' "${FNAME}" | awk '{ printf($0 "\\n") }') | |
# 2. Build the JSON request | |
read -r -d '' DESC <<EOF | |
{ | |
"description": "some description", | |
"public": true, | |
"files": { | |
"${FNAME}": { | |
"content": "${CONTENT}" | |
} | |
} | |
} | |
EOF | |
# 3. Use curl to send a POST request | |
# ANONYMOUS GIST : | |
# curl -X POST -d "${DESC}" "https://api.github.com/gists" | |
# REGISTERED USER | |
curl -u "${GITHUB_USERNAME}" -X POST -d "${DESC}" "https://api.github.com/gists" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This was original asked here: https://stackoverflow.com/questions/26484337/upload-a-file-to-a-gist-with-bash and we continued the development from there.