MediaWiki:Gadget-fondo-color.js
Nota: Después de guardar, debes refrescar la caché de tu navegador para ver los cambios. Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar. Firefox: mientras presionas Mayús pulsas el botón Actualizar, (o presiona Ctrl-Shift-R). Los usuarios de Google Chrome y Safari pueden simplemente pulsar el botón Recargar. Para más detalles e instrucciones acerca de otros exploradores, véase Ayuda:Cómo limpiar la caché.
/*
* Colores de acuerdo a espacio de nombres
*/
// dos funciones útiles...
function wpes_test (uno, otro) {
switch (typeof uno) {
case "object":
return uno.test(otro);
case "function":
return uno(otro);
default:
return uno === otro;
}
}
function wpes_isInArray (ele, arr) {
var i;
switch (typeof ele) {
case "object":
for (i=0; i<arr.length; i++) if (ele.test(arr[i])) return true;
break;
case "function":
for (i=0; i<arr.length; i++) if (ele(arr[i])) return true;
break;
default:
for (i=0; i<arr.length; i++) if (ele === arr[i]) return true;
}
return false;
}
if ( window.colorines === undefined ) {
var colorines = {
desactivarColores: false,
/* Regexps y strings se testean contra c/u de las clases del <body>.
Las funciones reciben como parámetro un array con esas clases.
*/
filtros: [ "enciclopedia", [ "ns-0",
"page-Wikipedia_Portada"
],
"wikipedia", [ "page-Wikipedia_Consultas_de_borrado_mediante_argumentación"
],
"discusión", [ "ns-talk",
/^page-Wikipedia_(?:Café|Tablón)_.*_Actual$/,
"page-Wikipedia_Café_todos",
/^page-Wikipedia_Consultas_de_borrado_/,
"page-Wikipedia_Consultas"
],
"archivo", [ /^page-Wikipedia_(?:Café|Tablón_.+)_Archivo/,
/^page-Wikipedia_Consultas_semana/
],
"wikipedia", [ "ns-4", // Wikipedia:
"ns-8", // MediaWiki:
"ns-12", // Ayuda:
"ns-102" // Wikiproyecto:
]
],
test: function (ele, arr) {
if (typeof ele === "function")
return ele(arr);
return wpes_isInArray(ele, arr);
},
determinaColorPágina: function () {
var clasesBody = $('body').attr('class').split(/ +/);
for (var i=0; i < this.filtros.length; i += 2) {
var tipoColor = this.filtros[i];
var tests = this.filtros[i+1];
for (var j=0; j < tests.length; j++) {
if (this.test(tests[j], clasesBody))
return "color-" + tipoColor;
}
}
return null;
}
};
window.colorines = colorines;
(function ( $, mw ) {
'use strict';
if (!colorines.desactivarColores) {
var claseColor = colorines.determinaColorPágina();
if (claseColor)
$('body').addClass(claseColor);
}
})( jQuery, mediaWiki );
}