-
-
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 |
Change the url pattern to /^(https?:\/\/)?(gist\.)?github.com/
if you want to gitio gist urls too.
@NARKOZ Updated, thanks!
@shurizzle, thanks :)
np
https://gist.github.com/1275673 | http://git.io/gitio <- shell version
I get 503 if a URL has already been shortened, if they are unique is there any way to retrieve an shorturl for a given longurl?
Made a small fix to make this not report an error on non-os x environments: https://gist.github.com/1844374
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/
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)
Sweet.