aboutsummaryrefslogtreecommitdiffstats
path: root/shuppoppo.js
blob: 9a9be0297cb14b050af0bc083852ff7ac2988258 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/**
 * 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  = sl_steam.map(function(s) s.replace(/ /g, '&nbsp;'));",
	"sl_body   = sl_body.replace(/ /g,'&nbsp;');",
	"sl_wheels = sl_wheels.map(function(s) s.replace(/ /g, '&nbsp;'));",
	'var sl_patterns = [0, 0, 0, 1, 1, 1];',
	'sl_patterns = sl_patterns.map(function(p, i) sl_steam[p] + sl_body + sl_wheels[i]);',
	'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 (let 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/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;
})();

se "<C-[>": closeMenus(current); liberator.options.guioptions = this.go; break; case "<Return>": if (toolbarOpen(hints[currentNum])) return; break; case "f": this.where = liberator.CURRENT_TAB; return; case "F": case "t": this.where = liberator.NEW_TAB; return; case "<Tab>": case "j": case "<S-Tab>": case "k": if (key == "j" || key == "<Tab>"){ currentNum = hints.length -1 == currentNum ? 0 : currentNum + 1; } else { currentNum = currentNum == 0 ? hints.length -1 : currentNum - 1; } useShift = true; updateSelector(); return; case "l": if (hints[currentNum].getAttribute("container") == "true"){ folderOpen(hints[currentNum]); } return; case "<BS>": if (key == "<BS>" && currentNum > 0){ currentNum = Math.floor(currentNum / 10); updateSelector(); return; } case "h": if (current == this.toolbar){ closeMenus(current); liberator.options.guioptions = this.go; this.quit(); } else { current.hidePopup(); clearTooltips(); this.show(current.parentNode.parentNode); } return; default: if (/^[0-9]$/.test(key)){ var num = parseInt(key,10); if (!useShift && currentNum) num += currentNum * 10; if (hints.length >= num*10){ currentNum = num - 1; updateSelector(); return; } if (hints[num-1]){ if (toolbarOpen(hints[num-1])) return; } } } liberator.plugins.bookmarkToolbarHints.quit(); }, quit: function(){ currentNum = 0; useShift = false; window.removeEventListener('keypress',onKeyPress,true); liberator.modes.reset(true); while(tooltipbox.hasChildNodes()){ tooltipbox.firstChild.hidePopup(); tooltipbox.removeChild(tooltipbox.firstChild); } } }; var tooltipbox = document.createElement('box'); tooltipbox.setAttribute('id','liberator-tooltip-container'); document.getElementById('liberator-container').appendChild(tooltipbox); return manager; })(); liberator.mappings.addUserMap([liberator.modes.NORMAL], ['<Leader>f'], 'Start Toolbar-HINTS (open current tab)', function(){ plugins.bookmarkToolbarHints.startup(liberator.CURRENT_TAB); }, { rhs: 'Bookmarks Toolbar-HINTS (current-tab)'} ); liberator.mappings.addUserMap([liberator.modes.NORMAL], ['<Leader>F'], 'Start Toolbar-HINTS (open new tab)', function(){ plugins.bookmarkToolbarHints.startup(liberator.NEW_TAB); }, { rhs: 'Bookmarks Toolbar-HINTS (new-tab)' } );