MediaWiki:Monobook.js
De Viquinotícies
Nota: Després de desar, heu de posar al dia la memòria cau del vostre navegador per veure els canvis. Mozilla / Firefox / Safari: Premeu Shift mentre cliqueu Actualitza (Reload), o premeu Ctrl+Shift+R (Cmd+Shift+R en un Mac Apple); Internet Explorer: premeu Ctrl mentre cliqueu Actualtiza (Refresh), o premeu Ctrl+F5; Konqueror:: simplement cliqueu el botó Recarregar (Reload), o premeu F5; Opera haureu d'esborrar completament la vostra memòria cau (caché) a Tools→Preferences.
/* Vegeu també [[:w:MediaWiki:Monobook.js]] <pre> */ /* */ /* tooltips and access keys */ ta = new Object(); ta['pt-userpage'] = new Array('.','La vostra pàgina d\'usuari.'); ta['pt-anonuserpage'] = new Array('.','La pàgina d\'usuari per la ip que estau editant com'); ta['pt-mytalk'] = new Array('n','La vostra pàgina de discussió.'); ta['pt-anontalk'] = new Array('n','Discussió sobre les edicions per aquesta adreça ip.'); ta['pt-preferences'] = new Array('','Les vostres preferències.'); ta['pt-watchlist'] = new Array('l','La llista de pàgines de les que estau vigilant els canvis.'); ta['pt-mycontris'] = new Array('y','Llista de les vostres contribucions.'); ta['pt-login'] = new Array('o','Us animam a registrar-vos, però no és obligatori.'); ta['pt-anonlogin'] = new Array('o','Us animam a registrar-vos, però no és obligatori.'); ta['pt-logout'] = new Array('o','Tanca la sessió.'); ta['ca-talk'] = new Array('t','Discussió sobre el contingut d\'aquesta pàgina.'); ta['ca-edit'] = new Array('e','Podeu editar aquesta pàgina. S. u. p. previsualitzau abans de desar.'); ta['ca-addsection'] = new Array('+','Afegeix un comentari a aquesta discussió.'); ta['ca-viewsource'] = new Array('e','Aquesta pàgina està protegida. Podeu veure el seu codi font.'); ta['ca-history'] = new Array('h','Versions antigues d\'aquesta pàgina.'); ta['ca-protect'] = new Array('=','Protegeix aquesta pàgina.'); ta['ca-delete'] = new Array('d','Esborra aquesta pàgina.'); ta['ca-undelete'] = new Array('d','Restaura les edicions fetes a aquesta pàgina abans de que fos esborrada.'); ta['ca-move'] = new Array('m','Reanomena aquesta pàgina.'); ta['ca-nomove'] = new Array('','No teniu permís per moure aquesta pàgina.'); ta['ca-watch'] = new Array('w','Afegiu aquesta pàgina a la vostra llista de seguiment.'); ta['ca-unwatch'] = new Array('w','Llevau aquesta pàgina de la vostra llista de seguiment.'); ta['search'] = new Array('f','Cerca aquesta viqui.'); ta['p-logo'] = new Array('','Pàgina principal.'); ta['n-mainpage'] = new Array('z','Visiteu la pàgina principal.'); ta['n-portal'] = new Array('','Sobre el projecte, què podeu fer, on podeu trobar coses.'); ta['n-currentevents'] = new Array('','Per trobar informació general sobre l\'actualitat.'); ta['n-recentchanges'] = new Array('r','La llista de canvis recents de Viquinotícies.'); ta['n-randompage'] = new Array('x','Vés a una pàgina aleatòria.'); ta['n-help'] = new Array('','El lloc per esbrinar.'); ta['n-sitesupport'] = new Array('','Feu-nos una donació.'); ta['t-whatlinkshere'] = new Array('j','Llista de totes les pàgines viqui que enllacen ací.'); ta['t-recentchangeslinked'] = new Array('k','Canvis recents a pàgines que enllacen amb aquesta pàgina.'); ta['feed-rss'] = new Array('','RSS feed for this page'); ta['feed-atom'] = new Array('','Atom feed for this page'); ta['t-contributions'] = new Array('','Vegeu la llista de contribucions d\'aquest usuari.'); ta['t-emailuser'] = new Array('','Envia un correu en aquest usuari.'); ta['t-upload'] = new Array('u','Càrrega d\'imatges o altres fitxers.'); ta['t-specialpages'] = new Array('q','Llista de totes les pàgines especials.'); ta['ca-nstab-main'] = new Array('c','Vegeu el contingut de la pàgina.'); ta['ca-nstab-user'] = new Array('c','Vegeu la pàgina de l\'usuari.'); ta['ca-nstab-media'] = new Array('c','Vegeu la pàgina multimèdia'); ta['ca-nstab-special'] = new Array('','Aquesta pàgina és una pàgina especial, no podeu editar-la.'); ta['ca-nstab-wp'] = new Array('a','Vegeu la pàgina protegida'); ta['ca-nstab-image'] = new Array('c','Vegeu la pàgina de la imatge'); ta['ca-nstab-mediawiki'] = new Array('c','Vegeu el missatge de sistema.'); ta['ca-nstab-template'] = new Array('c','Vegeu la plantilla.'); ta['ca-nstab-help'] = new Array('c','Vegeu la pàgina d\'ajuda.'); ta['ca-nstab-category'] = new Array('c','Vegeu la pàgina de la categoria.'); if (!window.aOnloadFunctions) { var aOnloadFunctions = new Array(); } window.onload = function() { if (window.aOnloadFunctions) { for (var _i=0; _i<aOnloadFunctions.length; _i++) { aOnloadFunctions[_i](); } } } // 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); } } } if (window.addEventListener) window.addEventListener("load",createNavigationBarToggleButton,false); else if (window.attachEvent) window.attachEvent("onload",createNavigationBarToggleButton); var NavigationBarHide = '▲ Amaga'; var NavigationBarShow = '▼ Mostra'; var NavigationBarShowDefault = 0; 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'; } if (NavChild.className == 'NavToggle') { NavChild.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'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } } } 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 == "destacat") { // 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/en/6/60/LinkFA-star.png')"; b.style.backgroundRepeat = "no-repeat"; b.title = "Aquest article ha estat destacat en la seua viqui"; } } } } } if (window.addEventListener) window.addEventListener("load",LinkFA,false); else if (window.attachEvent) window.attachEvent("onload",LinkFA); function addLoadEvent(func) { if (window.addEventListener) { window.addEventListener("load", func, false); } else if (window.attachEvent) { window.attachEvent("onload", func); } } function DiscussioTaverna() { if(document.title.search("Viquinotícies:La cantina") != -1) document.body.className = "ns-1"; } addLoadEvent(DiscussioTaverna); //************************************************************** // Permet configurar el joc de caràcters especials. // Adaptat de la versió anglesa // per ca:Usuari:Martorell // // Afegida possibilitat de personalització (Vegeu [[w:Viquipèdia:Scripts]]) // per ca:Usuari:Joanjoc //************************************************************** /* Encapsulem la funció amb paràmetres, ja que l'addLoadEvent no n'accepta */ function addCharSubsetMenu() { addCharSubsetMenuVar(21); } /* Afegeix un menu per a seleccionar subconjunts de caràcters especials */ /***** ha d'avenir-se amb MediaWiki:Copyrightwarning *****/ 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'; } } function addCharSubsetMenuVar(s) { var copywarn = document.getElementById('specialchars'); if (copywarn) { var aIdx = new Array(); aIdx[s] = "selected=\"selected\""; var menu = "<span style=\"margin-top:1px 1px 1px 1px;border-width:1px;border-style:solid;border-color:#aaaaaa;padding:2px 2px 2px 2px;position:relative;\"><b><a href=\"http://meta.wikipedia.org/Help:Special_characters\" ALT=\"meta:Help:Special_characters\">Caràcters especials</a></b>: <select id=\"charsetBox\" style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">"; menu += "<option "+aIdx[0]+">AHD</option>"; menu += "<option "+aIdx[1]+">Alemany</option>"; menu += "<option "+aIdx[2]+">Anglés antic</option>"; menu += "<option "+aIdx[3]+">Castellà</option>"; menu += "<option "+aIdx[4]+">Català</option>"; menu += "<option "+aIdx[5]+">Croata</option>"; menu += "<option "+aIdx[6]+">Ciríl·lic</option>"; menu += "<option "+aIdx[7]+">Escandinau</option>"; menu += "<option "+aIdx[8]+">Esperanto</option>"; menu += "<option "+aIdx[9]+">Estonià</option>"; menu += "<option "+aIdx[10]+">Fonètica</option>"; menu += "<option "+aIdx[11]+">Formatació</option>"; menu += "<option "+aIdx[12]+">Francés</option>"; menu += "<option "+aIdx[13]+">Galés</option>"; menu += "<option "+aIdx[14]+">Grec</option>"; menu += "<option "+aIdx[15]+">Hawaià</option>"; menu += "<option "+aIdx[16]+">Islandés</option>"; menu += "<option "+aIdx[17]+">Italià</option>"; menu += "<option "+aIdx[18]+">Japonés (romaji)</option>"; menu += "<option "+aIdx[19]+">Llatí</option>"; menu += "<option "+aIdx[20]+">Maltés</option>"; menu += "<option "+aIdx[21]+">Misc.</option>"; menu += "<option "+aIdx[22]+">Pinyin</option>"; menu += "<option "+aIdx[23]+">Portugués</option>"; menu += "<option "+aIdx[24]+">Romanés</option>"; menu += "<option "+aIdx[25]+">Serbi</option>"; menu += "<option "+aIdx[26]+">Txec</option>"; menu += "<option "+aIdx[27]+">Vietnamés</option>"; menu += "</select></span>"; copywarn.innerHTML = menu + copywarn.innerHTML; chooseCharSubset(s); } } /* select subsection of special characters */ addLoadEvent(addCharSubsetMenu); /*** Per a amagar títol de portada*/ function trobaElementXSelectorCSS(selName) { var arr = new Array(); var elems = document.getElementsByTagName("*"); for ( var cls, i = 0; ( elem = elems[i] ); i++ ) { if (( elem.className == selName ) || ( elem.idName == selName )) { arr[arr.length] = elem; } } return arr; } function AmagaTitolPortada() { if(document.title.search("Usuari:Martorell/Laboratori/Reforma portada 2") != -1) { trobaElementXSelectorCSS('firstHeading')[0].style.display = 'none'; trobaElementXSelectorCSS('firstHeading')[0].style.visibility = 'hidden'; trobaElementXSelectorCSS('subpages')[0].style.display = 'none'; trobaElementXSelectorCSS('subpages')[0].style.visibility = 'hidden'; } if((document.title.search("Portada") != -1) && (document.title.search("Discussió:Portada") == -1)) { trobaElementXSelectorCSS('firstHeading')[0].style.display = 'none'; trobaElementXSelectorCSS('firstHeading')[0].style.visibility = 'hidden'; trobaElementXSelectorCSS('subpages')[0].style.display = 'none'; trobaElementXSelectorCSS('subpages')[0].style.visibility = 'hidden'; } else if (document.title.search("Discussió:Portada") != -1) { for(var i=0; etiqueta = document.getElementsByTagName("div")[i]; i++) { if (etiqueta.IDName == "contentSub") { etiqueta.setAttribute('style', 'display:none; visibility:hidden;'); } } } } addLoadEvent(AmagaTitolPortada); //******************************************************************************** // Funció copiada de la versió francesa, // per arreglar error de botons de la barra d'eines d'edició detectat el 19/4/2006 // versió de mediawiki 1.7alpha (r13579) // Pot ser que en el pròxim canvi de versió del programari, s'hagi d'eliminar //******************************************************************************** function mwInsertEditButton(parent, item) { var image = document.createElement("img"); image.width = 23; image.height = 22; image.src = item.imageFile; image.border = 0; image.style.cursor = "pointer"; var ref = document.createElement("a") ref.setAttribute("href", "javascript:insertTags(\"" + item.tagOpen + "\",\"" + item.tagClose + "\",\"" + item.sampleText + "\");") ref.setAttribute("title", item.speedTip); ref.appendChild(image); parent.appendChild(ref); } //============================================================ // Afegir botons extres a la barra d'eines d'edició //============================================================ /* Adaptat dee la Viquipèdia francesa * @autor: fr:user:dake * @versió: 0.1 */ function InserirBotonsBarraEines() { tooly = document.getElementById('toolbar'); if (tooly == null) return; // Botó per a enllaçar articles amb la Viquipèdia. WikipediaTextButton = "<a href=\"javascript:insertTags('{{w{{!}}','}}','Article de la Viquipèdia a enllaçar');\"><img src=\"http://upload.wikimedia.org/wikipedia/commons/9/9c/Wikipedia-button-logo.PNG\" alt=\"Enllaç a la Viquipèdia\" title=\"Enllaçar a un article de la Viquipèdia\"></a>"; StrikeTextButton = "<a href=\"javascript:insertTags('<s>','</s>','');\"><img src=\"http://upload.wikimedia.org/wikipedia/commons/3/30/Btn_toolbar_rayer.png\" alt=\"Ratllar el text\" title=\"Ratllar el text\"></a>"; EnumTextButton = "<a href=\"javascript:insertTags('\\n# element 1\\n# element 2\\n# element 3','','');\"><img src=\"http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png\" alt=\"Enumeració\" title=\"Enumeració\"></a>"; ListTextButton = "<a href=\"javascript:insertTags('\\n* element A\\n* element B\\n* element C','','');\"><img src=\"http://upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png\" alt=\"Llista\" title=\"Llista\"></a>"; GalleryButton = "<a href=\"javascript:insertTags('\\n<gallery>\\nImage:Vista-openbsd.png|Llegenda\\nImage:AMule.png|Llegenda\\nImage:Cyberduck icon.png|Llegenda\\n</gallery>','','');\"><img src=\"http://upload.wikimedia.org/wikipedia/commons/9/9e/Btn_toolbar_gallery.png\" alt=\"Galeria d'imatges\" title=\"Galeria d'imatges\"></a>"; CommentTextButton = "<a href=\"javascript:insertTags('<!--','-->','');\"><img src=\"http://upload.wikimedia.org/wikipedia/commons/3/37/Btn_toolbar_commentaire.png\" alt=\"Comentari ocult\" title=\"Comentari ocult\"></a>"; RedirectButton = "<a href=\"javascript:insertTags('#REDIRECT [[',']]','Article destí');\"><img src=\"http://upload.wikimedia.org/wikipedia/commons/c/c8/Button_redirect.png\" alt=\"Redirecció\" title=\"Redirecció\"></a>"; tooly.innerHTML = tooly.innerHTML + StrikeTextButton + EnumTextButton + ListTextButton + CommentTextButton + GalleryButton + RedirectButton + WikipediaTextButton; } addLoadEvent(InserirBotonsBarraEines); //--------------------------------------------------------- // // CODI PER AL FUNCIONAMENT DE LA NOVA METACAIXA // // Implementat per: Usuari:Peleguer. // //--------------------------------------------------------- function MetaCaixa() { //--------------------------------------------------------- // FUNCIONS D'AJUDA //--------------------------------------------------------- // Pren tots els subelements de 'element' ignorant altres // subelements que no ens interessen (com comentaris o text). // Torna una llista de subelements. function PrendreSubElements(element) { var resultat = []; // llista per al resultat; var childNodes = element.childNodes; // llista de subelements var n = childNodes.length; // nombre de subelements for (var i = 0; i < n; i++) { // si el subelement 'i' es un element dels que busquem if (childNodes[i].nodeType == 1) { // el guardem en la llista resultat.push(childNodes[i] ); } } return resultat; // tornem la llista de subelements que volem } // Afegix codi a tots els botons per a que es cride a la funció // MostrarPestanya quan es faça click sobre un botó. function AfegirEventsBotons() { var n = botons.length; for (var i = 0; i < n; i++) { botons[i].onclick = MostrarPestanya; botons[i].contingut = continguts[i]; } } // Mostra una pestanya amagant la resta. 'this' conté // el botó sobre el que se ha fet click. function MostrarPestanya() { // amaguem totes les pestanyes var n = continguts.length; for (var i = 0; i < n; i++) { botons[i].className = "Boto-mc"; continguts[i].style.display = "none"; } // mostrem la pestanya corresponent this.contingut.style.display = ""; this.className = "BotoSeleccionat-mc"; } //--------------------------------------------------------- // CODI PRINCIPAL //--------------------------------------------------------- // Buscar l'element pel seu ID. De moment, solament podem tindre // UNA caixa, ja que els ID han de ser únics al codi html. var MetaCaixa = document.getElementById("MetaCaixa"); // si no existeix, eixim del programa if (!MetaCaixa) return; // Asociar els subelements amb variables. Este codi depén de // l'estructura dels DIV. Dóna per suposat que el DIV principal // conté dos DIV: // el primer conté els DIV botons // el segon els DIV de contingut var subElements = PrendreSubElements(MetaCaixa); var capaBotons = subElements[0]; // primer subelement var capaContinguts = subElements[1]; // segon subelement // tornem a repetir la faena per a trobar els botons i els continguts var botons = PrendreSubElements(capaBotons); var continguts = PrendreSubElements(capaContinguts); // afegim el codi necessari als botons AfegirEventsBotons(); // fem click sobre el primer botó if(document.title.search("Plantilla:Metacaixa") != -1) { var psNum = Math.round(3*Math.random()); } else { var psNum = 0; } MostrarPestanya.call(botons[psNum]); } window.onload = MetaCaixa; /********************************************************************/ /* */ /* f u n c i ó b a s e */ /* */ /********************************************************************/ function inclou(url,usuari,nom) { if (url=="") {url = 'ca.wikipedia.org'; } if (usuari=="") {usuari = 'Pepetps'; }; /*no canvieu */ document.write('<script type="text/javascript" src="' + 'http://' + url + '/w/index.php?title=User:' + usuari + '/' + nom + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } /********************************************************************/ /* */ /* Previsualització Instantània */ /* */ /********************************************************************/ inclou ("","Pepetps","PrevInst.js"); // /* </pre> */
