aboutsummaryrefslogtreecommitdiffstats
path: root/shuppoppo.js
diff options
context:
space:
mode:
authorteramako2008-07-20 02:32:59 +0000
committerteramako2008-07-20 02:32:59 +0000
commitc16ce0519cd17cf6e07164cec9aae75bca8ea1d5 (patch)
treee4df68e823a16f669a1b1c73e2f1c16b87099576 /shuppoppo.js
parentc4805d4bf4f2e9e23216abf3af4efcfe03656e9e (diff)
downloadvimperator-plugins-c16ce0519cd17cf6e07164cec9aae75bca8ea1d5.tar.bz2
slコマンドとbeep時にslを走らせる
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@16046 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'shuppoppo.js')
-rw-r--r--shuppoppo.js165
1 files changed, 165 insertions, 0 deletions
diff --git a/shuppoppo.js b/shuppoppo.js
new file mode 100644
index 0000000..ef6df51
--- /dev/null
+++ b/shuppoppo.js
@@ -0,0 +1,165 @@
+/**
+ * shuppoppo.js
+ *
+ * 元ネタ:
+ * JavaScriptでSLを走らせる「SL.JS」を作りました ::: creazy photograph
+ * http://creazy.net/2008/02/sl_js.html
+ *
+ * VARIABLES:
+ * let g:sl_speed = "100"
+ * let g:sl_pitch = "15"
+ * let g:sl_fg_color = "#FFFFFF"
+ * let g:sl_bg_color = "#000000"
+ *
+ * OPTION
+ * set [no]slbeep
+ */
+//:js (function(){echo('\n\n\n\n\n\n\n\n\n\n\n\n\n',true); var f=$('liberator-multiline-output');var d=f.contentDocument,s=d.createElement('script');s.src="http://labs.creazy.net/sl/bookmarklet.js";d.body.appendChild(s);})()
+
+liberator.plugins.sl = (function(){
+// COMMAND
+liberator.commands.addUserCommand(['sl'],'キータイプを矯正します。',
+ function(){
+ sl();
+ },{},true);
+// OPTION
+liberator.options.add(['slbeep'],'beepをSLに変更します','boolean',false);
+
+var f = document.getElementById('liberator-multiline-output');
+var d = f.contentDocument;
+var data = [ // {{{
+ 'var sl_steam=[];' ,
+ 'sl_steam[0]=" (@@) ( ) (@) ( ) @@ () @ O @ O @<br> ( )<br> (@@@@)<br> ( )<br><br> (@@@)<br>";' ,
+ 'sl_steam[1]=" ( ) (@@) ( ) (@) () @@ O @ O @ O<br> (@@@)<br> ( )<br> (@@@@)<br><br> ( )<br>";',
+ 'var sl_body' ,
+ ' =" ==== ________ ___________ <br>"' ,
+ ' +" _D _| |_______/ \\__I_I_____===__|_________| <br>"',
+ ' +" |(_)--- | H\\________/ | | =|___ ___| _________________ <br>"',
+ ' +" / | | H | | | | ||_| |_|| _| \\_____A <br>"',
+ ' +" | | | H |__--------------------| [___] | =| | <br>"',
+ ' +" | ________|___H__/__|_____/[][]~\\_______| | -| | <br>"',
+ ' +" |/ | |-----------I_____I [][] [] D |=======|____|________________________|_ <br>";',
+ 'var sl_wheels = [];',
+ 'sl_wheels[0]' ,
+ ' ="__/ =| o |=-O=====O=====O=====O \\ ____Y___________|__|__________________________|_ <br>"' ,
+ ' +" |/-=|___|= || || || |_____/~\\___/ |_D__D__D_| |_D__D__D_| <br>"',
+ ' +" \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ \\_/ \\_/ \\_/ \\_/ <br>";',
+ 'sl_wheels[1]' ,
+ ' ="__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__|__________________________|_ <br>"',
+ ' +" |/-=|___|=O=====O=====O=====O |_____/~\\___/ |_D__D__D_| |_D__D__D_| <br>"',
+ ' +" \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ \\_/ \\_/ \\_/ \\_/ <br>";',
+ 'sl_wheels[2]' ,
+ ' ="__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__|__________________________|_ <br>"',
+ ' +" |/-=|___|= || || || |_____/~\\___/ |_D__D__D_| |_D__D__D_| <br>"',
+ ' +" \\_/ \\O=====O=====O=====O_/ \\_/ \\_/ \\_/ \\_/ \\_/ <br>";',
+ 'sl_wheels[3]' ,
+ ' ="__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__|__________________________|_ <br>"',
+ ' +" |/-=|___|= || || || |_____/~\\___/ |_D__D__D_| |_D__D__D_| <br>"',
+ ' +" \\_/ \\_O=====O=====O=====O/ \\_/ \\_/ \\_/ \\_/ \\_/ <br>";',
+ 'sl_wheels[4]' ,
+ ' ="__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__|__________________________|_ <br>"',
+ ' +" |/-=|___|= O=====O=====O=====O|_____/~\\___/ |_D__D__D_| |_D__D__D_| <br>"',
+ ' +" \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ \\_/ \\_/ \\_/ \\_/ <br>";',
+ 'sl_wheels[5]' ,
+ ' ="__/ =| o |=-~O=====O=====O=====O\\ ____Y___________|__|__________________________|_ <br>"',
+ ' +" |/-=|___|= || || || |_____/~\\___/ |_D__D__D_| |_D__D__D_| <br>"',
+ ' +" \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ \\_/ \\_/ \\_/ \\_/ <br>";',
+ "sl_steam[0] = sl_steam[0].replace(/ /g,'&nbsp;');",
+ "sl_steam[1] = sl_steam[1].replace(/ /g,'&nbsp;');",
+ "sl_body = sl_body.replace(/ /g,'&nbsp;');",
+ "sl_wheels[0] = sl_wheels[0].replace(/ /g,'&nbsp;');",
+ "sl_wheels[1] = sl_wheels[1].replace(/ /g,'&nbsp;');",
+ "sl_wheels[2] = sl_wheels[2].replace(/ /g,'&nbsp;');",
+ "sl_wheels[3] = sl_wheels[3].replace(/ /g,'&nbsp;');",
+ "sl_wheels[4] = sl_wheels[4].replace(/ /g,'&nbsp;');",
+ "sl_wheels[5] = sl_wheels[5].replace(/ /g,'&nbsp;');",
+ 'var sl_patterns = [];',
+ 'sl_patterns[0] = sl_steam[0] + sl_body + sl_wheels[0];',
+ 'sl_patterns[1] = sl_steam[0] + sl_body + sl_wheels[1];',
+ 'sl_patterns[2] = sl_steam[0] + sl_body + sl_wheels[2];',
+ 'sl_patterns[3] = sl_steam[1] + sl_body + sl_wheels[3];',
+ 'sl_patterns[4] = sl_steam[1] + sl_body + sl_wheels[4];',
+ 'sl_patterns[5] = sl_steam[1] + sl_body + sl_wheels[5];',
+ 'var sl_counter = 0;',
+ 'var sl_position = 0;',
+ 'var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;',
+ 'var windowWidth = window.innerWidth;',
+ "var sl_style_base ='display: block;position: absolute;text-align: left;overflow: visible;white-space: pre;font: 12px/12px monospace;';",
+ "var sl_style_main =sl_style_base +'top: '+(scrollTop+0)+'px;' +'left: '+windowWidth+'px;' +'padding: 20px;' +'z-index: 999;' +'color: '+sl_tx_color+';';",
+ "document.body.innerHTML += '<div id=\"__sl_main__\" style=\"'+sl_style_main+'\">'+sl_patterns[0]+'</div>';",
+ 'var sl_w = document.getElementById("__sl_main__").clientWidth;',
+ 'var sl_h = document.getElementById("__sl_main__").clientHeight;',
+ "var sl_style_background =sl_style_base +'top: '+(scrollTop+0)+'px;' +'left: 0px;' +'width: '+windowWidth+'px;' +'height: '+sl_h+'px;' +'z-index: 998;' +'background-color: '+sl_bg_color+';' +'filter: alpha(opacity=0);' +'-moz-opacity: 0.0;' +'opacity: 0.0;';",
+ "document.body.innerHTML += '<div id=\"__sl_background__\" style=\"'+sl_style_background+'\"><br /></div>';",
+ 'var sl_bg_counter = 0;',
+ 'sl_open = function() {',
+ ' var oid = "__sl_background__";',
+ ' var op = sl_bg_counter;',
+ ' var ua = navigator.userAgent',
+ " document.getElementById(oid).style.filter = 'alpha(opacity=' + (op * 10) + ')';",
+ ' document.getElementById(oid).style.MozOpacity = op / 10;',
+ ' document.getElementById(oid).style.opacity = op / 10;',
+ ' if ( sl_bg_counter < 8 ) {',
+ ' sl_bg_counter++;',
+ " setTimeout('sl_open()',100);",
+ ' } else {',
+ ' sl_run();',
+ ' }}',
+ 'sl_run = function() {',
+ ' document.getElementById("__sl_main__").innerHTML = sl_patterns[sl_counter];',
+ ' document.getElementById("__sl_main__").style.left = windowWidth - sl_position + "px";',
+ ' if (sl_counter < 5) {sl_counter++;} else {sl_counter=0;}',
+ ' sl_position += sl_pitch;',
+ ' if ( sl_w + (windowWidth - sl_position) < 0 ) {',
+ ' sl_counter = 0;',
+ ' sl_position = 0;',
+ ' document.body.removeChild(document.getElementById("__sl_main__"));',
+ ' sl_close();',
+ ' } else {',
+ " setTimeout('sl_run()',sl_speed);",
+ ' }}',
+ 'sl_close = function() {',
+ ' var oid = "__sl_background__";',
+ ' var op = sl_bg_counter;',
+ ' var ua = navigator.userAgent',
+ ' document.getElementById(oid).style.MozOpacity = op / 10;',
+ ' if ( sl_bg_counter > 0 ) {',
+ ' sl_bg_counter--;',
+ " setTimeout('sl_close()',100);",
+ ' } else {',
+ ' document.body.removeChild(document.getElementById(oid));',
+ ' }}',
+ 'sl_open();'].join('\n'); //}}}
+function sl(){
+ //'var sl_speed=100,sl_pitch=15,sl_tx_color="#FFFFFF",sl_bg_color="#000000",sl_steam=[];' ,
+ var option = {
+ sl_speed : 100,
+ sl_pitch : 15,
+ sl_fg_color : "#FFFFFF",
+ sl_bg_color : "#000000"
+ };
+ for (var v in option){
+ if (liberator.globalVariables[v]) option[v] = liberator.globalVariables[v];
+ }
+ var option_code = "var sl_speed=" + option.sl_speed +
+ ",sl_pitch=" + option.sl_pitch +
+ ",sl_tx_color=\"" + option.sl_fg_color + "\"" +
+ ",sl_bg_color=\"" + option.sl_bg_color + "\";\n";
+ var script = d.createElement('script');
+ script.setAttribute('type','application/x-javascript');
+ var cdata = document.createCDATASection(option_code + data);
+ //var cdata = d.createComment(data);
+ script.appendChild(cdata);
+ liberator.echo('\n\n\n\n\n\n\n\n\n\n\n\n\n',true);
+ d.body.appendChild(script);
+};
+var orig_beep = liberator.beep;
+liberator.beep = function(){
+ if (liberator.options.sl_beep)
+ sl();
+ else
+ orig_beep();
+}
+return sl;
+})();
+