From bec0695adeaf60e51b37f97647c81adfa03135e0 Mon Sep 17 00:00:00 2001 From: snaka Date: Fri, 28 Aug 2009 22:58:57 +0000 Subject: Add new plugin for Egoist. git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@35119 d0d07461-0603-4401-acd4-de1884942a52 --- ego_counter.js | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 ego_counter.js (limited to 'ego_counter.js') diff --git a/ego_counter.js b/ego_counter.js new file mode 100644 index 0000000..4a5b061 --- /dev/null +++ b/ego_counter.js @@ -0,0 +1,46 @@ +/* + * ステータスバーにはてブ数を表示 + * + * Usage: + * let g:ego_counter_hatenaId = 'Your hatena ID' + * or + * js liberator.globalVariables.ego_counter_hatenaId = 'Your hatena ID' + * + */ +(function() { + + const MY_ID = liberator.globalVariables.ego_counter_hatenaId || ''; + let update = function(color) { + myHatebu.setAttribute( + 'src', + <>http://b.hatena.ne.jp/bc/{color}/http://d.hatena.ne.jp/{MY_ID}/.toSource() + ); + }; + + let rotate = (function() { + var current; + var colors = "bl de dg gr pr br rd sp pk te lg lb wh li or".split(" "); + + return function(next) { + if (!next) return current; + + current = colors.shift(); + colors.push(current); + return current; + }; + })(); + + let myHatebu = document.getElementById('status-bar') + .insertBefore(document.createElement('statusbarpanel'), + document.getElementById('security-button') + .nextSibling); + myHatebu.setAttribute('id', 'my-hatebu-count-icon'); + myHatebu.setAttribute('class', 'statusbarpanel-iconic'); + update(rotate(true)); + + setInterval(function() update(rotate(true)), 1000 * 60 * 10); + myHatebu.addEventListener("click", function(event){ + update(rotate(true)); + }, false); + +})() -- cgit v1.2.3