Usuario:Nobita931/MediaWiki.common.js

De Wikipedia, la enciclopedia libre

//Alias (function ( $, mw ) { /**

* Keep code in MediaWiki:Common.js to a minimum as it is unconditionally
* loaded for all users on every wiki page. If possible create a gadget that is
* enabled by default instead of adding it here (since gadgets are fully
* optimized ResourceLoader modules with possibility to add dependencies etc.)
*
* Since common.js isn't a gadget, there is no place to declare its
* dependencies, so we have to lazy load them with mw.loader.using on demand and
* then execute the rest in the callback. In most cases these dependencies will
* be loaded (or loading) already and the callback will not be delayed. In case a
* dependency hasn't arrived yet it'll make sure those are loaded before this.
*/

mw.loader.using( 'mediawiki.util', function() { /* Begin of mw.loader.using callback */

//Compatibilidad

/* Scripts specific to Internet Explorer */ if ($.client.profile().name == 'msie') {

   if ( +$.client.profile().versionBase < 11 ) {
       /** 
        *  Description: Fixes IE horizontal scrollbar bug
        *  Maintainers: User:Tom-?
        */
       var oldWidth;
       var docEl = document.documentElement;
       var doFixIEScroll = function () {
           docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : "";
       };
       var fixIEScroll = function () {
           if (!oldWidth || docEl.clientWidth > oldWidth) {
               doFixIEScroll();
           } else {
               setTimeout(doFixIEScroll, 1);
           }
           oldWidth = docEl.clientWidth;
       };
       document.attachEvent("onreadystatechange", fixIEScroll);
       document.attachEvent("onresize", fixIEScroll);	
   }
   // IE overflow bug
   mw.util.addCSS('div.overflowbugx { overflow-x: scroll !important; overflow-y: hidden !important; } div.overflowbugy { overflow-y: scroll !important; overflow-x: hidden !important; }');
   // IE zoomfix
   // Use to fix right floating div/table inside tables
   mw.util.addCSS('.iezoomfix div, .iezoomfix table { zoom: 1;}');
   /* Helper script for .hlist class in common.css
    * Maintainer: User:Edokter
    */
   /* Add pseudo-selector class to last child list items in IE 8 */
   if ( $.client.profile().versionBase == '8' ) {
       $( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' )
         .addClass( 'hlist-last-child' );
   }

}

/* Fixes for Windows XP font rendering */ if (navigator.appVersion.search(/windows nt 5/i) != -1) {

   mw.util.addCSS('.IPA {font-family: "Lucida Sans Unicode", "Arial Unicode MS";} ' + 
                  '.Unicode {font-family: "Arial Unicode MS", "Lucida Sans Unicode";}');

}

/* Helper script for .hlist class in common.css

* Maintainer: User:Edokter
*/

// Funcionalidad

/**

* Redirect User:Name/skin.js and skin.css to the current skin's pages
* (unless the 'skin' page really exists)
* @source: //www.mediawiki.org/wiki/Snippets/Redirect_skin.js
* @rev: 3
*/

if ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgNamespaceNumber' ) === 2 ) {

   var titleParts = mw.config.get( 'wgPageName' ).split( '/' );
   // Make sure there was a part before and after the slash
   // And that the latter is 'skin.js' or 'skin.css'
   if ( titleParts.length == 2 ) {
       var userSkinPage = titleParts[0] + '/' + mw.config.get( 'skin' );
       if ( titleParts[1] === 'skin.js' ) {
           location.href = mw.util.getUrl( userSkinPage + '.js' );
       } else if ( titleParts[1] === 'skin.css' ) {
           location.href = mw.util.getUrl( userSkinPage + '.css' );
       }
   }

}

/** &withCSS= and &withJS= URL parameters *******

* Allow to try custom scripts from MediaWiki space 
* without editing personal .css or .js files
*/

var extraCSS = mw.util.getParamValue("withCSS"); if (extraCSS && extraCSS.match(/^MediaWiki:[^&<>=%]*\.css$/)) {

   importStylesheet(extraCSS);

} var extraJS = mw.util.getParamValue("withJS"); if (extraJS && extraJS.match(/^MediaWiki:[^&<>=%]*\.js$/)) {

   importScript(extraJS);

}

// Results from Wikidata // if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' || ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgCanonicalSpecialPageName' ) === false ) ) {

       mw.loader.load("//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript");

}

//Edición if ( $.inArray(mw.config.get('wgAction'), ['edit', 'submit'] ) > -1) {

   /** Fix edit summary prompt for undo  ******************************************
    *  Fixes the fact that the undo function combined with the "no edit summary prompter"
    *  causes problems if leaving the edit summary unchanged.
    *  Added by User:Deskana, code by User:Tra.
    *  See also bugzilla:8912.
    */
   $(document).ready( function () {
       if (location.search.indexOf("undo=") != -1 && document.getElementsByName('wpAutoSummary')[0]) {
           document.getElementsByName('wpAutoSummary')[0].value = '1';
       }
   });
   /**
    * Caracteres especiales (edittools)
    * Crea (y coloca) el combobox que permite seleccionar un conjunto determinado de
    * caracteres especiales bajo la caja de edición.
    * Funciona en conjunto con MediaWiki:Edittools y MediaWiki:Edittools.js.
    * Basado en commons:MediaWiki:Edittools.js.
    */
    importScript('MediaWiki:Edittools.javascript');
   //Seguimiento

} else if (mw.config.get('wgPageName') == 'Especial:Seguimiento') {

   mw.loader.load( mw.config.get('wgServer') + mw.config.get('wgScript') +
       '?title=MediaWiki:Common.js/seguimiento.js&action=raw&ctype=text/javascript');

}

//Wikibugs importScript('MediaWiki:Wikibugs.js');

/** WikiMiniAtlas *******************************************************

*
*  Description: WikiMiniAtlas is a popup click and drag world map.
*               This script causes all of our coordinate links to display the WikiMiniAtlas popup button.
*               The script itself is located on meta because it is used by many projects.
*               See Meta:WikiMiniAtlas for more information. 
*  Maintainers: User:Dschwen
*/

window.wma_settings = {

   buttonImage: "//upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Erioll_world.svg/15px-Erioll_world.svg.png"

};

mw.loader.load('//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript');

/* OpenStreetMap */ mw.config.set( 'osm_proj_map', 'mapa' ); //"map" in project language mw.config.set( 'osm_proj_lang', 'es' ); //project language

mw.loader.load('//meta.wikimedia.org/w/index.php?title=MediaWiki:OSM.js&action=raw&ctype=text/javascript');

/** Mejoras de diseño de la Portada

*
*  Descripción: Varias mejoras de diseño para la portada, incluyendo un
*                      enlace adicional a la lista completa de idiomas disponibles.
*  Maintainers: User:AzaToth, User:R. Koot, User:Alex Smotrov
*  Adaptado de 
*/

if ($.inArray(mw.config.get('wgPageName'), ['Wikipedia:Portada', 'Wikipedia Discusión:Portada']) > -1) {

   $(document).ready(function () {
       mw.util.addPortletLink('p-lang', '//es.wikipedia.org/wiki/Anexo:Wikipedias',
           'Lista completa', 'interwiki-completelist', 'Lista completa de Wikipedias');
   });

}

// Oculta los resumenes de edición para ciertas páginas var paginasSinRE = [

   "Wikipedia:Tablón_de_anuncios_de_los_bibliotecarios/Portal/Plantillas/Fusión_de_historiales/precarga",
   "Wikipedia:Tablón_de_anuncios_de_los_bibliotecarios/Portal/Plantillas/Permisos/precarga",
   "Wikipedia:Bot/Solicitudes/Precarga"

]; if ( $.inArray(mw.util.getParamValue('preload'), paginasSinRE ) > -1) {

   $(document).ready(function () {
       $('#wpSummary').hide();
       $('#wpSummaryLabel').hide();
   });

}


/*

* Cerrar mensajes
* Ver ejemplo en Usuario:Chabacano/Fírmalo, por Usuario:Platonides.
*/

if (document.getElementById("cierraPadre")) {

   $(document).ready(function () {
       document.getElementById("cierraPadre").childNodes[0].onclick = function () {
           document.getElementById("cierraPadre").style.cursor = 'pointer';
           document.getElementById("cierraPadre").parentNode.style.display = 'none';
           return false; /*no seguir el href*/
       };
   });

}

/**

* Collapsible tables
*
* @version 2.0.1 (2013-03-26)
* @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js
* @author User:R. Koot
* @author User:Krinkle
* @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which
* is supported in MediaWiki core.
*/

var autoCollapse = 2; var collapseCaption = 'ocultar'; var expandCaption = 'mostrar';

window.collapseTable = function( tableIndex ) { var Button = document.getElementById( 'collapseButton' + tableIndex ); var Table = document.getElementById( 'collapsibleTable' + tableIndex );

if ( !Table || !Button ) { return false; }

var Rows = Table.rows;

if ( Button.firstChild.data == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = 'none'; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = collapseCaption; } };

window.createClickHandler = function( tableIndex ) { return function ( e ) { e.preventDefault(); collapseTable( tableIndex ); }; };

function createCollapseButtons() { var tableIndex = 0; var NavigationBoxes = {}; var Tables = document.getElementsByTagName( 'table' );

for ( var i = 0; i < Tables.length; i++ ) { if ( $( Tables[i] ).hasClass( 'collapsible' ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0]; if ( !HeaderRow ) { continue; } var Header = HeaderRow.getElementsByTagName( 'th' )[0]; if ( !Header ) { continue; }

NavigationBoxes[tableIndex] = Tables[i]; Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );

var Button = document.createElement( 'span' ); var ButtonLink = document.createElement( 'a' ); var ButtonText = document.createTextNode( collapseCaption );

Button.style.styleFloat = 'right'; Button.style.cssFloat = 'right'; Button.style.fontWeight = 'normal'; Button.style.textAlign = 'right'; Button.style.width = '6em';

ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex ); $( ButtonLink ).on( 'click', createClickHandler( tableIndex ) ); ButtonLink.appendChild( ButtonText );

Button.appendChild( document.createTextNode( '[' ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( ']' ) );

Header.insertBefore( Button, Header.childNodes[0] ); tableIndex++; } }

for ( var i = 0; i < tableIndex; i++ ) { if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) || ( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) ) ) { collapseTable( i ); } } }

mw.hook( 'wikipage.content' ).add( createCollapseButtons );

// == Código del plegado/desplegado de plantillas == var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + expandCaption + ']';

var NavigationBarShowDefault = 0;

// shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled window.toggleNavigationBar = function (indexNavigationBar) {

   var NavToggle = document.getElementById("NavToggle" + indexNavigationBar),
       NavFrame = document.getElementById("NavFrame" + indexNavigationBar),
       NavChild;
   if (!NavFrame || !NavToggle) {
       return false;
   }
   // if shown now
   if (NavToggle.firstChild.data == NavigationBarHide) {
       for (NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
           if ( $(NavChild).hasClass( 'NavContent' ) || $(NavChild).hasClass( 'NavPic' ) ) {
               NavChild.style.display = 'none';
           }
       }
       NavToggle.firstChild.data = NavigationBarShow;
       // if hidden now
   } else if (NavToggle.firstChild.data == NavigationBarShow) {
       for (NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
           if ( $(NavChild).hasClass( 'NavContent' ) || $(NavChild).hasClass( 'NavPic' ) ) {
               NavChild.style.display = 'block';
           }
       }
       NavToggle.firstChild.data = NavigationBarHide;
   }

};

// adds show/hide-button to navigation bars function createNavigationBarToggleButton() {

   var indexNavigationBar = 0,
   // iterate over all < div >-elements 
       divs = document.getElementsByTagName("div"),
       NavFrame,
       NavChild,
       i;
   for (i = 0; NavFrame = divs[i]; i++) {
       // if found a navigation bar
       if ( $(NavFrame).hasClass( 'NavFrame' ) ) {
           indexNavigationBar++;
           var NavToggle = document.createElement("a");
           NavToggle.className = 'NavToggle';
           NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
           NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
           var isCollapsed = $(NavFrame).hasClass( 'collapsed' );
           /*
            * Check if any children are already hidden.  This loop is here for backwards compatibility:
            * the old way of making NavFrames start out collapsed was to manually add style="display:none"
            * to all the NavPic/NavContent elements.  Since this was bad for accessibility (no way to make
            * the content visible without JavaScript support), the new recommended way is to add the class
            * "collapsed" to the NavFrame itself, just like with collapsible tables.
            */
           for (NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
               if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
                   if (NavChild.style.display == 'none') {
                       isCollapsed = true;
                   }
               }
           }
           if (isCollapsed) {
               for (NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
                   if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
                       NavChild.style.display = 'none';
                   }
               }
           }
           var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide),
               j;
           NavToggle.appendChild(NavToggleText);
           // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
           for (j = 0; j < NavFrame.childNodes.length; j++) {
               if ( $(NavFrame.childNodes[j]).hasClass( 'NavHead' ) ) {
                   NavToggle.style.color = NavFrame.childNodes[j].style.color;
                   NavFrame.childNodes[j].appendChild(NavToggle);
               }
           }
           NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
       }
   }

}

$(document).ready(createNavigationBarToggleButton);

/**

* Interwiki links to featured articles ***************************************
*
* Description: Highlights interwiki links to featured articles (or
*              equivalents) by changing the bullet before the interwiki link
*              into a star.
* Maintainers: User:R. Koot
*/

function LinkFA() {

   if ( document.getElementById( 'p-lang' ) ) {
       var InterwikiLinks = document.getElementById( 'p-lang' ).getElementsByTagName( 'li' );

       for ( var i = 0; i < InterwikiLinks.length; i++ ) {
           var className = InterwikiLinks[i].className.match(/interwiki-[-\w]+/);
           if ( document.getElementById( className + '-fa' ) && InterwikiLinks[i].className.indexOf( 'badge-featuredarticle' ) === -1 ) {
               InterwikiLinks[i].className += ' destacado';
               InterwikiLinks[i].title = 'Éste es un artículo destacado en esta Wikipedia.';
           } else if ( document.getElementById( className + '-ga' ) && InterwikiLinks[i].className.indexOf( 'badge-goodarticle' ) === -1 ) {
               InterwikiLinks[i].className += ' bueno';
               InterwikiLinks[i].title = 'Éste es un artículo bueno en esta Wikipedia.';
           }
       }
   }

}

mw.hook( 'wikipage.content' ).add( LinkFA );

/**

* Enlace «sección nueva» junto a «editar» en la última sección de las páginas de discusión.
* Fuente: //de.wikipedia.org/w/index.php?oldid=133547849
*/

$( function() {

   var newSectionLink = $( '#ca-addsection a' );
   if( newSectionLink.length ) {
       var link = newSectionLink.clone(); //create a copy
       //avoid duplicate accesskey
       link.removeAttr( 'accesskey' ).attr( 'title', function ( index, oldTitle ) {
           return oldTitle.replace( /\s*\[.*\]\s*$/,  );
       } );
       // con la skin vector se muestra como "Sección nueva", pasamos a minúsculas para integrarlo mejor
       link.css( {
           "text-transform" : "lowercase"
       } );
       //add it within the brackets
       var lastEditsectionLink = $( 'span.mw-editsection:last a:last' );
       lastEditsectionLink.after( link );
       lastEditsectionLink.after( ' · ' ); //see MediaWiki:Pipe-separator
   }

} );

/* // == Interproyectos en un recuadro a la izquierda ==

Funcionan con la plantilla {{commons}} y en otras
plantillas de enlace entre proyectos
  • /

function iProject() {

   var elementos = [],
       i;
   if (document.getElementsByClassName) {
       elementos = document.getElementsByClassName("interProject");
   } else {
       var els = document.getElementsByTagName("span"),
           elsLen = els.length,
           j;
       for (i = 0, j = 0; i < elsLen; i++) {
           if ("interProject" == els[i].className) {
               elementos[j] = els[i];
               j++;
           }
       }
   }
   if (elementos.length > 0) {
       mw.util.addCSS('#interProject {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}');
       var portal = document.createElement('div');
       portal.setAttribute("class", "portlet portal"); /* portlet en monobook, portal en vector */
       var tit = document.createElement('h3');
       tit.setAttribute("lang", "es");
       tit.appendChild(document.createTextNode('Otros proyectos'));
       portal.appendChild(tit);
       var IPY = document.createElement('div');
       IPY.setAttribute('class', "pBody body");
       var ul = document.createElement('ul');
       IPY.appendChild(ul);
       for (i = 0; i < elementos.length; i++) {
           var li = document.createElement('li');
           li.innerHTML = elementos[i].innerHTML;
           ul.appendChild(li);
       }
       portal.appendChild(IPY);
       if (document.getElementById("p-tb").nextSibling) {
           document.getElementById("p-tb").parentNode.insertBefore(portal, document.getElementById("p-tb").nextSibling);
       }
       else {
           document.getElementById("p-tb").parentNode.appendChild(portal);
       }
   }

} $(document).ready(iProject);

/* End of mw.loader.using callback */ });

/* Ordenación de tablas:

* Desde MediaWiki 1.22wmf13 las ordenaciones numéricas funcionan correctamente con nuestros separadores de millares y decimales, sin necesidad de código adicional
* Personalización de la ordenación de fechas:
* Se ordenan según "dd de mm de yy" o "dd de mm de yyyy"
* También reconoce dd-mm-yy, dd-mm-yyyy (y otras variaciones usando / , .)
*/

mw.loader.using( 'jquery.tablesorter', function () {

   var ts = $.tablesorter,
       i,
       j;

   ts.formatDateCustom = function ( s ) {
           var match;
           s = $.trim( s.toLowerCase() );

           s = s.replace( /( de |[\-\.\,' ])/g, '/' );

           if ( ( match = s.match( ts.dateRegex[0] ) ) !== null ) {
               if ( mw.config.get( 'wgDefaultDateFormat' ) === 'mdy' || mw.config.get( 'wgContentLanguage' ) === 'en' ) {
                   s = [ match[3], match[1], match[2] ];
               } else if ( mw.config.get( 'wgDefaultDateFormat' ) === 'dmy' ) {
                   s = [ match[3], match[2], match[1] ];
               } else {
                   // If we get here, we don't know which order the dd-dd-dddd
                   // date is in. So return something not entirely invalid.
                   return '99999999';
               }
           } else if ( ( match = s.match( ts.dateRegex[1] ) ) !== null ) {
               s = [ match[3],  + ts.monthNames[match[2]], match[1] ];
           } else if ( ( match = s.match( ts.dateRegex[2] ) ) !== null ) {
               s = [ match[3],  + ts.monthNames[match[1]], match[2] ];
           } else {
               // Should never get here
               return '99999999';
           }

           // Pad Month and Day
           if ( s[1].length === 1 ) {
               s[1] = '0' + s[1];
           }
           if ( s[2].length === 1 ) {
               s[2] = '0' + s[2];
           }

           var y;
           if ( ( y = parseInt( s[0], 10) ) < 100 ) {
               // Guestimate years without centuries
               if ( y < 30 ) {
                   s[0] = 2000 + y;
               } else {
                   s[0] = 1900 + y;
               }
           }
           while ( s[0].length < 4 ) {
               s[0] = '0' + s[0];
           }
           return parseInt( s.join(  ), 10 );
   };

   var regex = [];
   ts.monthNames = {};

   for ( i = 1; i < 13; i++ ) {
       var name = mw.config.get( 'wgMonthNames' )[i].toLowerCase();
       ts.monthNames[name] = i;
       regex.push( mw.RegExp.escape( name ) );
       var monthNamesShort = [ "", "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic" ];
       name = monthNamesShort[i].toLowerCase().replace( '.',  );
       ts.monthNames[name] = i;
       regex.push( mw.RegExp.escape( name ) );
   }
   regex = regex.join( '|' );

   ts.dateRegexCustom = new RegExp( "^\\d\\d?\\sde\\s(" + regex + ")\\sde\\s\\d{2,4}$" );

   ts.addParser( {
       id: 'dateCustom',
       is: function( s ) {
           return ( $.tablesorter.dateRegexCustom.test(s) );
       },
       format: function( s ) {
           return $.tablesorter.formatDateCustom( s );
       },
       type: 'numeric'
   });

/* End of mw.loader.using callback */ });

/** Ajusta el ordenamiento alfabético en las tablas "sortable" */ (function() {

 var letras = [["áàâäãāăåą", "a"], ["æ", "ae"], ["ćĉčç", "c"], ["ďḑđð", "d"], ["éèêëẽěēĕę", "e"],
           ["ĝḡğģǥ", "g"], ["ĥḧḩħ", "h"], ["íìÎîïĩīĭįı", "i"], ["ĵ", "j"], ["ķ", "k"],
           ["ĺľļł", "l"], ["ńňņ", "n"], ["ñ", "n~"], ["óòôöõōŏǫőø", "o"], ["œ", "oe"],
           ["ŕřŗ", "r"], ["śŝšş", "s"], ["ß", "ss"], ["ťţŧ", "t"], ["úùûüũūŭůųű", "u"], ["ṽ", "v"],
           ["ŵẅ", "w"], ["ẍ", "x"], ["ýŷÿỹ", "y"], ["źẑžƶ", "z"]];
 var hash = {};
 for (var i = 0; i < letras.length; i++) {
   var arr = letras[i][0].split("");
   var dest = letras[i][1];
   for (var j = 0; j < arr.length; j++) {
     hash[arr[j]] = dest;
   }
 }
 mw.config.set('tableSorterCollation', hash);

})();

/**

* Los WikiWidgets son pequeños programas que sirven para ilustrar y explicar de manera interactiva conceptos tratados en los artículos.
* El código de inicialización de los WikiWidgets se carga desde Commons cuando se encuentra una plantilla de WikiWidgets en la página.
*/

if ( $( '.WikiWidget' ).length ) { mw.loader.load( '//commons.wikimedia.org/w/index.php?title=MediaWiki:WikiWidgets.js&action=raw&ctype=text/javascript' ); }

/* Fin de alias */ })( jQuery, mediaWiki );