MediaWiki:Monobook.js
Da Naturpedia.
Versione delle 18:54, 5 apr 2014, autore: Aura ambar (discussione | contributi)
Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti. Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menu Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.
/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano la skin MonoBook */ /* /* tooltips and access keys */ ta = new Object(); ta['pt-userpage'] = new Array('.','La mia pagina utente'); ta['pt-anonuserpage'] = new Array('.','La pagina utente dell\'ip che stai usando'); ta['pt-mytalk'] = new Array('n','Le mie discussioni'); ta['pt-anontalk'] = new Array('n','Discussioni riguardo le modifiche fatte da questo ip'); ta['pt-preferences'] = new Array('','Le mie preferenze'); ta['pt-watchlist'] = new Array('l','La lista delle pagine che stai tenendo sotto sorveglianza.'); ta['pt-mycontris'] = new Array('y','La lista dei miei contributi'); ta['pt-login'] = new Array('o','Ti consigliamo di registrarti, ma non è obbligatorio.'); ta['pt-anonlogin'] = new Array('o','Ti consigliamo di registrarti, ma non è obbligatorio.'); ta['pt-logout'] = new Array('o','Log out (esci)'); ta['ca-talk'] = new Array('t','Vedi le discussioni relative alla voce'); ta['ca-edit'] = new Array('e','Puoi modificare questa pagina. Per favore usa il bottone di anteprima prima di salvare.'); ta['ca-addsection'] = new Array('+','Aggiungi un commento a questa discussione.'); ta['ca-viewsource'] = new Array('e','Questa pagina è protetta, ma puoi vedere il suo codice sorgente.'); ta['ca-history'] = new Array('h','Versioni precedenti di questa pagina.'); ta['ca-protect'] = new Array('=','Proteggi questa pagina'); ta['ca-delete'] = new Array('d','Cancella questa pagina'); ta['ca-undelete'] = new Array('d','Ripristina la pagina com\'era prima della cancellazione'); ta['ca-move'] = new Array('m','Sposta questa pagina ad un altro titolo'); ta['ca-nomove'] = new Array('','Non hai il permesso di spostare questa pagina'); ta['ca-watch'] = new Array('w','Aggiungi questa pagina all\'elenco delle pagine che tieni sotto sorveglianza'); ta['ca-unwatch'] = new Array('w','Togli questa pagina dall\'elenco delle pagine che tieni sotto sorveglianza'); ta['search'] = new Array('f','Cerca questa wiki'); ta['p-logo'] = new Array('','Pagina Principale'); ta['n-mainpage'] = new Array('z','Visita la Pagina principale'); ta['n-portal'] = new Array('','Descrizione del progetto, cosa puoi fare, e dove trovare le cose'); ta['n-sitesupport'] = new Array('','Aiutaci'); ta['n-recentchanges'] = new Array('r','La lista delle ultime modifiche a questa wiki.'); ta['n-randompage'] = new Array('x','Mostra una pagina a caso'); ta['n-help'] = new Array('a','Pagine di aiuto, manuale, domande frequenti'); ta['n-villagepump'] = new Array('b','Per discutere di Naturpedia'); ta['n-naturpediano'] = new Array('','Per vedere gli ultimi avvenimenti di Naturpedia'); ta['n-contact'] = new Array('','I contatti di Naturpedia e Wikimedia Italia'); ta['n-vetrina'] = new Array('v','Le migliori voci di Naturpedia'); ta['n-currentevents'] = new Array('','Eventi di attualità'); ta['t-whatlinkshere'] = new Array('j','Lista di tutte le pagine che portano a questa'); ta['t-recentchangeslinked'] = new Array('k','Lista delle ultime modifiche alle pagine linkate da questa.'); ta['feed-rss'] = new Array('','feed RSS per questa pagina'); ta['feed-atom'] = new Array('','feed Atom per questa pagina'); ta['t-contributions'] = new Array('','Lista dei contributi di questo utente'); ta['t-emailuser'] = new Array('','Manda un\'E.mail a questo utente'); ta['t-upload'] = new Array('u','Carica immagini o file multimediali su Naturpedia'); ta['t-specialpages'] = new Array('q','Lista di tutte le pagine speciali'); ta['ca-nstab-main'] = new Array('c','Vedi la voce relativa'); ta['ca-nstab-user'] = new Array('c','Vedi la pagina utente'); ta['ca-nstab-media'] = new Array('c','Vedi la pagina del file multimediale'); ta['ca-nstab-special'] = new Array('','Questa è una pagina speciale, non può essere modificata.'); ta['ca-nstab-wp'] = new Array('','Vedi la pagina del progetto'); ta['ca-nstab-image'] = new Array('c','Vedi la pagina dell\'immagine'); ta['ca-nstab-mediawiki'] = new Array('c','Vedi il messaggio di sistema'); ta['ca-nstab-template'] = new Array('c','Vedi il template'); ta['ca-nstab-help'] = new Array('c','Vedi la pagina di aiuto'); ta['ca-nstab-category'] = new Array('c','Vedi la pagina della categoria'); ta['ca-nstab-portal'] = new Array('c','Vedi il portale'); /*** Collegamento diretto alla pagina di upload di Commons nel menu di sinistra, da WP:PT */ function linkUploadToCommons() { if (document.getElementById("carrega-para-commons")) return; var li_carrega = document.getElementById("t-upload"); if (!li_carrega) return; var afegit = li_carrega.nextSibling; var ul_eines = li_carrega.parentNode; var li = document.createElement("li"); li.id = "carrega-para-commons"; li.innerHTML = '<a href="http://commons.wikimedia.org/wiki/Commons:Upload/it">Upload to Commons</a>'; <!--li.innerHTML = '<a href="http://naturpedia.org/index.php?title=Speciale:MultipleUpload">Carica MultiUpload</a>';--> if (afegit) ul_eines.insertBefore(li, afegit); else ul_eines.appendChild(li); } addLoadEvent(linkUploadToCommons); /*** Fine del collegamento diretto alla pagina di upload di Commons */ function LinkAdQ() { if ( document.getElementById( "p-lang" ) ) { var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" ); for ( var i = 0; i < InterwikiLinks.length; i++ ) { if ( document.getElementById( InterwikiLinks[i].className + "-fa" ) ) { InterwikiLinks[i].className += " FA" InterwikiLinks[i].title = "La voce è in vetrina in questa lingua."; } } } } addLoadEvent( LinkAdQ ); //============================================================ // Menu caratteri speciali //============================================================ /** * Aggiunge il menu a tendina per selezionare un sottoinsieme di caratteri speciali * Attenzione: l'ordine della lista deve corrispondere a quello di MediaWiki:Edittools ! */ function aggiungiMenuSubsetCaratteri() { var specialchars = document.getElementById('specialchars'); if (specialchars) { var menu = "<select style=\"display:inline\" onChange=\"scegliSubsetCaratteri(selectedIndex)\">"; menu += "<option>Latino esteso</option>"; menu += "<option>Wiki</option>"; menu += "<option>Greco antico</option>"; menu += "<option>Greco moderno</option>"; menu += "<option>Cirillico</option>"; menu += "<option>Arabo</option>"; menu += "<option>Ebraico e yiddish</option>"; menu += "<option>Armeno</option>"; menu += "<option>Geroglifico</option>"; menu += "<option>Vietnamita</option>"; menu += "<option>IPA</option>"; menu += "<option>Matematica</option>"; menu += "</select>"; specialchars.innerHTML = menu + specialchars.innerHTML; /* default subset - try to use a cookie some day */ scegliSubsetCaratteri(0); } } /* select subsection of special characters */ function scegliSubsetCaratteri(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(aggiungiMenuSubsetCaratteri); // END Menu caratteri speciali var mpTitle = "Pagina principale"; var isMainPage = (wgPageName == "Pagina_principale"); var isDiff = (document.location.search && (document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1)); if (isMainPage && !isDiff) { document.write('<style type="text/css">/*<![CDATA[*/ #lastmod, #siteSub, #contentSub, h1.firstHeading { display: none !important; } /*]]>*/</style>'); var mpSmallEnabled; var mpMinWidth = 700; function mainPageTransform() { if ((isMainPage || /[\/=:]Pagina_principale/.test(document.location)) && document.getElementById('ca-nstab-main')) document.getElementById('ca-nstab-main').firstChild.innerHTML = 'Pagina principale'; var mpContentEl = document.getElementById("bodyContent"); var mpBrowseEl = document.getElementById("EnWpMpBrowse"); var mpContainEl = document.getElementById("EnWpMpBrowseContainer"); var mpMarginEl = document.getElementById("EnWpMpMargin"); var mpEl = document.getElementById("EnWpMainPage"); if (!mpContentEl || !mpBrowseEl || !mpContainEl || !mpMarginEl || !mpEl) return; if (!mpSmallEnabled && mpContentEl.offsetWidth < mpMinWidth) { mpContainEl.insertBefore(mpBrowseEl, mpContainEl.firstChild); mpBrowseEl.className = "EnWpMpBrowseBottom"; mpMarginEl.style.marginRight = 0; mpSmallEnabled = true; } else if (mpSmallEnabled && mpContentEl.offsetWidth > mpMinWidth) { mpEl.insertBefore(mpBrowseEl, mpEl.firstChild); mpBrowseEl.className = "EnWpMpBrowseRight"; mpMarginEl.style.marginRight = "13.8em"; mpSmallEnabled = false; } } var onloadFuncts = [ mainPageTransform ]; if (window.addEventListener) window.addEventListener("resize", mainPageTransform, false); else if (window.attachEvent) window.attachEvent("onresize", mainPageTransform); } /* aggiunge un pulsante per i redirect nella toolbar della finestra di edit */ if (mwCustomEditButtons) { mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png", "speedTip": "Redirect", "tagOpen": "#REDIRECT [[", "tagClose": "]]", "sampleText": "Inserisci nome della voce"}; }; /** "Technical restrictions" title fix ***************************************** * * Description: * Maintainers: [[User:Interiot]], [[User:Mets501]] * copiato da [[:en:MediaWiki:Common.js]] */ // For pages that have something like Template:Lowercase, replace the title, but only if it is cut-and-pasteable as a valid wikilink. // (for instance [[iPod]]'s title is updated. But [[C#]] is not an equivalent wikilink, so [[C Sharp]] doesn't have its main title changed) // // The function looks for a banner like this: // <div id="RealTitleBanner"> <!-- div that gets hidden --> // <span id="RealTitle">title</span> // </div> // An element with id=DisableRealTitle disables the function. var disableRealTitle = 0; // users can disable this by making this true from their monobook.js function correctTitle() { try { var realTitleBanner = document.getElementById("RealTitleBanner"); if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle) { var realTitle = document.getElementById("RealTitle"); if (realTitle) { var realTitleHTML = realTitle.innerHTML; realTitleText = pickUpText(realTitle); var isPasteable = 0; //var containsHTML = /</.test(realTitleHTML); // contains ANY HTML var containsTooMuchHTML = /</.test( realTitleHTML.replace(/<\/?(sub|sup|small|big|a)>/gi, "") ); // contains HTML that will be ignored when cut-n-pasted as a wikilink // in più, aggiunto ''a'' per mantenere funzionanti alcuni usi del vecchio Titolo errato - non è detto però che sia sempre voluto // questo codice era in en.wiki, e se ho ben capito serviva per controllare che il nome nuovo fosse abbastanza simile all'originale, ma non è quello che vogliamo su it.wiki // // calculate whether the title is pasteable // var verifyTitle = realTitleText.replace(/^ +/, ""); // trim left spaces // verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character // questo codice era in en.wiki, e aggiunge il prefisso del namespace se non presente, ma su it.wiki ci si aspetta che ciò non avvenga // // if the namespace prefix is there, remove it on our verification copy. If it isn't there, add it to the original realValue copy. // if (wgNamespaceNumber != 0) { // if (wgCanonicalNamespace == verifyTitle.substr(0, wgCanonicalNamespace.length).replace(/ /g, "_") && verifyTitle.charAt(wgCanonicalNamespace.length) == ":") { // verifyTitle = verifyTitle.substr(wgCanonicalNamespace.length + 1); // } else { // realTitleText = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleText; // realTitleHTML = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleHTML; // } // } // come sopra, faceva controlli sul titolo // // verify whether wgTitle matches // verifyTitle = verifyTitle.replace(/^ +/, "").replace(/ +$/, ""); // trim left and right spaces // verifyTitle = verifyTitle.replace(/_/g, " "); // underscores to spaces // verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character // isPasteable = (verifyTitle == wgTitle); var h1 = document.getElementsByTagName("h1")[0]; if (h1) { // tolto il controllo isPasteable h1.innerHTML = containsTooMuchHTML ? realTitleText : realTitleHTML; // if (!containsTooMuchHTML) // ancora, adattamento per it.wiki realTitleBanner.style.display = "none"; } document.title = realTitleText + " - Naturpedia"; } } } catch (e) { /* Something went wrong. */ } } addOnloadHook(correctTitle); // similar to innerHTML, but only returns the text portions of the insides, excludes HTML function pickUpText(aParentElement) { var str = ""; function pickUpTextInternal(aElement) { var child = aElement.firstChild; while (child) { if (child.nodeType == 1) // ELEMENT_NODE pickUpTextInternal(child); else if (child.nodeType == 3) // TEXT_NODE str += child.nodeValue; child = child.nextSibling; } } pickUpTextInternal(aParentElement); return str; } /** Fix al layout della Pagina principale ********************************************************* * * Descrizione: Alcuni al layout, fra cui un link alla lista completa di tutte * le Naturpedia in tutte le lingue disponibili. * Da un codice di: [[en:User:AzaToth]], [[en:User:R. Koot]] * Sistemato da: [[n:Utente:Tooby]] <--- liberi di giustiziarlo */ function mainPageRenameNamespaceTab() { try { var Node = document.getElementById( 'ca-nstab-main' ).firstChild; if ( Node.textContent ) { // Per DOM Level 3 Node.textContent = 'Pagina principale'; } else if ( Node.innerText ) { // IE doesn't handle .textContent Node.innerText = 'Pagina principale'; } else { // Fallback Node.replaceChild( Node.firstChild, document.createTextNode( 'Pagina principale' ) ); } } catch(e) { // bailing out! } } function mainPageAppendCompleteListLink() { try { var node = document.getElementById( "p-lang" ) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; var aNode = document.createElement( 'a' ); var liNode = document.createElement( 'li' ); aNode.appendChild( document.createTextNode( 'Lista completa' ) ); aNode.setAttribute( 'href' , 'http://meta.wikimedia.org/wiki/Lista_di_Wikipedie' ); liNode.appendChild( aNode ); liNode.className = 'interwiki-completelist'; node.appendChild( liNode ); } catch(e) { // lets just ignore what's happened return; } } if ( wgTitle == 'Pagina principale' && ( wgNamespaceNumber == 0 || wgNamespaceNumber == 1 ) ) { addOnloadHook( mainPageRenameNamespaceTab ); } if ( wgTitle == 'Pagina principale' && wgNamespaceNumber == 0 ) { addOnloadHook( mainPageAppendCompleteListLink ); } // Lista di voci trasferite ad altri progetti - caricato solo se si visualizza una pagina nel namespace principale if (wgNamespaceNumber == 0 && wgTitle != 'Pagina principale' && wgArticleId == 0) document.write('<script type="text/javascript" src="' + 'http://it.wikipedia.org/w/index.php?title=Wikipedia:Proposte di trasferimento/transferlist.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); function show_transfertext() { if (wgNamespaceNumber != 0 || (wgNamespaceNumber == 0 && wgTitle == 'Pagina principale') || wgArticleId != 0) return; setup_transferlist(); var i; for(i = 0; i <= transferlist.length; i+=4) { if (document.title == 'Modifica di ' + transferlist[i] + ' - Naturpedia' || document.title == transferlist[i] + ' - Naturpedia') { var itm = document.getElementById('BoxTrasferimento'); if (itm == null) return; txt = itm.innerHTML; if (transferlist[i+1] == 'b' || transferlist[i+1] == 'wb') transferlist[i+1] = 'http://it.wikibooks.org/wiki/'; if (transferlist[i+1] == 's' || transferlist[i+1] == 'ws') transferlist[i+1] = 'http://it.wikisource.org/wiki/'; if (transferlist[i+1] == 'q' || transferlist[i+1] == 'wq') transferlist[i+1] = 'http://it.wikiquote.org/wiki/'; if (transferlist[i+1] == 'n' || transferlist[i+1] == 'wn') transferlist[i+1] = 'http://it.wikinews.org/wiki/'; if (transferlist[i+1] == 'wikt') transferlist[i+1] = 'http://it.wiktionary.org/wiki/'; if (transferlist[i+1] == 'v' || transferlist[i+1] == 'wv') transferlist[i+1] = 'http://it.wikiversity.org/wiki/'; if (transferlist[i+1] == 'wikispecies' || transferlist[i+1] == 'wsp') transferlist[i+1] = 'http://species.wikimedia.org/wiki/'; if (transferlist[i+1] == 'm' || transferlist[i+1] == 'meta') transferlist[i+1] = 'http://meta.wikimedia.org/wiki/'; if (transferlist[i+1] == 'commons' || transferlist[i+1] == 'com') transferlist[i+1] = 'http://commons.wikimedia.org/wiki/'; if (transferlist[i+3] == "") transferlist[i+3] = transferlist[i]; txt = '<div class="AvvisoTrasferito">Una vecchia versione di questa pagina è stata <b>trasferita</b> ' + '<a href=' + transferlist[i+1] + transferlist[i+3].replace(/ /g, '_') + '>all\'interno di un altro progetto Wikimedia</a>' + (transferlist[i+2].length > 1 ? ' perché: <i>' + transferlist[i+2] + '</i>' : "") + //solo se la motivazione è fornita '. Se ritieni la voce enciclopedica puoi riscriverla, controllando che siano stati eliminati i motivi che ne hanno comportato ' + 'la cancellazione.</div>' + txt; itm.innerHTML = txt; break; } } } addLoadEvent(show_transfertext); //****************** WIKI MINI ATLAS ****************** document.write('<script type="text/javascript" src="' + 'http://meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); /* Correzione della posizione del link [modifica] delle sezioni. Copyright 2006, Marc Mongenet This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. See http://www.gnu.org/licenses/gpl.html The function looks for <span class="editsection">, and move them at the end of their parent and display them inline in small font. var oldEditsectionLinks=true disables the function. */ setModifySectionStyle = function() { try { if (!(typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false)) return; var spans = document.getElementsByTagName("span"); for (var s = 0; s < spans.length; ++s) { var span = spans[s]; if (span.className == "editsection") { span.style.fontSize = "x-small"; span.style.fontWeight = "normal"; span.style.cssFloat = span.style.styleFloat = "none"; span.parentNode.appendChild(document.createTextNode(" ")); span.parentNode.appendChild(span); } } } catch (e) { /* something went wrong */ } } addOnloadHook(setModifySectionStyle); /*** CODICE PER IL TEMPLATE:GALLERIA ***/ function toggleImage(group, remindex, shwindex) { document.getElementById("ImageGroupsGr"+group+"Im"+remindex).style.display="none"; document.getElementById("ImageGroupsGr"+group+"Im"+shwindex).style.display="inline"; } function ImageGroup(){ if (document.URL.match(/printable/g)) return; var bc=document.getElementById("bodyContent"); var divs=bc.getElementsByTagName("div"); var i = 0, j = 0; var units, search; var currentimage; var UnitNode; for (i = 0; i < divs.length ; i++) { if (divs[i].className != "ImageGroup") continue; UnitNode=undefined; search=divs[i].getElementsByTagName("div"); for (j = 0; j < search.length ; j++) { if (search[j].className != "ImageGroupUnits") continue; UnitNode=search[j]; break; } if (UnitNode==undefined) continue; units=Array(); for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) { var temp = UnitNode.childNodes[j]; if (temp.className=="center") units.push(temp); } for (j = 0 ; j < units.length ; j++) { currentimage=units[j]; currentimage.id="ImageGroupsGr"+i+"Im"+j; var imghead = document.createElement("div"); var leftlink; var rightlink; if (j != 0) { leftlink = document.createElement("a"); leftlink.href = "javascript:toggleImage("+i+","+j+","+(j-1)+");"; leftlink.innerHTML="◀"; } else { leftlink = document.createElement("span"); leftlink.innerHTML=" "; } if (j != units.length - 1) { rightlink = document.createElement("a"); rightlink.href = "javascript:toggleImage("+i+","+j+","+(j+1)+");"; rightlink.innerHTML="▶"; } else { rightlink = document.createElement("span"); rightlink.innerHTML=" "; } var comment = document.createElement("tt"); comment.innerHTML = "("+ (j+1) + "/" + units.length + ")"; with(imghead) { style.fontSize="110%"; style.fontweight="bold"; appendChild(leftlink); appendChild(comment); appendChild(rightlink); } currentimage.insertBefore(imghead,currentimage.childNodes[0]); if (j != 0) currentimage.style.display="none"; } } } addOnloadHook(ImageGroup); // Toglie "Soggetto/Intestazione" nelle creazioni delle discussioni al Bar if (wgNamespaceNumber == 4 && wgPageName.indexOf("Naturpedia:Bar/") == 0 && wgAction == "edit" && document.URL.indexOf("§ion=new&preload=") != -1) addLoadEvent ( function () { document.getElementById('wpSummaryLabel').style.display="none"; document.getElementById('wpSummary').style.display="none"; }); // INIZIO Collegamenti Interprogetto (codice adattato da de:wikt:Mediawiki:monobook.js) document.write('<style type="text/css">#interProject {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}<\/style>'); function iProject() { if (document.getElementById("interProject")) { var iProject = document.getElementById("interProject").innerHTML; var interProject = document.createElement("div"); interProject.style.marginTop = "0.7em"; interProject.innerHTML = '<h5>altri progetti wiki<\/h5><div class="pBody">'+iProject+'<\/div>'; document.getElementById("p-tb").appendChild(interProject); } } hookEvent("load", iProject); // FINE Collegamenti Interprogetto /* */