diff options
author | mitsugu oyama | 2010-10-23 05:52:24 +0900 |
---|---|---|
committer | mitsugu oyama | 2010-10-23 05:52:24 +0900 |
commit | 65514f83492d4a063d64005fa443dc202e819b66 (patch) | |
tree | 68f50cf109be8a78746096e16d8115193f2f108c | |
parent | 1135602e703be7a8708244bd8ed78c78c4174ae7 (diff) | |
download | vimperator-plugins-65514f83492d4a063d64005fa443dc202e819b66.tar.bz2 |
Add goo.gl.jp
goo.glで短縮URLを取得して表示 and Yankするよ
-rw-r--r-- | goo.gl.js | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/goo.gl.js b/goo.gl.js new file mode 100644 index 0000000..f30271a --- /dev/null +++ b/goo.gl.js @@ -0,0 +1,101 @@ +/* The MIT License {{{ + +Copyright (c) 2010, mitsugu oyama +Copyright (c) 2010, anekos + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +}}} */ + +// INFO // +var INFO = +<plugin name="goo.gl.js" version="0.1" + href="http://gist.github.com/630237" + summary="goo.gl.js" + xmlns="http://vimperator.org/namespaces/liberator"> + <author email="mitsugu.oyama@gmail.com">Mitsugu Oyama</author> + <author email="anekos@snca.net">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>; + +// PLUGIN_INFO//{{{ +var PLUGIN_INFO = +<VimperatorPlugin> + <name>googl</name> + <description>Get short URL from Google</description> + <author mail="mitsugu.oyama@gmail.com" homepage="http://myscript.zouri.jp/">mitsugu oyama</author> + <author mail="anekos@snca.net" homepage="http://d.hatena.ne.jp/nokturnalmortum/">anekos</author> + <version>0.0.1</version> + <minVersion>2.0pre</minVersion> + <maxVersion>2.4pre</maxVersion> + <detail><![CDATA[ + + == Commands == + googl: + :googl [long-URL] + + == Note == + + ]]></detail> +</VimperatorPlugin>; +//}}} + +(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); +})();
\ No newline at end of file |