/* NEW BSD LICENSE {{{
Copyright (c) 2008, anekos.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. The names of the authors may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
###################################################################################
# http://sourceforge.jp/projects/opensource/wiki/licenses%2Fnew_BSD_license #
# に参考になる日本語訳がありますが、有効なのは上記英文となります。 #
###################################################################################
}}} */
// PLUGIN_INFO {{{
let PLUGIN_INFO =
/* {{{
###################################################################################
# SL 部分は、Takahito Yagami さんの著作権物です。 #
# JavaScriptでSLを走らせる「SL.JS」を作りました ::: creazy photograph #
# http://creazy.net/2008/02/sl_js.html #
###################################################################################
}}} */
// PLUGIN_INFO {{{
let PLUGIN_INFO =
<VimperatorPlugin>
<name>Alert</name>
<name lang="ja">アラート</name>
<description>Displays an alert after the specified time.</description>
<description lang="ja">指定時間後にアラートダイアログを出したりする。タイマー。</description>
<version>1.01</version>
<author mail="anekos@snca.net" homepage="http://d.hatena.ne.jp/nokturnalmortum/">anekos</author>
<minVersion>2.0pre</minVersion>
<maxVersion>2.0pre</maxVersion>
<detail lang="ja"><![CDATA[
かなり変梃な仕様です。
== Command ==
:alert [<TIME> | <METHOD> | <MESSAGE>] ...:
<TIME> 分後に、<MESSAGE> を表示する。
<METHOD> でアラート方法を指定する。
引数はどのような順番でも良い。
e.g.:
>||
:alert 1.5 ugh
:alert -meow=4 -alert 2.0 This is Message!
:alert This 1.5 -meow=4 -pokimon=10 is Message!
||<
== Methods ==
:-alert:
標準的な JS の alert
:-gunsou:
恐ろしい軍曹が出現
:-pokimon:
ピッカー!
使用には注意してください!
:-meow:
"みゃお"
:-quit:
Firefox を終了する
== Thanks ==
SL 部分は下記のスクリプトからパクリました!
プラグインから呼べるように多少書き換えています。
JavaScriptでSLを走らせる「SL.JS」を作りました ::: creazy photograph
http://creazy.net/2008/02/sl_js.html
]]></detail>
</VimperatorPlugin>;
// }}}
(function () {
////////////////////////////////////////////////////////////////////////////////
// SL - copyright (c) Takahito Yagami
////////////////////////////////////////////////////////////////////////////////
let sl = function (next) {
var document = content.document;
/**
* SL.JS
*
* # execute bookmarklet below
* javascript:(function(){var d=document,sl_open,sl_run,sl_close,s=d.createElement('script');s.charset='UTF-8';s.src='http://labs.creazy.net/sl/bookmarklet.js';d.body.appendChild(s)})();
*
* @author Takahito Yagami <takahito.yagami[at]gmail[dot]com> (a.k.a yager)
* @version v1.0.0 2008/02/16
*/
(function(){
//------------------------------------------------------------
// Setting (You can chage options in this block)
//------------------------------------------------------------
var sl_speed = 100;
var sl_pitch = 15;
var sl_tx_color = "#FFFFFF";
var sl_bg_color = "#000000";
//------------------------------------------------------------
//------------------------------------------------------------
// SL Parts
//------------------------------------------------------------
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,' ');
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];
//------------------------------------------------------------
// SL Initialize
//------------------------------------------------------------
var sl_counter = 0;
var sl_position = 0;
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
if (window.opera||document.layers) {
var windowWidth = window.innerWidth;
} else if (document.all) {
var windowWidth = document.body.clientWidth;
} else if(document.getElementById){
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+100)+'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+100)+'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>';
//------------------------------------------------------------
// Actions
//------------------------------------------------------------
var sl_bg_counter = 0;
/**
* sl_open (gradually open background)
*/
sl_open = function() {
var oid = "__sl_background__";
var op = sl_bg_counter;
var ua = navigator.userAgent
document.getElementById(oid).style.filter =