Utente:Raoli/Phase 4
Aspetto
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;
}
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
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
}
});
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