Mediawiki:Common.css modifica

Aggiungere in fondo alla pagina Mediawiki:Common.css il seguente codice per visualizzare correttamente il template {{Avviso}}, {{Cassetto}}, {{Interprogetto}} e {{Cat}}.

/*
Stili del Template:Avviso
*/
 table.avviso {
   margin: 0 10%;                           /* Non si sovrappone ad altri elementi */
   border-collapse: collapse; 
   background: #fbfbfb; 
   border: 1px solid #aaa; 
   border-left: 10px solid #1e90ff;         /* Colore blu di default */
 }
 table.avviso th.avviso-testo, table.avviso td.avviso-testo {      /* Corpo del messaggio */
   padding: 0.25em 0.5em;                   /* 0.5em sinistra/destra */
   width: 100%;                             /* Rende tutti i template della stessa lunghezza nonostante il testo interno */
 }
 table.avviso td.avviso-immagine {          /* Stile dell'immagine a sinistra */
   padding: 2px 0px 2px 0.5em;              /* 0.5em sinistra, 0px destra */
   text-align: center; 
 }
 table.avviso td.avviso-immaginedestra {    /* Stile dell'immagine a destra */
   padding: 2px 4px 2px 0px;                /* 0px sinistra, 4px destra */
   text-align: center; 
 }
 table.avviso-informazioni {
   border-left: 10px solid #1e90ff;         /* Blu */
 }
 table.avviso-cancella,
 table.avviso-importante {
   border-left: 10px solid #b22222;         /* Rosso */
 }
 table.avviso-contenuto {
   border-left: 10px solid #f28500;         /* Arancio */
 }
 table.avviso-stile {
   border-left: 10px solid #f4c430;         /* Giallo */
 }
 table.avviso-statico {
   border-left: 10px solid limegreen;       /* Verde */
 }
 table.avviso-struttura {
   border-left: 10px solid #9932cc;         /* Viola */
 }
 table.avviso-generico {
   border-left: 10px solid #bba;            /* Grigio */
 }
 table.avviso.avviso-mini {                 /* variante del box */
     float: right;
     clear: right;
     margin: 0 0 0 1em;
     width: 25%;
 }

/*
Classi per i template di navigazione dinamici
*/
 
 .NavToggle {
    font-size: 95%;
    float:right;
 }
 
 div.BoxenVerschmelzen,
 div.NavFrame {
         margin: 0.5em 0 0 0;
         padding: 2px;
         border: 1px solid #aaaaaa;
         text-align: center;
         border-collapse: collapse;
         font-size: 95%;
         clear:both;
 }
 div.BoxenVerschmelzen div.NavFrame {
         border-style: none;
         border-style: hidden;
         margin: 0;
 }
 div.NavFrame + div.NavFrame {
         border-top-style: none;
         border-top-style: hidden;
 }
 div.NavPic {
         background-color: #ffffff;
         margin: 0px;
         padding: 2px;
         float: left;
 }
 div.NavFrame div.NavHead {
         height: 1.6em;
         font-weight: bold;
         font-size: 100%;
         background-color: #efefef;
 }
 div.NavFrame p {
         font-size: 100%;
 }
 div.NavFrame div.NavContent {
         font-size: 100%;
 }
 div.NavFrame div.NavContent p {
         font-size: 100%;
 }
 div.NavEnd {
         margin: 0px;
         padding: 0px;
         line-height: 1px;
         clear: both;
 }

Mediawiki:Common.js modifica

Aggiungere in fondo alla pagina Mediawiki:Common.js il seguente codice per visualizzare correttamente il template {{Cassetto}}.

// INIZIO Template di navigazione dinamici
 
 /* Test if an element has a certain class
  * Description: Uses regular expressions and caching for better performance.
  * Maintainers: User:Mike Dillon, User:R. Koot, User:SG */
 
 var hasClass = (function () {
     var reCache = {};
     return function (element, className) {
         return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
     };
 })();
 
 // set up the words in your language
 var NavigationBarHide =  Nascondi';
 var NavigationBarShow =  Espandi';
 
 // 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 = 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;
    }
 
    // if shown now
    if (NavToggle.firstChild.data == NavigationBarHide) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild != null;
                NavChild = NavChild.nextSibling
            ) {
            if (hasClass(NavChild, 'NavPic')) {
                NavChild.style.display = 'none';
            }
            if (hasClass(NavChild, 'NavContent')) {
                NavChild.style.display = 'none';
            }
            if (hasClass(NavChild, '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 (hasClass(NavChild, 'NavPic')) {
                NavChild.style.display = 'block';
            }
            if (hasClass(NavChild, 'NavContent')) {
                NavChild.style.display = 'block';
            }
            if (hasClass(NavChild, '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 (hasClass(NavFrame, '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);
        }
    }
 }
 
 aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton;
 
 // FINE Template di navigazione dinamici

Mediawiki:Vector.js modifica

Aggiungere in fondo alla pagina Mediawiki:Vector.js il seguente codice per visualizzare correttamente il template {{Interprogetto}} e {{Cat}}.

/* Modifica il testo della linguetta "Voce" in "Pagina principale" */
 function mainPageTransform(){
 	var el = document.getElementById('ca-nstab-main');
 	if (el && wgUserLanguage=='it'){
 		while (el.firstChild)
 			el = el.firstChild;
 		el.nodeValue = "Pagina principale";
 	}
 }
 if (wgPageName == "Pagina_principale" || wgPageName == "Discussioni:Pagina_principale")
 	addOnloadHook(mainPageTransform);

/*
  * Supporto per il Template:Interprogetto ********************************************
  *
  *  Attenzione: questo codice è un "hack", strettamente dipendente dal funzionamento
  *  della skin Vector; potrebbe smettere di funzionare in caso di modifiche alla skin.
  *
  *  Maintainer: [[Utente:Salvatore Ingala]]
  */
 
 if ( typeof $j != 'undefined' )
 $j(document).ready(function(){
 	try {
 		if ( $j( '#interProject' ).length == 0 )
 			return;
 
 		//Controlli aggiuntivi sul div 'interProject'
 		var $ul = $j( '#interProject' ).find( 'ul' );
 		if ( $ul.length == 0 || $ul.find( 'li' ).length == 0)
 			return;
 
 		var id = 'p-iproject';
 
 		var portal = document.createElement( 'div' );
 		portal.id = id;
 		var $portal = $j( portal );
 		var $divbody = $j( document.createElement( 'div' ) );
 		$divbody.addClass( 'body' )
 			.append( $j( '#interProject' ).find( 'ul' ) );
 
 		$portal.addClass( 'portal' )
 			.html( '<h5>Altri progetti</h5>' )
 			.append( $divbody )
 			.insertAfter( $j('#p-tb') );
 
 		//Codice adattato in gran parte da //bits.wikimedia.org/w/extensions/UsabilityInitiative/Vector/Vector.combined.js
 		//Se i nav collassabili non sono abilitati, non devo gestire i cookie né l'espansione/riduzione
 		if (typeof wgVectorEnabledModules != 'undefined' && wgVectorEnabledModules["collapsiblenav"] == true){
 			//Abilita espansione/collassamento e supporto cookie
 			var state = $j.cookie( 'vector-nav-' + id );
 			if(state == 'true' || state == null) //impostazione predefinita: aperto
 				$portal.addClass( 'expanded' ).find( 'div.body' ).show();
 			else
 				$portal.addClass( 'collapsed' );
 
 			if(state != null)
 				$j.cookie( 'vector-nav-' + $j( this ).attr( 'id' ), state, {'expires':30, 'path':'/'});
 
 			var toggle = function($element){
 				$j.cookie('vector-nav-' + $element.parent().attr( 'id' ), $element.parent().is( '.collapsed' ),{'expires':30, 'path':'/'});
 				$element.parent().toggleClass( 'expanded' ).toggleClass( 'collapsed' ).find( 'div.body' ).slideToggle( 'fast' );
 			};
 
 			$portal.find( 'h5' ).keydown(function(event){
 				if (event.which==13 || event.which==32)
 					toggle( $j(this) );
 			}).mousedown(function(){
 				toggle( $j(this) );
 				$j(this).blur();
 				return false;
 			});
 		}
 
 		//Ricalcola TabIndex
 		//Calcola il massimo TabIndex presente, ma escludendo i portal
 		var maxTI = 0;
 		$j( '[tabindex]' ).each(function(){
 			if ($j(this).is( '#mw-panel > div.portal' ))
 				return;
 			var ti = parseInt($j(this).attr( 'tabindex' ));
 			if (ti > maxTI)
 				maxTI = ti;
 		});
 
 		var tabIndex = maxTI+1;
 
 		//Assegna tabIndex incrementali ai portals non persistenti (anche quelli che esistevano prima)
 		$j( '#mw-panel > div.portal:not(.persistent) > h5' ).each(function(){
 			$j( this ).attr( 'tabindex', tabIndex++ );
 		});
 	} catch(e) {
 		//non fa nulla
 	}
 });

Mediawiki:Monobook.js modifica

Aggiungere in fondo alla pagina Mediawiki:Monobook.js il seguente codice per visualizzare correttamente il template {{Interprogetto}} e {{Cat}}.

/* Modifica il testo della linguetta "Voce" in "Pagina principale" */
 function mainPageTransform(){
 	var el = document.getElementById('ca-nstab-main');
 	if (el && wgUserLanguage=='it'){
 		while (el.firstChild)
 			el = el.firstChild;
 		el.nodeValue = "Pagina principale";
 	}
 }
 if (wgPageName == "Pagina_principale" || wgPageName == "Discussioni:Pagina_principale")
 	addOnloadHook(mainPageTransform);
 
 
 // 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<\/h5><div class="pBody">'+iProject+'<\/div>';
    document.getElementById("p-tb").appendChild(interProject);
   }
  }
  hookEvent("load", iProject);
 
 // FINE Collegamenti Interprogetto