diff options
Diffstat (limited to 'addhatebu.js')
-rw-r--r-- | addhatebu.js | 46 |
1 files changed, 35 insertions, 11 deletions
diff --git a/addhatebu.js b/addhatebu.js index 98d0e5d..21f504b 100644 --- a/addhatebu.js +++ b/addhatebu.js @@ -1,6 +1,6 @@ // INFO // var INFO = -<plugin name="addhatebu.js" version="0.1" +<plugin name="addhatebu.js" version="0.2" summary="Add Hatena Bookmark" href="http://github.com/vimpr/vimperator-plugins/blob/master/addhatebu.js" xmlns="http://vimperator.org/namespaces/liberator"> @@ -20,15 +20,39 @@ var INFO = commands.addUserCommand( ['addhatebu'], 'Add Hatena Bookmark', - function(){ + function(args){ let contents=gBrowser.selectedBrowser.contentDocument; - let d=new Date; - let s=contents.createElement('script'); - s.charset='UTF-8'; - s.src='http://b.hatena.ne.jp/js/Hatena/Bookmark/let.js?' - +d.getFullYear() - +d.getMonth() - +d.getDate(); - (contents.getElementsByTagName('head')[0]||contents.body).appendChild(s); - } + if(args[0]==undefined||args[0]=='add'){ + let d=new Date; + let s=contents.createElement('script'); + s.charset='UTF-8'; + s.src='http://b.hatena.ne.jp/js/Hatena/Bookmark/let.js?' + +d.getFullYear() + +d.getMonth() + +d.getDate(); + (contents.getElementsByTagName('head')[0]||contents.body).appendChild(s); + }else if(args[0]=='cancel'){ + let target=contents + .getElementsByClassName('hatena-bookmark-bookmarklet-container') + .item(0); + let parent=target.parentNode; + parent.removeChild(target); + }else{ + liberator.echoerr('Invalid Parameter'); + return false; + } + },{ + completer : function(context, args){ + context.completions=[ + ['add','Add Hatena Bookmark'], + ['cancel','Cancel add Hatena Bookmark'] + ]; + }, + argCount : 0, + hereDoc : false, + bang : false, + count : false, + literal : false + }, + true ); |