MediaWiki:Common.js
El Kitakujo
Redakto de 07:40, 11. Okt 2007 de ArnoLagrange (Diskuto)
Notu: Post konservado vi forviŝu la kaŝmemoron de via foliumilo por vidi la ŝanĝojn : Mozilo: alklaku Reŝarĝi (aŭ Stir-Shift-R), IE / Opera: Stir-F5, Safari: Cmd-R, Konqueror Stir-R.
/* Ĉiu ajn JavaScriptaĵo ĉi tie estos ŝarĝita por ĉiu uzanto sur ĉiu paĝo. */ /* <pre> <nowiki> iletikedoj kaj rektaj klavoj */ ta = new Object(); ta['pt-userpage'] = new Array('.','Mia uzantopaĝo'); ta['pt-anonuserpage'] = new Array('.','La uzantopaĝo por la IP adreso sub kiu vi estas redaktanta'); ta['pt-mytalk'] = new Array('n','Mia diskutpaĝo'); ta['pt-anontalk'] = new Array('n','Diskuto pri redaktoj sub tiu ĉi IP adreso'); ta['pt-preferences'] = new Array('','Miaj preferoj'); ta['pt-watchlist'] = new Array('l','Listo de paĝoj kies ŝanĝojn vi priatentas.'); ta['pt-mycontris'] = new Array('y','Listo de miaj kontribuoj'); ta['pt-login'] = new Array('o','Vi estas invitita ensaluti, tamen ne estas devige.'); ta['pt-anonlogin'] = new Array('o','Vi estas invitita ensaluti, tamen ne estas devige.'); ta['pt-logout'] = new Array('o','Elsalutu'); ta['ca-talk'] = new Array('t','Diskuto pri la artikolo'); ta['ca-edit'] = new Array('e','Vi povas redakti tiun ĉi paĝon. Bv uzi la antaŭvidbutonon antaŭ ol konservi.'); ta['ca-addsection'] = new Array('+','Aldonu komenton al tiu diskuto.'); ta['ca-viewsource'] = new Array('e','Tiu paĝo estas protektita. Vi povas nur rigardi ties fonton.'); ta['ca-history'] = new Array('h','Antaŭaj versioj de tiu ĉi paĝo.'); ta['ca-protect'] = new Array('=','Protektu tiun ĉi paĝon'); ta['ca-delete'] = new Array('d','Forigu tiun ĉi paĝon'); ta['ca-undelete'] = new Array('d','Restarigu la redaktojn faritajn al tiu ĉi paĝo antaŭ ties forigo'); ta['ca-move'] = new Array('m','Renomu tiun ĉi paĝon'); ta['ca-nomove'] = new Array('','Vi ne rajtas renomi tiun ĉi paĝon'); ta['ca-watch'] = new Array('w','Aldonu tiun ĉi paĝon al via atentaro'); ta['ca-unwatch'] = new Array('w','Forigu tiun ĉi paĝon el via atentaro'); ta['search'] = new Array('f','Traserĉu tiun ĉi vikion'); ta['p-logo'] = new Array('','Ĉefpaĝo'); ta['n-mainpage'] = new Array('z','Vizitu la Ĉefpaĝon'); ta['n-portal'] = new Array('','Pri la projekto, kion vi povas fari, kie vi povas trovi ion'); ta['n-currentevents'] = new Array('','Trovu fonajn informojn pri nunaj eventoj'); ta['n-recentchanges'] = new Array('r','Listo de la lastaj ŝanĝoj en la vikio.'); ta['n-randompage'] = new Array('x','Vidu hazardan paĝon'); ta['n-help'] = new Array('','Serĉopaĝo.'); ta['n-sitesupport'] = new Array('','Subtenu nin per mono'); ta['t-whatlinkshere'] = new Array('j','Listo de ĉiuj vikiaj paĝoj kij ligas ĉi tien'); ta['t-recentchangeslinked'] = new Array('k','Lastaj ŝanĝoj en paĝoj kiuj ligas al tiu ĉi paĝo'); ta['feed-rss'] = new Array('','RSS-fonto por tiu ĉi paĝo'); ta['feed-atom'] = new Array('','Atom-fonto por ĉi paĝo'); ta['t-contributions'] = new Array('','Vidu la liston de kontribuoj de tiu ĉi uzanto'); ta['t-emailuser'] = new Array('','Sendu retmesaĝon al tiu ĉi uzanto'); ta['t-upload'] = new Array('u','Alŝutu bildojn aŭ dosierojn'); ta['t-specialpages'] = new Array('q','Listo de ĉiuj specialaj paĝoj'); ta['ca-nstab-main'] = new Array('c','Vidu la artikolon'); ta['ca-nstab-user'] = new Array('c','Vidu la personan paĝon de la uzanto'); ta['ca-nstab-media'] = new Array('c','Vidu la paĝon de la dosiero'); ta['ca-nstab-special'] = new Array('','Estas speciala paĝo, vi ne rajtas redakti ĝin.'); ta['ca-nstab-wp'] = new Array('a','Vidu la paĝon de la projekto'); ta['ca-nstab-image'] = new Array('c','Vidu la paĝon de la bildo'); ta['ca-nstab-mediawiki'] = new Array('c','Vidu la sisteman mesaĝon'); ta['ca-nstab-template'] = new Array('c','Vidu la ŝablonon'); ta['ca-nstab-help'] = new Array('c','Vidu la helppaĝon'); ta['ca-nstab-category'] = new Array('c','Vidu la paĝon de kategorioj'); function addLoadEvent(func) { if (window.addEventListener) window.addEventListener("load", func, false); else if (window.attachEvent) window.attachEvent("onload", func); } function LinkFA() { // iterate over all <span>-elements for(var i=0; a = document.getElementsByTagName("span")[i]; i++) { // if found a FA span if(a.className == "FA") { // iterate over all < li >-elements for(var j=0; b = document.getElementsByTagName("li")[j]; j++) { // if found a FA link if(b.className == "interwiki-" + a.id) { b.style.padding = "0 0 0 16px"; b.style.backgroundImage = "url('http://upload.wikimedia.org/wikipedia/eo/6/60/LinkFA-star.png')"; b.style.backgroundRepeat = "no-repeat"; b.title = "Ĉi tiu estas elstara artikolo."; } } } } } addLoadEvent(LinkFA); // ============================================================ // BEGIN Dynamic Navigation Bars (experimantal) // set up the words in your language var NavigationBarHide = '[ Kaŝu ]'; var NavigationBarShow = '[ Montru ]'; // set up max count of Navigation Bars on page, // if there are more, all will be hidden // NavigationBarShowDefault = 0; // all bars will be hidden // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden var NavigationBarShowDefault = 1; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == NavigationBarHide) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = NavigationBarHide; } } function addCharSubsetMenu() { var specialchars = document.getElementById('specialchars'); if (specialchars) { var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">"; menu += "<option>Specialaj simboloj</option>"; menu += "<option>Vikisintakso</option>"; menu += "<option>IPA-alfabeto</option>"; menu += "<option>Latinidaj</option>"; menu += "<option>AHD-alfabeto</option>"; menu += "<option>Araba</option>"; menu += "<option>Bosna/Serba/Kroata</option>"; menu += "<option>Cigana</option>"; menu += "<option>Cirila</option>"; menu += "<option>Ĉeĥa</option>"; menu += "<option>DMG-Transskribo</option>"; menu += "<option>Esperanto</option>"; menu += "<option>Estona</option>"; menu += "<option>Franca</option>"; menu += "<option>Gaela</option>"; menu += "<option>Greka</option>"; menu += "<option>Helena</option>"; menu += "<option>Havaja</option>"; menu += "<option>Hispana</option>"; menu += "<option>Hungara</option>"; menu += "<option>Islanda</option>"; menu += "<option>Itala</option>"; menu += "<option>Jida/Hebrea</option>"; menu += "<option>Kataluna</option>"; menu += "<option>Latva</option>"; menu += "<option>Litova</option>"; menu += "<option>Malnovangla</option>"; menu += "<option>Malteza</option>"; menu += "<option>Pinyin (ĉina latina)</option>"; menu += "<option>Pola</option>"; menu += "<option>Portugala</option>"; menu += "<option>Rumana</option>"; menu += "<option>Serba (cirila)</option>"; menu += "<option>Skandinava</option>"; menu += "<option>Slovaka</option>"; menu += "<option>Turka</option>"; menu += "<option>Vjetnama</option>"; menu += "</select>"; specialchars.innerHTML = menu + specialchars.innerHTML; // Standard-CharSubset chooseCharSubset(0); } } /* select subsection of special characters */ function chooseCharSubset(s) { var l = document.getElementById('specialchars').getElementsByTagName('p'); for (var i = 0; i < l.length ; i++) { l[i].style.display = i == s ? 'inline' : 'none'; l[i].style.visibility = i == s ? 'visible' : 'hidden'; } } addLoadEvent(addCharSubsetMenu); /* aldonas menuon por selekti subgrupojn da secialaj karaktroj */ /***** devas kongrui kun Ŝablono:Redakto *****/ function addBibSubsetMenu() { var specialBib = document.getElementById('specialBib'); if (specialBib) { specialBib.style.display = 'block'; var menu = "<select style=\"display:inline;\" onChange=\"chooseBibSubset(selectedIndex)\">"; menu += "<option>Liste</option>"; menu += "<option>WikiNorme</option>"; menu += "<option>BibTeX</option>"; menu += "<option>ISBD</option>"; menu += "<option>ISO690</option>"; menu += "</select>"; specialBib.innerHTML = specialBib.innerHTML + menu; } /* default subset - try to use a cookie some day */ chooseBibSubset(0); } /* select subsection of special characters */ function chooseBibSubset(s) { var l = document.getElementsByTagName('div'); for (var i = 0; i < l.length ; i++) { if(l[i].className == 'BibList') l[i].style.display = s == 0 ? 'block' : 'none'; else if(l[i].className == 'WikiNorme') l[i].style.display = s == 1 ? 'block' : 'none'; else if(l[i].className == 'BibTeX') l[i].style.display = s == 2 ? 'block' : 'none'; else if(l[i].className == 'ISBD') l[i].style.display = s == 3 ? 'block' : 'none'; else if(l[i].className == 'ISO690') l[i].style.display = s == 4 ? 'block' : 'none'; } } addLoadEvent(addBibSubsetMenu); addOnloadHook(addBibSubsetMenu); //============================================================ // // Ilaro // //============================================================ //============================================================ // Tabelkreilo //============================================================ /** * * English: Generate an array using Mediawiki syntax * * @author: fr:user:dake * @version: 0.1 */ function generateTableau(nbCol, nbRow, border, styleHeader, styleLine) { var code = "\n"; if (styleHeader==1) { code += '{'+'{TabelKapoLaŭĈarta}'+'}\n'; } else { code += '{| border="' + border + '"\n'; code += '|+ Tabeltitolo\n'; } for (var i=0;i<nbCol;i++) code += '! kapo ' + i + '\n' for (var j=0;j<nbRow;j++) { if ((j+1)%2==0 && styleLine==1) { code += '|-{'+'{GrizaLinio}'+'}\n' } else { code += '|-----\n' } for (var i=0;i<nbCol;i++) code += '| elemento\n'; } code += '|}'; insertTags('','', code); } /** * * English: Open a popup with parameters to generate an array. * The number of rows/columns can be modified. Some additional * parameters are related to templates available on :fr * * @author: fr:user:dake * @version: 0.1 */ function popupTableau() { var popup = window.open('','name','height=400,width=500'); javaCode = '<script type="text\/javascript">function insertCode(){'; javaCode += 'var row = parseInt(document.paramForm.inputRow.value); ' javaCode += 'var col = parseInt(document.paramForm.inputCol.value); ' javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); ' javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; ' javaCode += 'var styleLine = document.paramForm.inputLine.checked; ' javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); ' javaCode += '}<\/script>'; popup.document.write('<html><head><title>Parametroj de la tabelo</title>'); popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>'); popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; *]]>*/<\/style>'); popup.document.write(javaCode); popup.document.write('</head><body>'); popup.document.write('<p>Bonvolu entajpi la parametrojn de la tabelo : </p>'); popup.document.write('<form name="paramForm">'); popup.document.write('Lininombro : <input type="text" name="inputRow" value="3" ><p>'); popup.document.write('Kolumnnombro : <input type="text" name="inputCol" value="3" ><p>'); popup.document.write('Randolarĝeco : <input type="text" name="inputBorder" value="1" ><p>'); popup.document.write('Griza tabelkapo (stilo lauĉarta) : <input type="checkbox" name="inputHeader" checked="1" ><p>'); popup.document.write('Alternaj grizaj linioj (stilo lauĉarta) : <input type="checkbox" name="inputLine" checked="1" ><p>'); popup.document.write('</form">'); popup.document.write('<p><a href="javascript:insertCode()"> Enmetu la kodon en la redaktofenestron</a></p>'); popup.document.write('<p><a href="javascript:self.close()"> Fermu</a></p>'); popup.document.write('</body></html>'); popup.document.close(); } //============================================================ // Enmeto de novaj butonoj en la redaktilarstrio //============================================================ //Remplit la variable mwCustomEditButtons (voir /skins-1.5/commons/wikibits.js) pour ajouter des boutons à la barre d'outils function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText) { mwCustomEditButtons[mwCustomEditButtons.length] = {"imageFile": imageFile, "speedTip": speedTip, "tagOpen": tagOpen, "tagClose": tagClose, "sampleText": sampleText}; } addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/30/Btn_toolbar_rayer.png','Forstreki',"<s>","</s>",''); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png','Numerita listo',"\n# elemento 1\n# elemento 2\n# elemento 3","",''); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png','Listo',"\n* elemento A\n* elemento B\n* elemento C","",''); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/9/9e/Btn_toolbar_gallery.png','Bildaro',"\n<gallery>\nDosiero:M63.jpg|[[M63]]\nDosiero:Mona Lisa.jpg|[[La Gioconda]]\nDosiero:Truite arc-en-ciel.jpg|[[Fiŝo|Ĉielarka truto]]\n</gallery>","",''); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/37/Btn_toolbar_commentaire.png','Komento',"<!--","-->",''); addCustomButton('http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png','Redirekto',"#REDIRECT [[","]]",'redirektocelo'); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/b0/Button_category02.png','Kategorio',"[[Kategorio:","]]",'Kategorionomo'); //Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags function marque_tab() { var toolbar = document.getElementById('toolbar'); if (!toolbar) return false; var textbox = document.getElementById('wpTextbox1'); if (!textbox) return false; if (!document.selection && textbox.selectionStart == null) return false; var image = document.createElement("img"); image.width = 23; image.height = 22; image.src = 'http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png'; image.border = 0; image.alt = 'Tabelo'; image.title = 'Tabelo'; image.style.cursor = "pointer"; image.onclick = function() { popupTableau(); return false; } toolbar.appendChild(image); } addOnloadHook(marque_tab); function SpecialSearchEnhanced() { if (wgPageName == "Special:Search") { var mainNode = document.getElementsByTagName("form"); if (!mainNode) return; var searchValue = document.getElementById("lsearchbox").value; var firstForm = mainNode[0]; var node = document.createElement('center'); var googleSearch = '<hr /><p /><FORM method=GET action="http://www.google.com/search">'; googleSearch += '<TABLE bgcolor="#FFFFFF"><tr><td>'; googleSearch += '<A HREF="http://www.google.com">'; googleSearch += '<IMG SRC="http://www.google.com/logos/Logo_25wht.gif" border="0" '; googleSearch += 'ALT="Google" align="absmiddle"></A> '; googleSearch += '<INPUT TYPE=text name=q size=31 maxlength=255 value="' + searchValue + '">'; googleSearch += '<INPUT TYPE=hidden name=hl value=eo>'; googleSearch += '<INPUT TYPE=hidden name=as_sitesearch value=eo.wikipedia.org>'; googleSearch += '<INPUT type=submit name=btnG VALUE="Serĉi sur eo.wikipedia.org">'; googleSearch += '</td></tr></TABLE>'; googleSearch += '</FORM>'; var yahooSearch = '<FORM method=GET action="http://search.yahoo.com/search">'; yahooSearch += '<TABLE bgcolor="#FFFFFF"><tr><td>'; yahooSearch += '<A HREF="http://search.yahoo.com">'; yahooSearch += '<IMG SRC="http://us.yimg.com/i/yahootogo/y88red2.gif" alt="Yahoo!" border="0" '; yahooSearch += 'align="absmiddle"></A> '; yahooSearch += '<INPUT TYPE=text name=p size=31 maxlength=255 value="' + searchValue + '">'; yahooSearch += '<INPUT TYPE=hidden name=vs value=eo.wikipedia.org>'; yahooSearch += '<INPUT type=submit name=btnG VALUE="Serĉi sur eo.wikipedia.org">'; yahooSearch += '</td></tr></TABLE>'; yahooSearch += '</FORM>'; node.innerHTML = node.innerHTML + '<div id="enhancedSearch">' + googleSearch + yahooSearch + '</div>'; firstForm.parentNode.insertBefore(node, firstForm.nextSibling); } } addOnloadHook(SpecialSearchEnhanced); //============================================================ // // Kaŝskatoloj // //============================================================ // BEGIN Dynamic Navigation Bars (experimantal) // set up the words in your language var NavigationBarHide = '[ Kaŝi ]'; var NavigationBarShow = '[ Montri ]'; var NavigationBarShowDefault = 0; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // ajout par Dake - permet de créer un titre en lieu et place du "Dérouler" grâce // à l'attribut "title" du tag. var ShowText; if (NavFrame.title == undefined || NavFrame.title.length == 0 ) { ShowText = NavigationBarShow; } else { ShowText = NavFrame.title; } // if shown now if (NavToggle.firstChild.data == NavigationBarHide) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = ShowText; } } // if hidden now } else if (NavToggle.firstChild.data == ShowText) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } } } // adds show/hide-button to navigation bars function createNavigationBarToggleButton() { var indexNavigationBar = 0; // iterate over all < div >-elements for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) { // if found a navigation bar if (NavFrame.className == "NavFrame") { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); var NavToggleText = document.createTextNode(NavigationBarHide); NavToggle.appendChild(NavToggleText); // add NavToggle-Button as first div-element // in < div class="NavFrame" > NavFrame.insertBefore( NavToggle, NavFrame.firstChild ); NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } // if more Navigation Bars found than Default: hide all if (NavigationBarShowDefault < indexNavigationBar) { for( var i=1; i<=indexNavigationBar; i++ ) { toggleNavigationBar(i); } } } addOnloadHook(createNavigationBarToggleButton); // END Dynamic Navigation Bars /* </nowiki> </pre>*/ <math>Enmetu formulon ĉi tien</math> /** WikiMiniAtlas ******************************************************* * * Priskribo: WikiMiniAtlas estas ŝprucanta alklakebla kaj tirebla mondmapo. * La skripto estigas ke ĉiuj viaj koordinataj ligiloj montras la WikiMiniAtlas-ŝprucbutonon. * La skripto mem estas lokita sur meta ĉar ĝi estas uzata de multaj projektoj. * Vidu [[Meta:WikiMiniAtlas]] por plia informo. * Kreita de : [[:en:User:Dschwen]] */ document.write('<script type="text/javascript" src="' + 'http://meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js' + '&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400"></script>');