From c16ce0519cd17cf6e07164cec9aae75bca8ea1d5 Mon Sep 17 00:00:00 2001 From: teramako Date: Sun, 20 Jul 2008 02:32:59 +0000 Subject: slコマンドとbeep時にslを走らせる git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@16046 d0d07461-0603-4401-acd4-de1884942a52 --- shuppoppo.js | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 shuppoppo.js (limited to 'shuppoppo.js') 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 @
( )
(@@@@)
( )

(@@@)
";' , + 'sl_steam[1]=" ( ) (@@) ( ) (@) () @@ O @ O @ O
(@@@)
( )
(@@@@)

( )
";', + 'var sl_body' , + ' =" ==== ________ ___________
"' , + ' +" _D _| |_______/ \\__I_I_____===__|_________|
"', + ' +" |(_)--- | H\\________/ | | =|___ ___| _________________
"', + ' +" / | | H | | | | ||_| |_|| _| \\_____A
"', + ' +" | | | H |__--------------------| [___] | =| |
"', + ' +" | ________|___H__/__|_____/[][]~\\_______| | -| |
"', + ' +" |/ | |-----------I_____I [][] [] D |=======|____|________________________|_
";', + 'var sl_wheels = [];', + 'sl_wheels[0]' , + ' ="__/ =| o |=-O=====O=====O=====O \\ ____Y___________|__|__________________________|_
"' , + ' +" |/-=|___|= || || || |_____/~\\___/ |_D__D__D_| |_D__D__D_|
"', + ' +" \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ \\_/ \\_/ \\_/ \\_/
";', + 'sl_wheels[1]' , + ' ="__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__|__________________________|_
"', + ' +" |/-=|___|=O=====O=====O=====O |_____/~\\___/ |_D__D__D_| |_D__D__D_|
"', + ' +" \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ \\_/ \\_/ \\_/ \\_/
";', + 'sl_wheels[2]' , + ' ="__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__|__________________________|_
"', + ' +" |/-=|___|= || || || |_____/~\\___/ |_D__D__D_| |_D__D__D_|
"', + ' +" \\_/ \\O=====O=====O=====O_/ \\_/ \\_/ \\_/ \\_/ \\_/
";', + 'sl_wheels[3]' , + ' ="__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__|__________________________|_
"', + ' +" |/-=|___|= || || || |_____/~\\___/ |_D__D__D_| |_D__D__D_|
"', + ' +" \\_/ \\_O=====O=====O=====O/ \\_/ \\_/ \\_/ \\_/ \\_/
";', + 'sl_wheels[4]' , + ' ="__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__|__________________________|_
"', + ' +" |/-=|___|= O=====O=====O=====O|_____/~\\___/ |_D__D__D_| |_D__D__D_|
"', + ' +" \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ \\_/ \\_/ \\_/ \\_/
";', + 'sl_wheels[5]' , + ' ="__/ =| o |=-~O=====O=====O=====O\\ ____Y___________|__|__________________________|_
"', + ' +" |/-=|___|= || || || |_____/~\\___/ |_D__D__D_| |_D__D__D_|
"', + ' +" \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ \\_/ \\_/ \\_/ \\_/
";', + "sl_steam[0] = sl_steam[0].replace(/ /g,' ');", + "sl_steam[1] = sl_steam[1].replace(/ /g,' ');", + "sl_body = sl_body.replace(/ /g,' ');", + "sl_wheels[0] = sl_wheels[0].replace(/ /g,' ');", + "sl_wheels[1] = sl_wheels[1].replace(/ /g,' ');", + "sl_wheels[2] = sl_wheels[2].replace(/ /g,' ');", + "sl_wheels[3] = sl_wheels[3].replace(/ /g,' ');", + "sl_wheels[4] = sl_wheels[4].replace(/ /g,' ');", + "sl_wheels[5] = sl_wheels[5].replace(/ /g,' ');", + '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 += '
'+sl_patterns[0]+'
';", + '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 += '

';", + '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; +})(); + -- cgit v1.2.3