forked from vimpr/vimperator-plugins
-
Notifications
You must be signed in to change notification settings - Fork 1
/
goo.gl.js
55 lines (54 loc) · 1.74 KB
/
goo.gl.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// INFO //
var INFO =
<plugin name="goo.gl.js" version="0.1"
href="http://github.com/vimpr/vimperator-plugins/blob/master/goo.gl.js"
summary="Get shorten URL by goo.gl"
xmlns="http://vimperator.org/namespaces/liberator">
<author email="[email protected]">Mitsugu Oyama</author>
<author email="[email protected]">anekos</author>
<license href="http://opensource.org/licenses/mit-license.php">MIT</license>
<project name="Vimperator" minVersion="2.3"/>
<p>
You can get short URL by goo.gl by this plugin.
</p>
<item>
<tags>'goo.gl'</tags>
<spec>:googl <oa>Long URL</oa></spec>
<description>
<p>You can get short URL by <link topic="http://goo.gl/">goo.gl</link> by this plugin.</p>
</description>
</item>
</plugin>;
(function(){
let short_url=function(long_url){
let req=new XMLHttpRequest();
req.addEventListener("load",function(){
let response=JSON.parse(req.responseText);
liberator.echo(response.short_url);
util.copyToClipboard(response.short_url,true);
},false);
req.addEventListener("error",function(){
liberator.echo("Responce errror status from goo.gl. Status Code:" + req.status);
},false);
req.open("POST", "http://goo.gl/api/shorten?url="+encodeURIComponent(long_url));
req.setRequestHeader("X-Auth-Google-Url-Shortener","true");
req.send();
};
commands.addUserCommand(
["googl"],
"Get short URL from Google",
function(args){
let long_url;
if(args.length==0){
long_url=buffer.URL;
}else if(args.length==1){
long_url=args.literalArg;
}else{
liberator.echoerr('argument error');
return;
}
short_url(long_url);
}, {
literal: 0
}, true);
})();