-
Star
(112)
You must be signed in to star a gist -
Fork
(32)
You must be signed in to fork a gist
-
-
Save defunkt/1209316 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby | |
# Usage: gitio URL [CODE] | |
# | |
# Turns a github.com URL | |
# into a git.io URL | |
# | |
# Copies the git.io URL to your clipboard. | |
url = ARGV[0] | |
code = ARGV[1] | |
if url !~ /^(https?:\/\/)?(gist\.)?github.com/ | |
abort "* github.com URLs only" | |
end | |
if url !~ /^http/ | |
url = "https://#{url}" | |
end | |
if code | |
code = "-F code=#{code}" | |
end | |
output = `curl -i http://git.io -F 'url=#{url}' #{code} 2> /dev/null` | |
if output =~ /Location: (.+)\n?/ | |
puts $1 | |
`echo #$1 | pbcopy` | |
else | |
puts output | |
end |
It is great if you name it git-io
in your path. Then you can use it with git io
.
👍
I notice you can pass codes, where can I find out what codes can be passed and what they do?
Any chance that githubusercontent.com will be handled by git.io too?
This will handle raw code: https://git.io/git.io and insure uniqueness -- written in Bash though.
the urls has changed. it's now a post to git.io/create
but the code
option no longer seems to work 😭 no more vanity urls
@branderxero are you sure /create
works? Has the request structure changed in any other way? I can't get it to work. Just keeps giving me a 301
pointing to whatever URL I use.
Okay, I've had some success. /create
doesn't make any difference, and you can still use the code
option but the request has to be secure. https://git.io
@basicallydan Are you sure you can still use the code
option? Can you provide a complete example? Because I'm finding that I can't..
@basicallydan @dwijnand - Yep seems code
no longer works. A bug was reported in my library (https://github.com/tanepiper/node-gitio) and I can't get it to work with new urls (test pass because it's older urls that were set)
Maybe you should change the pattern again in order to get the raw version of the gists (useful from a shell perspective ;-)
->
if url !~ /^(https?://)?((gist|raw).)?github.com/