MediaWiki:Monobook.js
Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.
- Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
- Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
- Internet Explorer/Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
- Opera: Presiona Ctrl+F5.
/* Monobook.js v9 */
// Enlaces navegador para especies en el título
var navegadorCuadroPokemon = function() {
var $nn = $('#numeronacional');
if ($nn.length === 0) return;
var prev = $nn.prev('a').clone();
var next = $nn.next('a').clone();
var ccn = $nn.closest('div.cuadro_pokemon').eq(0).attr('class').split(' ');
var tipo = '';
for (var i = 0; i < ccn.length; i++) {
if (ccn[i].indexOf('tipo1-') === 0 || ccn[i].indexOf('tipo2-') === 0) {
if (tipo !== '') {
tipo += ' ';
}
tipo += ccn[i];
}
}
var fh = $('#firstHeading');
fh.addClass(tipo).contents().eq(0).wrap('<span class="ctipo navtitulo"></span>');
fh.addClass('navcp');
if (prev.length) {
$('<span class="ctipo navprev">').append(prev.text('« '+prev.text())).appendTo(fh);
}
if (next.length) {
$('<span class="ctipo navnext">').append(next.text(next.text()+' »')).appendTo(fh);
}
};
if (mw.config.get('wgNamespaceNumber') === 0) {
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(navegadorCuadroPokemon);
}
// TOC en categorías
var TOCCategorias = function() {
$('#firstHeading').after('<ul id="categorytoc"><li style="font-weight:bold;">Contenidos:</li><li><a href="#mw-subcategories">Subcategorías</a></li> | <li><a href="#mw-pages">Artículos</a></li> | <li><a href="#mw-category-media">Archivos</a></li> | <li><a href="#catlinks">Categorías</a></li></ul>');
$('div.pagingLinks').prepend('<span style="font-weight:bold;">Navegación: </span>');
};
if (mw.config.get('wgNamespaceNumber') == 14 && mw.config.get('wgAction') == 'view') {
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(TOCCategorias);
}
if (!window.monobookRLCompat || window.monobookRLCompat < 1) {
window.monobookRLCompat = 1;
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
if (window.CreaEnlacesDex) {
CreaEnlacesDex.registerRenderFn(function() {
var $parents = $('#p-lang,#p-tb');
if ($parents.length === 0) {
return;
}
$parents.eq($parents.length - 1).after('<div class="portlet" id="p-dexlinks" role="navigation"><h3>Otras Pokédex</h3><div class="pBody"><ul></ul></div></div>');
});
CreaEnlacesDex.registerLinkFn(function(url, text, caption) {
mw.util.addPortletLink('p-dexlinks', url, text, false, caption);
});
CreaEnlacesDex.init();
}
});
/* alternateBG: Agrega un class al body durante los primeros 30 min de cada hora */
(function () {
var d = new Date();
if (d.getMinutes() < 30) {
try {
document.body.className += ' alternateBG';
} catch(e) {
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function(){$(document.body).addClass('alternateBG');});
}
}
}());
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
/* FondoFooter */
$('#globalWrapper').append($('#footer'));
});
/* fin alternateBG */
/* MONOBOOK SIDEBAR */
/*
* MonobookSidebar v2.1: Permite definir submenús para elementos del Sidebar de MonoBook, agregando clases
* especiales al pasar con el puntero por encima para permitir el efecto en todos los navegadores.
*
* Copyright (C) 2010 - 2018 Jesús Martínez Novo ([[User:Ciencia Al Poder]])
*
* 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
*/
( function( $, mw ) {
'use strict';
var _re_url = /^https?:\/\//,
_re_space = / /g,
_setHook = function() {
mw.hook( 'monobooksidebar.sidebar' ).add( _init );
},
_init = function( sidebarData ) {
var menu, $item, $portlet, $portlets = null;
if ( ! sidebarData ) {
return;
}
for ( menu in sidebarData ) {
if ( sidebarData.hasOwnProperty( menu ) ) {
// NOTE: Using document.getElementById because jQuey can't handle ID with dots
// Spaces need to be replaced by dashes
$item = $( document.getElementById( 'n-' + mw.util.escapeIdForLink( menu.replace( _re_space, '-' ) ) ) );
$portlet = $item.closest('div[id].portlet');
// Check it's a valid portlet item
if ( ! $portlet.length ) {
continue;
}
if ( ! $portlets ) {
$portlets = $portlet;
} else {
$portlets.add( $portlet );
}
// Generate menu hierarchy
_buildSubmenu( $item , sidebarData[ menu ] );
}
}
// Set events
/*
$portlets.find( '>.pBody > ul' ).on( {
mouseover: _mouseover,
mouseout: _mouseout
});*/
},
_buildSubmenu = function( $el, arr ) {
var $ul, $li, menukey;
$ul = $('<ul class="sub-menu"></ul>');
for ( var i = 0; i < arr.length; i++ ) {
$li = $( '<li>' );
if ( typeof arr[i] == 'string' ) {
$li.append( _linkFromText( arr[i] ) );
} else {
for ( menukey in arr[i] ) {
if ( arr[i].hasOwnProperty( menukey ) ) {
$li.append( _linkFromText( menukey ) );
_buildSubmenu( $li, arr[i][ menukey ] );
}
}
}
$ul.append( $li );
}
$el.append( $ul ).attr( 'class', 'with-sub-menu' ).find( '>a' ).eq( 0 ).append( $( '<em>›</em>' ) );
},
_mouseover = function( e ) {
$( e.target ).closest( 'li.with-sub-menu' ).addClass('hover');
},
_mouseout = function(e) {
$( e.target ).closest( 'li.with-sub-menu' ).removeClass('hover');
},
_linkFromText = function( txt ) {
var $a, article, caption, sepPos = txt.indexOf( '|' );
if ( sepPos > 0 ) {
article = txt.substr( 0, sepPos );
caption = txt.substr( sepPos + 1 );
} else {
article = caption = txt;
}
$a = $( '<a>' );
if ( _re_url.test( article ) ) {
$a.attr( 'href' , article );
} else {
$a.attr( 'href' , mw.util.getUrl( article ) );
}
$a.text( caption );
return $a;
};
$(_setHook);
} )( jQuery, mw );
// Mueve cambios recientes a toolbox
var PosicionaElementosToolbox = function() {
$('#p-tb').children().eq(1).children().eq(0)
// Opciones en páginas de usuario
.prepend($('#t-emailuser'))
.prepend($('#t-blockip'))
.prepend($('#t-log'))
.prepend($('#t-contributions'))
// 'Enlace permanente' y 'Versión para imprimir'
.prepend($('#t-permalink'))
.prepend($('#t-print'))
// Opciones principales
.prepend($('#t-specialpages'))
.prepend($('#t-recentchangeslinked'))
.prepend($('#t-whatlinkshere'))
.prepend($('#t-multiupload'))
.prepend($('#t-upload'))
.prepend($('#n-randompage'))
.prepend($('#t-googlesearch'))
.prepend($('#n-recentchanges'));
//if ($('#t-multiupload').length === 0 && $('#t-upload').length == 1) {
// $('<li id="t-multiupload"><a href="/wiki/Especial:MultipleUpload">Subir varios archivos</a></li>').insertAfter('#t-upload');
//}
$('#t-contributions').before('<hr style="margin: 5px; margin-bottom: -1px; background-color: #E2A600;" />');
$('#t-print').before('<hr style="margin: 5px; margin-bottom: -1px; background-color: #E2A600;" />');
$('#t-upload').before('<hr style="margin: 5px; margin-bottom: -1px; background-color: #E2A600;" />');
$('#t-whatlinkshere').before('<hr style="margin: 5px; margin-bottom: -1px; background-color: #E2A600;" />');
//mw.util.addPortletLink('p-tb', window.wgIRCUrl, 'Chat de soporte', 'n-irc', 'Accede al chat de WikiDex', false, $('#n-recentchanges').next().get(0));
mw.util.addPortletLink('p-tb', 'https://cse.google.com/cse/publicurl?cx=012049278226999628206:45yxdtixipa', 'Búsqueda Google', 't-googlesearch', 'Buscar en WikiDex usando el buscador de Google', false, $('#n-recentchanges').next().get(0));
};
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(PosicionaElementosToolbox);
// UserWikiInfo
if ((mw.config.get('wgNamespaceNumber', 0) == -1 && mw.config.get('wgCanonicalSpecialPageName', '') == 'Contributions') || (mw.config.get('wgCanonicalNamespace', '') == 'User' || mw.config.get('wgCanonicalNamespace', '') == 'User_talk')) {
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
if (!window.disableUserWikiInfo && mw.loader.getState('ext.gadget.UserWikiInfo')) {
mw.loader.load(['mediawiki.api', 'ext.gadget.UserWikiInfo']);
}
});
}
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
if (!mw.config.get('wgNoWarnOnLogout', false)) {
$('#pt-logout').children().eq(0).bind('click', function() {
return confirm('Si continúas dejarás de estar identificado. Podrás volver a iniciar sesión en cualquier momento. ¿Deseas continuar?');
});
}
});
}