MediaWiki:Common.js
El Komunejo
Redakto de 19:10, 16. Jun 2008 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 JavaSkriptaĵ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'); //============================================================ // // KAŜSKATOLOJ // //============================================================ // BEGIN Dynamic Navigation Bars (eksperimenta) // set up the words in your language var NavigationBarHide = '[ Kaŝi ]'; var NavigationBarShow = '[ Montri ]'; 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; } // 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 //============================================================ // // ELSTARAJ KAJ LEGINDAJ ARTIKOLOJ // //============================================================ /** * Aldonas apartan signon al interlingvaj ligiloj al elstaraj au legindaj artikoloj */ function LinkFA() { // links are only replaced in p-lang var pLang = document.getElementById("p-lang"); if (!pLang) return; var lis = pLang.getElementsByTagName("li"); for (var i=0; i<lis.length; i++) { var li = lis[i]; // FA- estas celita por respndi al ŝablono LigoElstara : nepre ne ŝanĝenda if (document.getElementById("FA-" + li.className)) { li.className += " FA"; li.title = "Ĉi tiu estas elstara artikolo."; } else if (document.getElementById("BA-" + li.className)) { li.className += " BA"; li.title = "Ĉi tiu estas leginda artikolo."; } else if (document.getElementById("PdQ-" + li.className)) { li.className += " PdQ"; li.title = "Ĉi tiu estas elstara portalo"; } } } addOnloadHook(LinkFA); //============================================================ // // 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 //============================================================ //Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags //Plenigas la variablon mwCustomEditButtons (vidu /skins-1.5/commons/wikibits.js) por aldoni butonojn en la redaktostrio function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText, imageId) { mwCustomEditButtons[mwCustomEditButtons.length] = {"imageId": imageId, "imageFile": imageFile, "speedTip": speedTip, "tagOpen": tagOpen, "tagClose": tagClose, "sampleText": sampleText}; } addCustomButton('http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png','Tabelo','{|\n|-\n|\n|\n|}','','','mw-editbutton-array'); if (wgNamespaceNumber != 0) addCustomButton('http://upload.wikimedia.org/wikipedia/commons/c/c9/Button_strike.png','Forstreki','<s>','</s>','','mw-editbutton-strike'); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png','Numerita listo','\n# elemento 1\n# elemento 2\n# elemento 3','','','mw-editbutton-enum'); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png','Listo','\n* elemento A\n* elemento B\n* elemento C','','','mw-editbutton-liste'); 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>','','','mw-editbutton-gallery'); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/37/Btn_toolbar_commentaire.png','Komento','<!--','-->','','mw-editbutton-comment'); addCustomButton('http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png','Redirekto','#REDIRECT [[',']]','redirektocelo','mw-editbutton-redir'); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/3b/Button_template_alt.png','Ŝablono','{{','}}','enmetenda ŝablono aŭ paĝo','mw-editbutton-template'); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/c/c4/Button_ref.png','Referenco','<ref>','</ref>','reference, citaĵo aŭ ligilo','mw-editbutton-ref'); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/6/64/Buttonrefvs8.png','Referenca sekcio','== Notoj kaj referencoj ==\n<references /> <!-- Helpo : http://eo.wikipedia.org/wiki/Helpo:Referencoj kaj piednotoj -->','','','mw-editbutton-references'); addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/b0/Button_category02.png','Kategorio','[[Kategorio:',']]','Kategorionomo','mw-editbutton-category'); var viduAnkau = '<!-- Aneksprezentsugesto helpo : http://eo.wikipedia.org/wiki/Helpo:Referencoj kaj piednotoj -->\n' + '== Notoj kaj referencoj de la artikolo ==\n' + '<references/>\n' + '== Vidu ankaŭ ==\n' + '=== Rilataj artikoloj ===\n' + '* [[Anstataŭigenda]]\n' + '*\n' + '=== Eksteraj ligiloj kaj dokumentoj===\n' + '*\n'; addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/bb/Seealso.png','Sekcio Vidu ankaŭ',viduAnkau,'','','mw-editbutton-voiraussi'); // Ŝanĝi la ligilon de la tabelkrea butono kaj forigas la subskriban butonon el artikolaj paĝoj function chang_buttons() { toolbarArray = document.getElementById('mw-editbutton-array'); if (toolbarArray) { toolbarArray.onclick = function() { popupTableau(); return false; } } var btnSigImg = document.getElementById('mw-editbutton-signature'); if (btnSigImg && wgNamespaceNumber == 0) btnSigImg.style.display = "none"; } hookEvent('load', chang_buttons); /** 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>'); // Ebligas montri kaŝitajn kategoriojn por enskribitaj uzuloj // aldonante (+) kiel ĉe kaŝskatoloj function hiddencat() { var cl = document.getElementById('catlinks'); if(!cl) return; var hc = document.getElementById('mw-hidden-catlinks'); if(!hc) return; var nc = document.getElementById('mw-normal-catlinks'); if(!nc) return; if(hc.className == 'mw-hidden-cats-hidden') { var ahc = ' | <a onclick="javascript:toggleHiddenCats();" id="mw-hidden-cats-link" style="cursor:pointer; color:black;" title="Ĉi tiu artikolo apartenas al kaŝita(j) kategorio(j)">[+]</a>'; document.getElementById('mw-normal-catlinks').innerHTML += ahc; } } function toggleHiddenCats() { var hc = document.getElementById('mw-hidden-catlinks'); if(hc.className == 'mw-hidden-cats-hidden') { hc.setAttribute('class', 'mw-hidden-cat-user-shown'); document.getElementById('mw-hidden-cats-link').innerHTML = '[–]'; } else { hc.setAttribute('class', 'mw-hidden-cats-hidden'); document.getElementById('mw-hidden-cats-link').innerHTML = '[+]'; } } addOnloadHook(hiddencat); /** * Por akiri la valoron de kuketo */ function getCookieVal(name) { var cookiePos = document.cookie.indexOf(name + "="); var cookieValue = false; if (cookiePos > -1) { cookiePos += name.length + 1; var endPos = document.cookie.indexOf(";", cookiePos); if (endPos > -1) cookieValue = document.cookie.substring(cookiePos, endPos); else cookieValue = document.cookie.substring(cookiePos); } return cookieValue; } /** * getElementsByClass : priserĉas la erojn de la paĝo kies parametro "class" estas tiu prioserĉata */ function getElementsByClass(searchClass, node, tag) { if (node == null) node = document; if (tag == null) tag = '*'; return getElementsByClassName(node, tag, searchClass); } /** * Kaŝas la skatolojn de la ĉefpaĝo * * Aldonas ligilon sur la ĉefpaĝon por facile kaŝi la skatolojn * Memorigita per kuketo * Kopirajto 2007, fr:user:Plyd kaj fr:User:IAlex. Licencoj GFDL kaj GPL. * Esperantigita de eo:Vikipediisto:ArnoLagrange */ var kuketKaŝSkatolNomo = "kaŝSkatolChefpagho"; var KaŝSkatolVal = {}; var sumSkatolChefpagho = 0; function montruSkatolChefpagho(id) { visible = KaŝSkatolVal[id] = (!KaŝSkatolVal[id]); getElementsByClass('chefpagh_enteno',null,'div')[id].style.display = visible ? 'block' : 'none'; document.getElementById('KaŝSkatolChefpagho' + id).innerHTML = visible ? 'kaŝi' : 'montri'; konserviKuketonChefpagho(); } function konserviKuketonChefpagho() { var date = new Date(); date.setTime(date.getTime() + 30*86400*1000); var val = 0; for ( var i=0; i< sumSkatolChefpagho ; i++ ) { if (!KaŝSkatolVal[i]) val = val | Math.pow(2,i); } document.cookie = kuketKaŝSkatolNomo + "=" + val + "; expires="+date.toGMTString() + "; path=/"; } function LigilojSkatolChefpagho() { // if (wgPageName != "Ĉefpaĝo") return; kuketSkatolChefpagho = getCookieVal(kuketKaŝSkatolNomo); for ( var i=0; i<11; i++) { var titolo = getElementsByClass('grizakapo',document,'h2')[i]; if (!titolo) break; var ligilo = 'kaŝi'; // if (document.getElementById('KaŝSkatolChefpagho' + i).innerHTML != visible) ligilo = 'montri'; titolo.innerHTML += " <span style='font-size: xx-small; font-weight: normal; float: none; margin-right:100px' class='editsection'>[<a id='KaŝSkatolChefpagho" + i + "' href='javascript:montruSkatolChefpagho(" + i + ");'>" + ligilo + "</a>] </span>"; KaŝSkatolVal[i] = true; sumSkatolChefpagho++; } kuketSkatolChefpagho = getCookieVal(kuketKaŝSkatolNomo); for ( var i=0; i< sumSkatolChefpagho ; i++ ) { n =Math.pow(2,i); aff = !(kuketSkatolChefpagho & n); if (!aff) montruSkatolChefpagho(i); } } addOnloadHook(LigilojSkatolChefpagho); /* </nowiki> </pre>*/