Usuario:Locos epraix/botonera.js

De Wikipedia, la enciclopedia libre

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é.

/**
 * Botonera
 * <nowiki>
 */

// Protege contra doble inclusión, desactiva en páginas que no sean de edición
if ( typeof window.botonera == 'undefined' && $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit']) !== -1 ) {

	//Global
	var botonera = {};

	//Enlaza con window
	if ( typeof window.botonera == 'undefined' ) {
		window.botonera = botonera;
	}

	//Scope local para no contaminar espacio global
	mw.loader.using('ext.wikiEditor').then(function () {

		//Variables
		var krInsertWikiEditorButton,
			addButtonWrapper,
			agregarBoton,
			selectionStart,
			selectionEnd,
			ejecutar;

		/**
		 * Funciones principales
		 */

		/**
		 * Insert WikiEditor Button
		 * @url meta.wikimedia.org/wiki/User:Krinkle/Scripts/InsertWikiEditorButton
		 * @author Krinkle
		 * @version 0.2.2 (2012-03-05)
		 * Released in the public domain
		 * krInsertWikiEditorButton
		 * @param options {Object} An object with options:
		 * - section {String} (optional) The name of the section in the WikiEditor. Defaults to 'main'
		 * - group {String} (optional) The name of the group in the WikiEditor. Defaults to 'insert'
		 * - id {String} (required) Unique id (ie. 'my-button')
		 * - icon {String} (recommended) URL to the icon, should be square about 21 to 22px
		 * - label {String} (required) Tooltip displayed when hovering button
		 * - insertBefore {String} (optional) Wikitext to be inserted before the cursor on-click
		 * - sampleText {String} (optional) Text inserted in place of the cursor if no text was selected
		 * - insertAfter {String} (optional) Wikitext to be inserted after the cursor on-click
		 * - ownline {Boolean} (optional) Specifies if the inserted text go in it's own line. Defaults to 'false'
		 * - callback {Function} (optional) Called when the button is clicked
		 * - autoSummary {mixed} (optional) Null or an Object with the following properties:
		 *   - summary {String} (required) Edit summary that should be used
		 *   - position {String} (optional) 'append', 'prepend' or 'replace'
		 *   - delimiter {String} (optional) delimiter between the (possibly) current summary and the to-be-inserted summary
		 */
		krInsertWikiEditorButton = function( options ) {
			// Defaults
			options = $.extend( {
				'section': 'main',
				'group': 'insert',
				'id': null,
				'icon': '//upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Toolbaricon_bold_%21.png/21px-Toolbaricon_bold_%21.png',
				'label': '',
				'insertBefore': '',
				'sampleText': '',
				'insertAfter': '',
				'ownline': false,
				'callback': null,
				'autoSummary': {
					'summary': null,
					'position': 'append',
					'delimiter': '; '
				}
			}, options );
			// Required
			if ( !options.id || !options.label ) {
				return false;
			}
			var wikiOptions = {
					'section': options.section,
					'group': options.group,
					'tools': {}
			};
			wikiOptions.tools[options.id] = {
					label: options.label,
					type: 'button',
					icon: options.icon,
					action: {
						type: 'callback',
						execute: function () {
							// encapsulateSelection
							$('#wpTextbox1').textSelection( 'encapsulateSelection', {
								pre: options.insertBefore,
								peri: options.sampleText,
								post: options.insertAfter,
								ownline: options.ownline
							});
							// Auto summary
							if ( options.autoSummary && options.autoSummary.summary ) {
								var $summary = $('#wpSummary'),
									currentSum = $summary.val();
								if ( $.isEmpty( currentSum ) ) {
									$summary.val( options.autoSummary.summary );
								} else {
									switch ( options.autoSummary.position ) {
									case 'prepend':
										$summary.val(
												options.autoSummary.summary +
												options.autoSummary.delimiter +
												currentSum
										);
										break;
									case 'replace':
										$summary.val( options.autoSummary.summary );
										break;
									default: // 'append'
										$summary.val(
												currentSum +
												options.autoSummary.delimiter +
												options.autoSummary.summary
										);
									}
								}
							}
							// Callback
							if ( $.isFunction( options.callback ) ) {
								options.callback();
							}
						}
					}
			};
			$('#wpTextbox1').wikiEditor( 'addToToolbar', wikiOptions );
		};

		addButtonWrapper = function( options ) {
			// Defaults
			options = $.extend( {
				'section': 'main',
				'group': 'insert',
				'id': null,
				'icon': '//upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Toolbaricon_bold_%21.png/21px-Toolbaricon_bold_%21.png',
				'label': '',
				'insertBefore': '',
				'sampleText': '',
				'insertAfter': '',
				'ownline': false,
				'callback': null,
				'autoSummary': {
					'summary': null,
					'position': 'append',
					'delimiter': '; '
				}
			}, options );
			// Required
			if ( !options.id || !options.label ) {
				return false;
			}
			mw.toolbar.addButton( options.icon, options.label, options.insertBefore,
					options.insertAfter, options.sampleText, options.id);
		};

		agregarBoton = function( options ) {
			if( mw.user.options.get( 'usebetatoolbar' ) ) {
				krInsertWikiEditorButton( options );
			} else {
				addButtonWrapper( options );
			}
		};

		/**
		 * Funciones auxiliares
		 */

		function extraEscucharSeleccion() {
			$('#wpTextbox1').on( "select", function () {
				selectionStart = $('#wpTextbox1').get(0).selectionStart;
				selectionEnd = $('#wpTextbox1').get(0).selectionEnd;
			});
		}

		function extraCambiarCase() {
			var selr = $('#wpTextbox1').val().length - selectionEnd,
				selt = $('#wpTextbox1').val().substring( selectionStart, selectionEnd ),
				temp;

			if (selectionEnd > selectionStart) {
				if (selt == selt.toUpperCase()) {
					selt = selt.toLowerCase();
				} else if (selt == selt.toLowerCase() && ( selectionEnd - selectionStart ) > 1) {
					selt = selt.substring(0, 1).toUpperCase() + selt.substring(1).toLowerCase();
				} else {
					selt = selt.toUpperCase();
				}

				$('#wpTextbox1').val(
					$('#wpTextbox1').val().substring( 0, selectionStart ) +
					selt +
					$('#wpTextbox1').val().substring( selectionEnd ) );
				$('#wpTextbox1').get(0).selectionStart = selectionStart;
				if ( selectionEnd > selectionStart ) {
					$('#wpTextbox1').get(0).selectionEnd = $('#wpTextbox1').val().length - selr;
				} else {
					temp = $('#wpTextbox1').get(0).selectionEnd;
					$('#wpTextbox1').get(0).selectionEnd = selectionStart;
					$('#wpTextbox1').get(0).selectionStart = temp;
				}
			}
		}

		/*
		function extraAvisoUsuario() {
			btnAviso.avisoStr = prompt(
				"Tipo de aviso a usuario:\n" + "prueba : Prueba\n" +
				"prueba0a : Wikietiqueta\n" + "prueba0b : Estilo\n" + "prueba0c : Spam\n" +
				"prueba2 : Sin sentido\n" + "prueba2a : Blanqueo\n" + "prueba3 : Detente\n" +
				"prueba4 : Última advertencia\n" + "prueba5 : Bloqueo"
			);
		}*/

		ejecutar = function () {
			/**
			 * Añadiendo secciones para el wikiEditor y rutina para el caseChanger
			 * Miscelánea
			 * Mantenimiento
			 */
			if( mw.user.options.get( 'usebetatoolbar' ) ) {
				extraEscucharSeleccion();
				$('#wpTextbox1').wikiEditor( 'addToToolbar', {
					'section': 'advanced',
					'groups': {
						'mw-botonera-miscelanea': {
							'label': 'Miscelánea'
						}
					}
				} );
				$('#wpTextbox1').wikiEditor( 'addToToolbar', {
					'section': 'advanced',
					'groups': {
						'mw-botonera-mantenimiento': {
							'label': 'Mantenimiento'
						}
					}
				} );
			}

			agregarBoton({
				'id': 'mw-botonera-tachado',
				'section': 'advanced',
				'group': 'format',
				'icon': '//upload.wikimedia.org/wikipedia/commons/f/f9/Toolbaricon_regular_S_stroke.png',
				'label': 'Texto tachado',
				'insertBefore': '<s>',
				'sampleText': 'Texto tachado',
				'insertAfter': '</s>'
			});

			agregarBoton({
				'id': 'mw-botonera-subrayado',
				'section': 'advanced',
				'group': 'format',
				'icon': '//upload.wikimedia.org/wikipedia/commons/1/13/Toolbaricon_regular_U_underline.png',
				'label': 'Texto subrayado',
				'insertBefore': '<u>',
				'sampleText': 'Texto subrayado',
				'insertAfter': '</u>'
			});

			//Sólo sirve en wikiEditor
			if( mw.user.options.get( 'usebetatoolbar' ) ) {
				agregarBoton({
					'id': 'mw-botonera-cambiarcase',
					'section': 'advanced',
					'group': 'size',
					'icon': '//upload.wikimedia.org/wikipedia/commons/1/12/Button_case.png',
					'label': 'Cambiar a mayúsculas o minúsculas',
					'callback': extraCambiarCase
				});
			}

			agregarBoton({
				'id': 'mw-botonera-pre',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/f/ff/Vector_toolbar_pre_button.png',
				'label': 'Texto preformateado',
				'insertBefore': '<pre>',
				'sampleText': 'Texto preformateado',
				'insertAfter': '</pre>'
			});

			agregarBoton({
				'id': 'mw-botonera-code',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/2/23/Button_code.png',
				'label': 'Código',
				'insertBefore': '<code>',
				'sampleText': 'Código',
				'insertAfter': '</code>'
			});

			agregarBoton({
				'id': 'mw-botonera-blockquote',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png',
				'label': 'Blockquote',
				'insertBefore': '<blockquote>',
				'sampleText': 'Bloque de texto citado',
				'insertAfter': '</blockquote>'
			});

			agregarBoton({
				'id': 'mw-botonera-mate',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/1/1c/Toolbaricon_math.png',
				'label': 'Formula matemática (LaTeX)',
				'insertBefore': '<math>',
				'sampleText': 'Escribe aquí una fórmula',
				'insertAfter': '</math>'
			});

			agregarBoton({
				'id': 'mw-botonera-linea',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/b/b4/Toolbaricon_rule.png',
				'label': 'Linea',
				'insertBefore': '----\n',
				'ownline': true
			});

			agregarBoton({
				'id': 'mw-botonera-oculto',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/1/11/Toolbaricon_hiddencomment.png',
				'label': 'Comentario oculto',
				'insertBefore': '<!-- ',
				'sampleText': 'Texto oculto',
				'insertAfter': ' -->'
			});

			agregarBoton({
				'id': 'mw-botonera-plantilla',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/4/4a/Norwegian_template_sign.png',
				'label': 'Plantilla',
				'insertBefore': '{{',
				'sampleText': 'Nombre de plantilla',
				'insertAfter': '}}'
			});

			agregarBoton({
				'id': 'mw-botonera-cite',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/2/2f/Toolbaricon_quote_1.png',
				'label': 'Cita',
				'insertBefore': '{{cita|',
				'sampleText': 'Texto en cita',
				'insertAfter': '|Autor}}',
				'ownline': true
			});

			//Que no sea main y anexo
			if ( $.inArray( mw.config.get( 'wgNamespaceNumber' ), [0, 104]) === -1 ) {
				agregarBoton({
					'id': 'mw-botonera-usuario',
					'section': 'advanced',
					'group': 'mw-botonera-miscelanea',
					'icon': '//upload.wikimedia.org/wikipedia/commons/2/29/Button_user.png',
					'label': 'Usuario',
					'insertBefore': '{{u|',
					'sampleText': 'nombre usuario',
					'insertAfter': '}}'
				});

				agregarBoton({
					'id': 'mw-botonera-nofirmado',
					'section': 'advanced',
					'group': 'mw-botonera-miscelanea',
					'icon': '//upload.wikimedia.org/wikipedia/commons/1/1b/Button_miss_signature.png',
					'label': 'No firmado',
					'insertBefore': '{{nofirmado|',
					'sampleText': 'nombre usuario',
					'insertAfter': '|--~~~~}}'
				});

				agregarBoton({
					'id': 'mw-botonera-hecho',
					'section': 'advanced',
					'group': 'mw-botonera-miscelanea',
					'icon': '//upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Art%C3%ADculo_bueno.svg/20px-Art%C3%ADculo_bueno.svg.png',
					'label': 'Hecho',
					'insertBefore': '{{hecho|',
					'sampleText': '',
					'insertAfter': '}}'
				});

				//Para discusiones
				if ( mw.config.get( 'wgNamespaceNumber' ) === 3) {
					if ( /^\d+\.\d+\.\d+\.\d+$/.test( mw.config.get( 'wgTitle' ) ) ) {
						agregarBoton({
							'id': 'mw-botonera-bienvenido',
							'section': 'advanced',
							'group': 'mw-botonera-miscelanea',
							'icon': '//upload.wikimedia.org/wikipedia/commons/4/4a/Button_welcome.png',
							'label': 'Bienvenido',
							'insertBefore': '{{subst:Bienvenida ip}} --~~~~',
							'autoSummary': {
								'summary': 'Dando bienvenida'
							}
						});
					} else {
						agregarBoton({
							'id': 'mw-botonera-bienvenido',
							'section': 'advanced',
							'group': 'mw-botonera-miscelanea',
							'icon': '//upload.wikimedia.org/wikipedia/commons/4/4a/Button_welcome.png',
							'label': 'Bienvenido',
							'insertBefore': '{{subst:Bienvenido usuario}} --~~~~',
							'autoSummary': {
								'summary': 'Dando bienvenida'
							}
						});
					}
				}
			}

			/**
			 * Botones de mantenimiento
			 */
			//Para discusiones
			if ( mw.config.get( 'wgNamespaceNumber' ) === 3) {
				agregarBoton({
					'id': 'mw-botonera-aviso-copyvio',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/c/c9/Button_copy_vio.png',
					'label': 'Aviso copyvio',
					'insertBefore': '{{subst:aviso copyvio|',
					'sampleText': 'nombre artículo',
					'insertAfter': '|--~~~~}}',
					'autoSummary': {
						'summary': 'Posible violación de copyright'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-plagio',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/7/72/Button_copy_vio_plagio.png',
					'label': 'Aviso plagio',
					'insertBefore': '{{subst:aviso copyvio|',
					'sampleText': 'nombre artículo',
					'insertAfter': '|--~~~~|plagio}}',
					'autoSummary': {
						'summary': 'Evidente violación de copyright'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-promocional',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/f/fb/Button_spam2.png',
					'label': 'Aviso promocional',
					'insertBefore': '{{subst:aviso promocional|',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Autopromoción'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-borrar',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/f/f0/Bouton_Vandale0.png',
					'label': 'Aviso borrar',
					'insertBefore': '{{subst:aviso BR|',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Páginas sin sentido'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-propuestaborrado',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/f/f8/Button_suppr.png',
					'label': 'Aviso propuesta borrado',
					'insertBefore': '{{subst:Notificación propb|',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Propuesta de borrado'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-votonulo',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/3/32/Button_anular_voto.png',
					'label': 'Aviso propuesta borrado',
					'insertBefore': '{{subst:aviso votonulo}} --~~~~',
					'autoSummary': {
						'summary': 'Voto anulado'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-infraesbozo',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/7/7a/Button_micro_stub.png',
					'label': 'Aviso infraesbozo',
					'insertBefore': '{{subst:Aviso infraesbozo|',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Infraesbozo'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-contextualizar',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/e/e2/Button_contexto.png',
					'label': 'Aviso contextualizar',
					'insertBefore': '{{subst:aviso contextualizar|',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Contextualizar'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-SRA',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/6/63/Button_out_relevancy.png',
					'label': 'Aviso sin relevancia aparente',
					'insertBefore': '{{subst:aviso SRA|',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Sin relevancia'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-wikificar',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/0/0d/Button_wikification.png',
					'label': 'Aviso wikificar',
					'insertBefore': '{{subst:aviso wikificar|',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Wikificar'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-copyedit',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/e/e9/Button_copy_edit.png',
					'label': 'Aviso copyedit',
					'insertBefore': '{{subst:aviso copyedit|',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Copyedit'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-fuenteprimaria',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/0/02/Button_fuente_primaria.png',
					'label': 'Aviso fuente primaria',
					'insertBefore': '{{subst:aviso FP|',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Fuente primaria'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-aviso-referencias',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/5/5c/Button_references2.png',
					'label': 'Aviso referencias',
					'insertBefore': '{{subst:aviso referencias|',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Referencias'
					}
				});

				/*
				agregarBoton({
					'id': 'mw-botonera-aviso-usuario',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/e/ec/Button_aviso.png',
					'label': 'Aviso usuario',
					'callbackPrev': usuario,
					'avisoStr': '',
					'insertBefore': '{{subst:prueba' + btnAviso.avisoStr + '}} --~~~~',
					'autoSummary': {
						'summary': 'Aviso al usuario'
					}
				});
				*/

				agregarBoton({
					'id': 'mw-botonera-aviso-imagenretirada',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/3/3a/Button_av-img.png',
					'label': 'Aviso imagen retirada',
					'insertBefore': '{{subst:aviso imagen|',
					'sampleText': 'nombre de la imagen.ext',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Imagen retirada'
					}
				});

			} else {

				agregarBoton({
					'id': 'mw-botonera-copyvio',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/c/c9/Button_copy_vio.png',
					'label': 'Copyvio',
					'insertBefore': '{{copyvio|1=',
					'sampleText': 'posible violación de copyright desde',
					'insertAfter': '|2=--~~~~|3={{subst:CURRENTDAY}}|4={{subst:CURRENTMONTHNAME}}}}\n\n<!--',
					'autoSummary': {
						'summary': 'Posible violación de copyright'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-plagio',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/7/72/Button_copy_vio_plagio.png',
					'label': 'Plagio',
					'insertBefore': '{{plagio|1=',
					'sampleText': 'evidente violación de copyright desde',
					'insertAfter': '|2=--~~~~|3={{subst:CURRENTDAY}}|4={{subst:CURRENTMONTHNAME}}}}\n\n<!--',
					'autoSummary': {
						'summary': 'Evidente violación de copyright'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-promocional',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/f/fb/Button_spam2.png',
					'label': 'Promocional',
					'insertBefore': '{{promocional|{{subst:CURRENTDAY}}|{{subst:CURRENTMONTHNAME}}}}\n',
					'autoSummary': {
						'summary': 'Promocional'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-borrar',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/f/f0/Bouton_Vandale0.png',
					'label': 'Destruir',
					'insertBefore': '{{destruir|1=',
					'sampleText': 'motivo para destruir',
					'insertAfter': '}}\n',
					'autoSummary': {
						'summary': 'Destruir'
					}
				});

				agregarBoton({
					'id': 'mw-botonera-propuestaborrado',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/f/f8/Button_suppr.png',
					'label': 'Propuesta borrado',
					'insertBefore': '{{subst:propb|1=',
					'sampleText': 'motivo para proponer borrado',
					'insertAfter': '}}\n',
					'autoSummary': {
						'summary': 'Propuesta de borrado'
					}
				});

				// Que sean discusiones o espacio de wikiproyecto
				if ( mw.config.get( 'wgNamespaceNumber' ) % 2 === 1 || mw.config.get( 'wgNamespaceNumber' ) === 102) {
					agregarBoton({
						'id': 'mw-botonera-votonulo',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/3/32/Button_anular_voto.png',
						'label': 'Voto nulo',
						'insertBefore': '<s>',
						'sampleText': 'Voto a anular',
						'insertAfter': '</s> {{votonulo|--~~~~}}',
						'autoSummary': {
							'summary': 'Voto anulado'
						}
					});
				}

				//Para main y anexo
				if ( $.inArray( mw.config.get( 'wgNamespaceNumber' ), [0, 104]) > -1 ) {
					agregarBoton({
						'id': 'mw-botonera-infraesbozo',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/7/7a/Button_micro_stub.png',
						'label': 'Infraesbozo',
						'insertBefore': '{{infraesbozo|{{subst:CURRENTDAY}}|{{subst:CURRENTMONTHNAME}}}}\n',
						'autoSummary': {
							'summary': 'Infraesbozo'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-contextualizar',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/e/e2/Button_contexto.png',
						'label': 'Contextualizar',
						'insertBefore': '{{contextualizar|{{subst:CURRENTDAY}}|{{subst:CURRENTMONTHNAME}}}}\n',
						'autoSummary': {
							'summary': 'Contextualizar'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-SRA',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/6/63/Button_out_relevancy.png',
						'label': 'Sin relevancia aparente',
						'insertBefore': '{{sinrelevancia|{{subst:CURRENTDAY}}|{{subst:CURRENTMONTHNAME}}}}\n',
						'autoSummary': {
							'summary': 'Sin relevancia aparente'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-wikificar',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/0/0d/Button_wikification.png',
						'label': 'Wikificar',
						'insertBefore': '{{wikificar|',
						'sampleText': 'categoría 1',
						'insertAfter': '|categoría 2}}\n',
						'autoSummary': {
							'summary': 'Wikificar'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-copyedit',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/e/e9/Button_copy_edit.png',
						'label': 'Copyedit',
						'insertBefore': '{{copyedit}}\n',
						'autoSummary': {
							'summary': 'Copyedit'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-fuenteprimaria',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/0/02/Button_fuente_primaria.png',
						'label': 'Fuente primaria',
						'insertBefore': '{{fuenteprimaria|{{subst:CURRENTDAY}}|{{subst:CURRENTMONTHNAME}}}}\n',
						'autoSummary': {
							'summary': 'Fuente primaria'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-referencias',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/5/5c/Button_references2.png',
						'label': 'Referencias',
						'insertBefore': '{{referencias}}\n',
						'autoSummary': {
							'summary': 'Referencias'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-wikci',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/f/f6/Button_wikt_new.png',
						'label': 'Al wikcionario',
						'insertBefore': '{{wikci}}\n',
						'autoSummary': {
							'summary': 'Al wikcionario'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-fusionar',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/b/be/Button_merge_articles.png',
						'label': 'Fusionar',
						'insertBefore': '{{fusionar|',
						'sampleText': 'fusionar con',
						'insertAfter': '}}\n',
						'autoSummary': {
							'summary': 'Fusionar'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-noneutralidad',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/3/37/Button_no_neutral.png',
						'label': 'No neutralidad',
						'insertBefore': '{{noneutralidad}}\n',
						'autoSummary': {
							'summary': 'No neutral'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-desambiguacion',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/6/62/Button_desambig.png',
						'label': 'Desambiguación',
						'insertBefore': '{{desambiguación}}\n',
						'autoSummary': {
							'summary': 'Desambiguación'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-citarequerida',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/9/9a/Button_references.png',
						'label': 'Cita requerida',
						'insertBefore': '{{cita requerida|',
						'sampleText': '',
						'insertAfter': '}}',
						'autoSummary': {
							'summary': 'Cita requerida'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-endesarrollo',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/1/17/Button_indevelopment.png',
						'label': 'En desarrollo',
						'insertBefore': '{{endesarrollo}}\n',
						'autoSummary': {
							'summary': 'En desarrollo'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-traduccion',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/1/12/Button_breve.png',
						'label': 'Traducción inconclusa',
						'insertBefore': '{{Traducción inconclusa|art=',
						'sampleText': 'nombre del artículo original',
						'insertAfter': '|ci=código del idioma}}\n',
						'autoSummary': {
							'summary': 'Traducción inconclusa'
						}
					});
				}

				//Consulta de borrado
				if ( mw.config.get('wgPageName').indexOf("Wikipedia:Consultas_de_borrado/") > -1 ) {
					agregarBoton({
						'id': 'mw-botonera-consultaborrado',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/c/cd/Button_vote_deletion.png',
						'label': 'Consulta de borrado',
						'insertBefore': '{{subst:cdb2 | pg=" + mw.config.get( \'wgPageName\' ).substring(mw.config.get( \'wgPageName\' ).indexOf(\'/\') + 1).replace(/_/g, \' \') + " | cat=N | texto=',
						'sampleText': 'motivo para el borrado',
						'insertAfter': '}} --~~~~',
						'ownline': true,
						'autoSummary': {
							'summary': 'Consulta de borrado'
						}
					});

					agregarBoton({
						'id': 'mw-botonera-consultaborrado-archivo',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/d/d8/Button_archivo_borrar.png',
						'label': 'Archivado de consulta de borrado',
						'insertBefore': "{{cierracdb-arr}} '''",
						'sampleText': 'resultado de la consulta',
						'insertAfter': "'''. --~~~~",
						'ownline': true,
						'autoSummary': {
							'summary': 'Archivado de consulta de borrado'
						}
					});
				}
			}
		};

		$(ejecutar);

	}); // Fin de función mw.loader.using
} //fin de chequeo
// </nowiki>