コンテンツにスキップ
Wikipedia

利用者:Suisui/jastyle.js

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

多くの WindowsLinux のブラウザ

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

Mac における Safari

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

Mac における ChromeFirefox

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

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

 // jastyle
 varjastyle_version='0.5.1';

 functioninstall_jastyle(){
 varf=document.getElementById("editform");
 if(!f)return;

 varhtml='';
 if(/ns-0/.test(document.body.className)){
 if(f.addEventListener)f.addEventListener("submit",jastyle,false);
 elseif(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+')';

 varp=document.createElement('p');
 p.innerHTML=html;
 f.parentNode.insertBefore(p,f);
 }

 functionjastyle(){
 vardont=document.getElementById('dontstyle');
 if(dont&&dont.checked)return;

 varstrips=newArray();
 varedit=document.getElementById('wpTextbox1');
 vartmp=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(/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(/10/g,'(10)').replace(/11/g,'(11)').replace(/12/g,'(12)').
 replace(/13/g,'(13)').replace(/14/g,'(14)').replace(/15/g,'(15)').
 replace(/16/g,'(16)').replace(/17/g,'(17)').replace(/18/g,'(18)').
 replace(/19/g,'(19)').replace(/20/g,'(20)').
 replace(/I/g,'I').replace(/II/g,'II').replace(/III/g,'III').
 replace(/IV/g,'IV').replace(/V/g,'V').replace(/VI/g,'VI').
 replace(/VII/g,'VII').replace(/VIII/g,'VIII').replace(/IX/g,'IX').
 replace(/X/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(/mm/g,'mm').replace(/cm/g,'cm').replace(/km/g,'km').
 replace(/mg/g,'mg').replace(/kg/g,'kg').replace(/cc/g,'cc').
 replace(/m2/g,'m&sup2;').replace(/平成/g,'平成').
 replace(/〝/g,'「').replace(/〟/g,'」').replace(/No/g,'No.').
 replace(/KK/g,'K.K.').replace(/TEL/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,'1ドルCategory:').
 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){returnstr.toLowerCase();}).
 replace(/<\/(center|div|span|font|tr|td|th|table|caption)>/ig,
 function(str){returnstr.toLowerCase();}).
 replace(/(cell(padd|spac)ing|v?align|width|style|border)\s*=\s*/ig,
 function(str,p1){returnp1.toLowerCase()+'=';});

 // strip
 varn,nl;
 while((n=tmp.search(/<pre[^>]*>/i))!=-1){
 varnl=tmp.search(/<\/pre>/i);
 if(nl==-1){
 tmp=tmp.replace(/<pre/g,'&lt;pre');
 break;
 }elseif(nl<n){
 tmp=tmp.replace(/<\/(pre)>/i,'&lt;/1ドル&gt;');
 continue;
 }
 vars=tmp.substring(n,nl+6);
 vari=strips.length;
 tmp=tmp.substr(0,n)+'<!--@@ jastyle-STRIP-'+i+' @@-->'
 +tmp.substr(nl+6);
 strips[i]=s;
 }

 // 行頭認識がいるもの
 varlines=tmp.split('\n');
 varout='';
 for(vari=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){
 varch=hex?parseInt("0"+hex):parseInt(dec,10);
 returnString.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){returnstrips[n];});

 edit.value=out+"\n";
 returntrue;
 }

 $(install_jastyle);

AltStyle によって変換されたページ (->オリジナル) /