MediaWiki:Common.js: Difference between revisions

From Wikizilla, the kaiju encyclopedia
Jump to navigationJump to search
(reflecting infobox updates)
No edit summary
 
(61 intermediate revisions by 4 users not shown)
Line 1: Line 1:
/*Nota, el contenido del Common.js se encuentra en [[MediaWiki:Common.js/Code.js]], y se importa desde MediaWiki:(skinname).js/Code.js <pre>*/
function loadTrueCommonJS() {
// Hash para evitar que puedan usar URLs que afecten a cómo se ve la página
var jsHashKey = window.wgStyleVersion;
var reloadjs = false;
var debug = false;
var skipCommon = false;
var skipSkinjs = false;
var curLocation = window.location.href;
if (curLocation.indexOf('jsHashKey='+jsHashKey) != -1) {
reloadjs = (curLocation.indexOf('reloadjs=true') != -1);
debug = (curLocation.indexOf('debug=true') != -1);
skipCommon = (curLocation.indexOf('skipCommon=true') != -1);
skipSkinjs = (curLocation.indexOf('skipSkinjs=true') != -1);
}
if (reloadjs) {
var d = new Date();
window.importScriptURI = function(oldImportScriptURI, ts) {
return function(url) {
return oldImportScriptURI(url+(url.indexOf('?') != -1 ? '&' : '?')+ts);
}
}(window.importScriptURI, d.getTime());
}
if (!skipCommon) {
var page = 'Common.js';
switch(window.skin) {
case 'monobook':
page = 'Monobook.js';
break;
case 'vector':
page = 'Vector.js';
break;
}
var code = (debug ? 'Debug' : 'Code');
importScriptURI(wgServer+wgScriptPath+wgScript+'?title=MediaWiki:'+page+'/'+code+'.js&action=raw&ctype=text/javascript&templates=expand&t=4');
}
if (skipSkinjs) {
throw 'skipSkinjs especificado. Aborting...';
}
}
loadTrueCommonJS();
/*</pre>*/
/* Any JavaScript here will be loaded for all users on every page load. */
/* <pre> v238 */
/* Control de errores */
function trataError(e) {
setTimeout(function(err) {
return function() {
throw err;
};
}(e), 10);
}
/* Esta función evita que se detenga la carga de otros scripts en el onload si uno de ellos falla*/
function safeOnLoadHook(fn) {
if ($) {
$(function() {
try {
fn();
} catch(e) {
typeof(window.trataError)=='function'&&trataError(e);
}
});
}
}
//// Intento de mejora de LinkSuggest. Modificado por [[User:Ciencia Al Poder]]
function improveLinkSuggest(){
if (!window.YAHOO || !YAHOO.example || !YAHOO.example.AutoCompleteTextArea) return;
YAHOO.example.AutoCompleteTextArea.prototype._sendQuery = function(sQuery) {
var text = this._elTextbox.value.replace(/\r/g, "");
var caret = this.getCaret(this._elTextbox);
var sQueryStartAt;
var closedTemplateFound = false;
var closedLinkFound = false;
// also look forward, to see if we closed this one
for(var i = caret; i < text.length; i++) {
var c = text.charAt (i) ;
// Characters that are invalid inside a link. It makes no sense to continue forward to see if it's closed.
if (c == "\n" || c == "[" || c == "{"){
break;
}/*
if((c == "[") && (text.charAt(i - 1) == "[")) {
break ;
}
if((c == "{") && (text.charAt(i - 1) == "{")) {
break ;
}*/
if((c == "]") && (text.charAt(i - 1) == "]")) {
// An opened template inside a closed link won't work if we return here. We'll need to check later if it's a template or a link
//return ;
closedLinkFound = true;
break;
}
if((c == "}") && (text.charAt(i - 1) == "}")) {
// An opened link inside a closed template won't work if we return here. We'll need to check later if it's a template or a link
//return ;
closedTemplateFound = true;
break;
}
}
for(var i = caret; i >= 0; i--) {
var c = text.charAt(i);
if(c == "]" || c == "|") {
if ( (c == "|") || ( (c == "]") && (text.charAt(i-1) == "]") ) ) {
this._toggleContainer(false) ;
}
return;
}
if(c == "}" || c == "|") {
if ( (c == "|") || ( (c == "}") && (text.charAt(i-1) == "}") ) ) {
this._toggleContainer(false) ;
}
return;
}
if((c == "[") && (text.charAt(i - 1) == "[")) {
if (closedLinkFound){
this._toggleContainer(false) ;
return;
}
this._originalQuery = text.substr(i + 1, (caret - i - 1));
sQueryReal = this._originalQuery
if (this._originalQuery.indexOf(':')==0){
this._bIsColon = true;
sQueryReal = sQueryReal.replace(':','');
} else {
this._bIsColon = false;
}
this._bIsTemplate = false;
sQueryStartAt = i;
break;
}
if((c == "{") && (text.charAt(i - 1) == "{")) {
if (closedTemplateFound){
this._toggleContainer(false) ;
return;
}
this._originalQuery = text.substr(i + 1, (caret - i - 1));
this._bIsColon = false;
if (this._originalQuery.length >= 6 && this._originalQuery.toLowerCase().indexOf('subst:') == 0){
sQueryReal = "Template:"+this._originalQuery.replace(/subst:/i,'');
this._bIsSubstTemplate = true;
} else if (this._originalQuery.indexOf(':')==0){
sQueryReal = this._originalQuery.replace(':','');
this._bIsColon = true;
} else {
sQueryReal = "Template:"+this._originalQuery;
this._bIsSubstTemplate = false;
}
this._bIsTemplate = true;
sQueryStartAt = i;
break;
}
}
if(sQueryStartAt >= 0 && sQueryReal.length > 2) {
YAHOO.example.AutoCompleteTextArea.superclass._sendQuery.call(this, encodeURI(sQueryReal.replace(/\x20/g,'_')));
}
};
}
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(improveLinkSuggest);
/* === Sortable corregido/mejorado para ordenar imágenes === */
// Buscar celdas con imagen o ref (limitado a primer elemento hijo, por rendimiento) y agrega un data-sort-value ignorando el ref y traduciendo correctamente la imagen
var tablesorter_fixImagenesRefs = function() {
var cache = [], text, $node, cn, ee, cambios = false, i, j;
for ( i = 1; i < this.rows.length; i++ ) {
cache[i] = [];
for ( j = 0; j < this.rows[i].cells.length; j++ ) {
if ( $( '> a.image,> sup.reference', this.rows[i].cells[j] ).length ) {
if ( this.rows[i].cells[j].getAttribute( 'data-sort-value' ) ) {
// Skip existing
continue;
}
text = '';
cn = this.rows[i].cells[j].childNodes;
for ( ee = 0; ee < cn.length; ee++ ) {
if ( cn[ee].nodeType == 3 ) {
text += cn[ee].data;
} else {
$node = $( cn[ee] );
if ( $node.is( 'a.image' ) ) {
text += cn[ee].title;
} else if ( ! $node.is( 'sup.reference' ) ) { // Nos saltamos los <ref>
text += $node.text();
}
}
}
cache[i][j] = $.trim( text );
cambios = cambios || ( cache[i][j] && true );
}
}
}
if ( !cambios ) {
return;
}
for ( i = 1; i < this.rows.length; i++ ) {
for ( j = 0; j < this.rows[i].cells.length; j++ ) {
if ( cache[i][j] ) {
this.rows[i].cells[j].setAttribute( 'data-sort-value', cache[i][j] );
}
}
}
};
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)( function() {
$( 'table.sortable', '#mw-content-text' ).each( function() {
// Attach del evento en mousedown porque se ejecutará antes que el click del tablesorter
// Una vez se ejecute el click, se guarda en caché los valores de columna, por lo que modificar el DOM después no funcionará
$(this).find( 'th' ).on( 'mousedown.fixpending_sortimgref', function() {
// Retiramos el evento para que no se vuelva a ejecutar
var ts = $(this).closest( 'table.sortable' );
ts.find( 'th' ).off( 'mousedown.fixpending_sortimgref' );
tablesorter_fixImagenesRefs.call(ts[0]);
} );
} );
} );
/* == Herramientas de edición == */
// Datos para scripts que se cargan de forma asíncrona:
var postloadFunctionData = {
'tablemanager': [],
'charinsert': {
"MediaWiki": [ '\x7E\x7E\x7E\x7E', ['\x7B{','}}'], ['[[',']]'], ['[[Categoría:',']]'], ['#REDIRECCIÓN [[',']]'], ['<ref>','</ref>'], '<references />', ['<includeonly>','</includeonly>'], ['<noinclude>','</noinclude>'], ['<nowiki>','</nowiki>'], ['\x3Cgallery widths="190px">\n','\n</gallery>'], ['<code>','</code>'], '\x7B{PAGENAME}}', ['\x7B{t|','}}'], ['\x7B{S|','}}'] ],
"Japonés - Katakana": ['ア','ァ','イ','ィ','ウ','ヴ','ゥ','エ','ェ','オ','ォ','カ','ガ','キ','ギ','ク','グ','ケ','ゲ','コ','ゴ','サ','ザ','シ','ジ','ス','ズ','セ','ゼ','ソ','ゾ','タ','ダ','チ','ヂ','ツ','ヅ','ッ','テ','デ','ト','ド','ナ','ニ','ヌ','ネ','ノ','ハ','バ','パ','ヒ','ビ','ピ','フ','ブ','プ','ヘ','ベ','ペ','ホ','ボ','ポ','マ','ミ','ム','メ','モ','ヤ','ャ','ユ','ュ','ヨ','ョ','ラ','リ','ル','レ','ロ','ワ','ヷ','ヰ','ヸ','ヱ','ヹ','ヲ','ヺ','ン','、','。',['「','」'],['『','』'],'ゝ','ゞ','々','ヽ','ヾ'],
"Japonés - R\u014Dmaji": ['Ā','ā','Ē','ē','Ī','ī','Ō','ō','Ū','ū'],
"Alfabeto fonético": ['ɨ','ʉ','ɯ','ɪ','ʏ','ʊ','ø','ɘ','ɵ','ɤ','ə','ɛ','œ','ɜ','ɞ','ʌ','ɔ','æ','ɐ','ɶ','ɑ','ɒ','ɚ','ɝ','ʰ','ʱ','ʲ','ʴ','ʷ','˞','ˠ','ˤ','ʼ','ˈ','ˌ','ː','ˑ','.','ʈ','ɖ','ɟ','ɢ','ʔ','ɱ','ɳ','ɲ','ŋ','ɴ','ʙ','ʀ','ɾ','ɽ','ɸ','β','θ','ð','ʃ','ʒ','ʂ','ʐ','ʝ','ɣ','χ','ʁ','ħ','ʕ','ɦ','ɬ','ɮ','ʋ','ɹ','ɻ','ɰ','ɭ','ʎ','ʟ','ʍ','ɥ','ʜ','ʢ','ʡ','ɕ','ʑ','ɺ','ɧ','ɡ','ɫ'],
"Plantillas de licencias": [['\x7B{Art Oficial|','}}'], '\x7B{CC-BY}}', '\x7B{CC-BY}}', '\x7B{CC-SA}}', '\x7B{CC-BY-SA}}', '\x7B{Carátula}}', '\x7B{Fair use}}', ['\x7B{Fanart|','}}'], '\x7B{GFDL}}', '\x7B{Imagen de Sugimori}}', '\x7B{Imagen de commons}}', '\x7B{LAL}}', '\x7B{PD}}', '\x7B{Pokémon sprite}}', '\x7B{Scan}}', '\x7B{ScreenshotJuego}}', '\x7B{ScreenshotTV}}'],
}
};
function loadEditJS(){
if (mw.config.get('wgAction', '') == 'edit' || mw.config.get('wgAction', '') == 'submit' ||
mw.config.get('wgCanonicalSpecialPageName', '') == 'Upload' ||
mw.config.get('wgCanonicalSpecialPageName', '') == 'MultipleUpload') {
importScript('MediaWiki:Common.js/Clases/CharInsert-min.js');
if (window.location.toString().indexOf('undo=') == -1 && window.location.toString().indexOf('undoafter=') == -1) {
if (mw.config.get('wgNamespaceNumber', 0) == 0) {
mw.loader.using(['jquery.ui.dialog', 'mediawiki.api'], function() {
if (typeof(window.fixBugMixedUIversionsDialog)=='function') { fixBugMixedUIversionsDialog(); }
importScript('MediaWiki:Common.js/Clases/AvisoCuriosidades.js');
});
}
if (mw.config.get('wgNamespaceNumber', 0) == 2 && window.location.toString().indexOf('action=edit') != -1) {
mw.loader.using(['jquery.ui.dialog', 'mediawiki.api'], function() {
if (typeof(window.fixBugMixedUIversionsDialog)=='function') { fixBugMixedUIversionsDialog(); }
importScript('MediaWiki:Common.js/Clases/DisableFirstSubmit.js');
});
}
}
}
}
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(loadEditJS);
/* == Acopla tablas ==
Para unir las filas en una sola tabla. [[MediaWiki:Mergetables.js]]
*/
function acopla_tablas(){
switch(mw.config.get('wgPageName')){
case 'Lista_de_Pokémon':
case 'Lista_de_movimientos':
importScript('MediaWiki:Common.js/Clases/MergeTables.js');
break;
}
}
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(acopla_tablas);
/*
* LazyLoadVideo - Muestra un botón para activar (mostrar) el reproductor de vídeos, para que no se carguen desde el inicio
* Copyright (C) 2012 - 2015 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($) {
var _title = (window.lazyloadvideotitle || 'Clic para activar el vídeo'),
_thumbUrl = 'http://i1.ytimg.com/vi/{0}/hqdefault.jpg',
_init = function() {
// OBSOLETO
$('#'+window.bodyContentId).find('div.video > .thumbinner > .youtube > object, div.video > .youtube > object').each(_muestraThumbInObject);
// NUEVO
$('#'+window.bodyContentId).find('div.video > .youtube').each(_muestraThumb);
},
// OBSOLETO - Agrega una imagen del vídeo en la posición del vídeo
_muestraThumbInObject = function() {
var oVideo = $(this), dataUrl = oVideo.find('> param[name="movie"]').attr('value'), vid = null, idx = dataUrl.indexOf('&'), w, h;
if (idx != -1) {
dataUrl = dataUrl.substr(0, idx);
idx = dataUrl.lastIndexOf('/');
if (idx != -1) {
vid = dataUrl.substr(idx + 1);
}
}
// Se comprueba que esté oculto, para sincronizar con CSS
if (vid !== null && oVideo.css('display') == 'none') {
w = oVideo.attr('width');
h = oVideo.attr('height');
oVideo.parent().append(
$(document.createElement('img')).attr('src', _thumbUrl.replace('{0}', vid)).attr({width: w, height: h}).addClass('videothumb')).append(
$('<div class="videodiscoveryoverlay"></div>').css({width: w.concat('px'), height: h.concat('px')}).attr('title', _title).bind('click', _discoverVideo));
}
},
// OBSOLETO - Evento al hacer clic en el overlay
_discoverVideo = function() {
var p = $(this).parent(), oVideo = p.find('> object'), mparam;
// En Safari ya versión 2 ya no funciona, porque redirecciona desde otro dominio y no lo permite por seguridad. Hay que cambiar a la versión 3
// http://code.google.com/p/gdata-issues/issues/detail?id=4887
mparam = oVideo.find('> param[name="movie"]');
oVideo.attr('data', oVideo.attr('data').replace('version=2', 'version=3'));
mparam.attr('value', mparam.attr('value').replace('version=2', 'version=3'));
oVideo.css('display', 'inline');
p.find('> img.videothumb').add(this).unbind().remove();
},
// Agrega una imagen del vídeo en la posición del contenedor
_muestraThumb = function() {
var oDiv = $(this), vid = oDiv.data('youtubevid'), w, h;
// Se comprueba que esté oculto, para sincronizar con CSS
if (vid && vid.length == 11 && oDiv.find('> iframe').length === 0) {
w = oDiv.width().toString();
h = oDiv.height().toString();
oDiv.append(
$('<img class="videothumb">').attr('src', _thumbUrl.replace('{0}', vid)).attr({width: w, height: h})).append(
$('<div class="videodiscoveryoverlay">').css({width: w.concat('px'), height: h.concat('px')}).attr('title', _title).bind('click', _insertVideo));
}
},
// Evento al hacer clic en el overlay
_insertVideo = function() {
var p = $(this).parent(), iframe;
p.empty();
iframe = $('<iframe>').attr({
'type': 'text/html',
width: p.css('width'),
height: p.css('height'),
src: 'http://www.youtube.com/embed/' + p.data('youtubevid') + '?iv_load_policy=3&rel=0',
frameborder: '0',
allowfullscreen: ''
}).appendTo(p);
};
// Muy lazy load
(typeof(window.safeOnLoadHook)=='function'?window.safeOnLoadHook:$)(function() {
window.setTimeout(_init, 2000);
});
})(jQuery);
if (mw.config.get('wgCanonicalSpecialPageName', '') != 'MyHome') {
window.wgEnableImageLightboxExt = false;
// Por si ya se ha cargado (a veces pasa)
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
$('#'+(window.bodyContentId||'bodyContent')).unbind('.lightbox');
});
}
// Incluir Gadget-HotCat.js
// Para desactivar, agrega "window.noHotCat = true" en tu Monobook.js
if (mw.config.get('skin') != 'oasis' && mw.config.get('wgAction') == 'view' &&
(mw.config.get('wgNamespaceNumber') == 0 || mw.config.get('wgNamespaceNumber') == 6 || mw.config.get('wgNamespaceNumber') == 14) &&
window.location.toString().indexOf('diff=') == -1) {
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
if (!document.getElementById('csAddCategorySwitch') && !window.noHotCat) {
if ($('#catlinks').length == 0) {
$('#'+(window.bodyContentId||'bodyContent')).children('div.printfooter').after('<div id="catlinks" class="catlinks"></div>');
}
if ($('#mw-normal-catlinks').length == 0) {
$('#catlinks').prepend('<div id="mw-normal-catlinks"><a title="Special:Categories" href="'+mw.config.get('wgArticlePath', '').replace('$1', 'Special:Categories')+'">Categories</a></div>');
}
$('#mw-normal-catlinks').children('a').eq(0).after('<span class="noprint">&nbsp;<span>(<a style="cursor: pointer;" title="Modify categories"><span>+<sup>+</sup></span></a>)</span></span>').next().find('a').click(function() {
$(this).unbind().closest('span.noprint').eq(0).remove();
importScript('MediaWiki:Common.js/Clases/Gadget-HotCat.js');
return false;
});
$('#catlinks').removeClass('catlinks-allhidden');
}
});
} else if (mw.config.get('wgCanonicalSpecialPageName', '') == 'Upload') {
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
importScript('MediaWiki:Common.js/Clases/Gadget-HotCat.js');
});
}
/***EVERYTHING ABOVE THIS LINE WORKS ****/
/****************************************/
if (mw.config.get('wgNamespaceNumber', 0) != -1) {
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
importScript('MediaWiki:Common.js/Clases/SVGDirecto.js');
});
}
// Impedir el renombrado de página de usuario
function disableUserpageMove() {
var url = window.location.toString();
var pn = mw.config.get('wgPageName', '');
var pos = url.indexOf(pn);
if (pos == -1) {
url = decodeURIComponent(url);
}
pos = url.indexOf(pn);
if (pos == -1) return; // fail :(
var page = url.substr(url.indexOf(pn)+pn.length+1);
pos = page.indexOf('?');
if (pos != -1) {
page = page.substr(0, pos);
}
pos = page.indexOf('/');
if (pos != -1) {
// Si hay barra es que se está trasladando una subpágina. Ok, lo permitimos
return;
}
// Es página de usuario?
var re_user = new RegExp('^(user|'+mw.config.get('wgFormattedNamespaces')['2']+'):', 'i');
if (re_user.test(page)) {
// Excluir admin y otros
for (var i = 0; i < mw.config.get('wgUserGroups', []).length; i++) {
if (mw.config.get('wgUserGroups')[i] == 'sysop' || mw.config.get('wgUserGroups')[i] == 'asistente' || mw.config.get('wgUserGroups')[i] == 'rollback') {
return true;
}
}
window.location = mw.config.get('wgArticlePath', '').replace('$1', 'Ayuda:Renombrar_mi_cuenta');
}
}
if (mw.config.get('wgCanonicalSpecialPageName', '') == 'Movepage') {
try {
disableUserpageMove();
} catch(e) {
typeof(window.trataError)=='function'&&trataError(e);
}
}
if (mw.config.get('wgIsMainPage')) {
importScript('MediaWiki:Slider.js');
}
function inicializarAjaxRC() {
if (mw.config.get('wgNamespaceNumber') == -1) {
switch (mw.config.get('wgCanonicalSpecialPageName')) {
case 'Recentchanges':
case 'WikiActivity':
case 'Newpages':
case 'Watchlist':
window.AjaxRCRefreshText = 'Actualizar automáticamente';
window.AjaxRCRefreshHoverText = 'With the box checked, this page will automatically update itself every 60 seconds';
window.ajaxRefresh = 60000;
window.ajaxPages = [ mw.config.get('wgPageName') ];
importScriptPage('AjaxRC/code.js', 'dev');
break;
}
}
}
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(inicializarAjaxRC);
function mejorarEspecialNuevasImagenes() {
$('.wikia-gallery-item').each(function() {
var $item = $(this), $img = $item.find('.thumbimage'), title = $img.attr('alt'), inm = $img.data('image-name'), capt = $item.find('.lightbox-caption'), $a;
if (title) {
// alt no incluye la extensión
title += inm.substr(inm.lastIndexOf('.'));
// Corrección de valor en image-key, vienen cosas como data-image-key="Logo_serie_XY_%26amp%3B_Z.png" que confunden a thickbox
$img.data('image-key', encodeURIComponent(title.replace(/ /g, '_')));
$a = $('<a>').text(title).attr( {title: title, href: $item.find('.image').attr('href')} );
capt.prepend('<br>');
capt.prepend($a);
}
});
}
if (mw.config.get('wgCanonicalSpecialPageName') === 'Newimages' || mw.config.get('wgCanonicalSpecialPageName') === 'Images') {
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(mejorarEspecialNuevasImagenes);
}
// Page tracker
try {
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
if (!window._gaq || typeof window._gaq.length == 'undefined') return;
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
});
} catch(e) {
typeof(window.trataError)=='function'&&trataError(e);
}
// End Page tracker
//</pre>
/* ############################################# */
/* ##          CUSTOM EDIT BUTTONS            ## */
/* ############################################# */
if ( mw.toolbar ) {
    mw.toolbar.addButton( {
            imageFile: 'http://images.wikia.com/493titanollante/images/9/90/Wikia_Button_-_Reference.png',
            speedTip: 'Reference',
            tagOpen: '<ref name="">[http://',
            tagClose: ']</ref>',
            sampleText: ''
    } );
}
if ( mw.toolbar ) {
    mw.toolbar.addButton( {
            imageFile: 'http://vignette1.wikia.nocookie.net/493titanollante/images/d/d5/Edit_Button_-_Cite_Book.png',
            speedTip: 'Book Citation',
            tagOpen: '<ref name="">{{cite book|title= |author= |date= |publisher= |page=!!OR!!|pages= ',
            tagClose: '|isbn=}}</ref>',
            sampleText: '...not all of these parameters are needed...see Template:Cite_book for documentation...delete this...'
    } );
}
//above guaranteed to work
if ( mw.toolbar ) {
    mw.toolbar.addButton( {
            imageFile: 'http://images.wikia.com/493titanollante/images/0/05/Wikia_Button_-_Kaiju_Infobox.png',
            speedTip: 'Kaiju Infobox',
            tagOpen: '{{Kaiju Infobox\r|type1            =???\r|type2            =???\r|header          ={{Toho Kaiju}} \r|copyrighticon    =\r|image            =\r|caption          =\r|name            =\r|subtitle =\r|species          =\r|nicknames        =\r|height          =?? meters\r|length          =?? meters\r|weight          =?? tons\r|forms            =\r|allies          =\r|enemies          =\r|relationships    =\r|controlled      =\r|created          =\r|portrayed        =\r|debut  =\r|last =\r|suits            =\r|roar            =[[File:.ogg|180px|center|noicon]]{{More Roars}}\r}}',
            tagClose: '',
            sampleText: ''
    } );
}
if ( mw.toolbar ) {
    mw.toolbar.addButton( {
            imageFile: 'http://images3.wikia.nocookie.net/__cb20140330215758/493titanollante/images/8/88/Wikia_Button_-_Character_Infobox.png',
            speedTip: 'Character Infobox',
            tagOpen: '{{Character Infobox\r|type1          =\r|type2          =\r|header          ={{Toho Character}}\r|image          =\r|caption        =\r|species        =\r|nationality    =\r|relationships  =\r|occupation      =\r|firstappearance =\r|played          =\r}}',
            tagClose: '',
            sampleText: ''
    } );
}
if ( mw.toolbar ) {
    mw.toolbar.addButton( {
            imageFile: 'http://images3.wikia.nocookie.net/493titanollante/images/9/98/Wikia_Button_-_Film_Infobox.png',
            speedTip: 'Film Infobox',
            tagOpen: '{{Infopelicula\r|type1      =\r|type2      =\r|image      =\r|caption    =The Japanese poster for \r|name  =\r|director    =[[\r|producer    =[[\r|writer      =[[\r|composer    =[[\r|distributor =[[Toho Company Ltd.]]{{sup|[[Japan|JP]]}}<br>[[{{sup|[[United States|US]]}}\r|rating      =<br><br>\r|budget      =¥\r|gross      =¥\r|runtime    =?? minutes{{sup|[[Japan|JP]]}}<br />{{Small|(? hour, ?? minutes)}}<br />?? minutes{{sup|[[United States|US]]}}<br />{{Small|(? hour, ?? minutes)}}\r|designs    =[[\r}}',
            tagClose: '',
            sampleText: ''
    } );
}
if ( mw.toolbar ) {
    mw.toolbar.addButton( {
            imageFile: 'http://images4.wikia.nocookie.net/__cb20140318050025/493titanollante/images/3/35/Wikia_Button_-_Game_Infobox.png',
            speedTip: 'Game Infobox',
            tagOpen: '{{Infobox Game\r|type1      =\r|type2      =\r|header      =\r|image      =\r|caption    =\r|name        =\r|publisher  =\r|developer  =\r|platforms  =\r|languages  =\r|genre      =\r}}',
            tagClose: '',
            sampleText: ''
    } );
}
if ( mw.toolbar ) {
    mw.toolbar.addButton( {
            imageFile: 'http://images2.wikia.nocookie.net/__cb20140219034760/493titanollante/images/8/83/Wikia_Button_-_Tab_and_Nav.png',
            speedTip: 'Tab and Navigation (Movie)',
            tagOpen: '{{Mtab}}\r{{Nav\r|type1      =\r|type2      =\r|type        =[[:Category:|Category:]]\r|name        =\r|prev        =\r|prevname    =\r|next        =\r|nextname    =\r}}',
            tagClose: '',
            sampleText: ''
    } );
}
if ( mw.toolbar ) {
    mw.toolbar.addButton( {
            imageFile: 'http://images3.wikia.nocookie.net/__cb20140219034760/493titanollante/images/1/1e/Wikia_Button_-_Staff_and_Cast.png',
            speedTip: 'Staff and Cast Templates',
            tagOpen: '==Staff==\r{{Staffs\r|Directed by=[[\r|Written by=\r|Produced by=\r|Executive Producing by=\r|Music by=\r|Cinematography by=\r|Edited by=\r|Production Design by=\r|Assistant Directing by=\r|Special Effects by=\r}}\r==Cast==\r{{Cast\r||\r||\r||\r||\r||\r||\r||\r||\r||\r||\r||\r}}',
            tagClose: '',
            sampleText: ''
    } );
}
if ( mw.toolbar ) {
    mw.toolbar.addButton( {
            imageFile: 'http://images.wikia.com/493titanollante/images/c/cd/Wikia_Button_-_DVD.png',
            speedTip: 'DVD Info',
            tagOpen: '<b>COMPANY</b> (YEAR)<ref name="">[http:// Amazon.com: ]</ref>\\r*Region: \r*Audio: \r*Special Features: \r*Notes:  ',
            tagClose: '',
            sampleText: ''
    } );
}
if ( mw.toolbar ) {
    mw.toolbar.addButton( {
            imageFile: 'http://www.wikizilla.org/wiki/images/9/90/Edit_Button_-_YouTube.png',
            speedTip: 'YouTube Embed',
            tagOpen: '<youtube width="300" height="169">',
            tagClose: '</youtube>',
            sampleText: '...Put YT video ID here; remove "width="300" height="169"" to make video the default size ~ 300x169 is specifically for infoboxes...'
    } );
}
//if ( mw.toolbar ) {
//    mw.toolbar.addButton( {
//            imageFile: '',
//            speedTip: '',
//            tagOpen: '',
//            tagClose: '',
//            sampleText: ''
//    } );
//}
/******************************************************************************************************************************/
/******************************************************************************************************************************/


Line 622: Line 15:
  * @stats [[File:Krinkle_InsertWikiEditorButton.js]]
  * @stats [[File:Krinkle_InsertWikiEditorButton.js]]
  ******************************************************************************************************************************/
  ******************************************************************************************************************************/
$.ajax({
mw.loader.using('ext.wikiEditor', function() {
url: 'https://meta.wikimedia.org/w/index.php?title=User:Krinkle/Scripts/InsertWikiEditorButton.js&action=raw&ctype=text/javascript',
$.ajax({
dataType: 'script',
url: 'https://meta.wikimedia.org/w/index.php?title=User:Krinkle/Scripts/InsertWikiEditorButton.js&action=raw&ctype=text/javascript',
cache: true
dataType: 'script',
}).done(function () {
cache: true
 
}).done(function () {
// REFERENCE with ID
krInsertWikiEditorButton({
// REFERENCE with ID
id: "mw-customeditbutton-refidbutton",
krInsertWikiEditorButton({
icon: "//vignette3.wikia.nocookie.net/wikizilla-files/images/9/97/Editor_Button_-_Reference.png",
id: "mw-customeditbutton-refidbutton",
label: 'Reference with ID',
icon: "/w/images/9/97/Editor_Button_-_Reference.png",
insertBefore: '<ref name="">[http://',
label: 'Reference with ID',
insertAfter: ']</ref>',
insertBefore: '<ref name="">[http://',
sampleText: ''
insertAfter: ']</ref>',
sampleText: ''
});
// BOOK CITATION
krInsertWikiEditorButton({
id: "mw-customeditbutton-citebookbutton",
icon: "/w/images/7/73/Editor_Button_-_Reference_Book.png",
label: 'Cite book',
insertBefore: '<ref name="">{{cite book|title= |edition=!!OR!!|volume= |last= |first= |date= |publisher= |page=!!OR!!|pages= ',
insertAfter: '|isbn=}}</ref>',
sampleText: '...not all parameters required.--see Template:Cite_book for documentation...'
});
// WEB CITATION
krInsertWikiEditorButton({
id: "mw-customeditbutton-citewebbutton",
icon: "/w/images/3/38/Editor_Button_-_Reference_Website.png",
label: 'Cite web',
insertBefore: '<ref name="">{{cite web|url=|title=|first=|last=',
insertAfter: '|date=|work=|accessdate=|archiveurl=|archivedate=}}</ref>',
sampleText: '...use |author= when first and last name are N/A'
});
// CORRECT FORMAT GALLERY
krInsertWikiEditorButton({
id: "mw-customeditbutton-gallerybutton",
icon: "/w/images/f/f6/Editor_Button_-_Correct_Gallery.png",
label: 'Gallery',
insertBefore: '<gallery widths="120" position="center" captionalign="center" spacing="small">\r',
insertAfter: '\r</gallery>',
sampleText: 'Test Image.png'
});
// YOUTUBE EMBED
krInsertWikiEditorButton({
id: "mw-customeditbutton-youtubebutton",
icon: "/w/images/d/de/Editor_Button_-_YouTube.png",
label: 'YouTube embed',
insertBefore: '<youtube width="300" height="169">',
insertAfter: '</youtube>',
sampleText: '...Put YT video ID here; remove _width="300" height="169"_ to make default size ~ 300x169 is specifically for infoboxes and video galleries...'
});
// DAILYMOTION EMBED
krInsertWikiEditorButton({
id: "mw-customeditbutton-dailymotionbutton",
icon: "/w/images/8/8c/Editor_Button_-_Dailymotion.png",
label: 'Dailymotion embed',
insertBefore: '<dailymotion dimensions="300x149">',
insertAfter: '</dailymotion>',
sampleText: '...Put Dailymotion video ID here; remove _dimensions="300x149"_ to make default size ~ 300x149 is specifically for infoboxes and video galleries...'
});
// NICONICO EMBED
krInsertWikiEditorButton({
id: "mw-customeditbutton-niconicobutton",
icon: "/w/images/2/24/Editor_Button_-_NicoVideo.png",
label: 'NicoVideo embed',
insertBefore: '<nicovideo width="299" height="165">',
insertAfter: '</nicovideo>',
sampleText: '...Put Nico Nico video ID here; remove _width="299" height="165"_ to make default size ~ 299x165 is specifically for infoboxes and video galleries...'
});
// TABBER
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxtabberbutton",
icon: "/w/images/0/08/Editor_Button_-_Tabber.png",
label: 'Tabber',
insertBefore: '<tabs style="color:black; padding: 0px; margin: 0px;">\r<tab name="NAMEHERE">[[File:|330px| in ]]</tab>\r',
insertAfter: '\r<tab name="NAMEHERE2">[[File:|330px| in ]]</tab>\r</tabs>',
sampleText: '<!---- add multiple tabs by copy pasting and changing the values ---- to replace the infobox image with a tabber, change |image = with |altimage = ---->'
});
// DVD INFO
krInsertWikiEditorButton({
id: "mw-customeditbutton-dvdbutton",
icon: "/w/images/4/4f/Editor_Button_-_DVD_Info.png",
label: 'Insert DVD information',
insertBefore: '\'\'\'COMPANY\'\'\' VHS[or]LaserDisc[or]Blu-ray[or]DVD (YEAR) [collection]<ref name="">[http:// Amazon.com: ]</ref>\r*\'\'\'Region:\'\'\' \r*\'\'\'Discs:\'\'\' \r*\'\'\'SRP:\'\'\' $\r*\'\'\'Audio:\'\'\' \r*\'\'\'Subtitles:\'\'\' \r*\'\'\'Special features:\'\'\' \r*\'\'\'Notes:\'\'\' ',
insertAfter: '',
sampleText: ''
});
// STAFF and CAST Information
krInsertWikiEditorButton({
id: "mw-customeditbutton-staffcastbutton",
icon: "/w/images/e/eb/Editor_Button_-_Staff_and_Cast.png",
label: 'Insert Staff and Cast information',
insertBefore: '==Staff==\r{{Staffs\r',
insertAfter: '|Directed by=[[\r|Written by=\r|Based on a story by=\r|Executive producer=\r|Co-executive producer=\r|Produced by=\r|Assistant producer=\r|Music by=\r|Stock music by=\r|Cinematography by=\r|Edited by=\r|Production design by=\r|1st assistant director=\r|Director of special effects=\r|1st assistant director of special effects=\r|Visual effects supervisor=\r}}\r==Cast==\r{{Cast\r||\r||\r||\r||\r||\r||\r||\r||\r||\r||\r||\r}}',
sampleText: 'Vertical bars can replace equals signs for custom staff positions, but all subsequent equals signs must also be replaced to stay organized properly\r'
});
// FILM Tab and Nav
krInsertWikiEditorButton({
id: "mw-customeditbutton-filmtabnavbutton",
icon: "/w/images/9/95/Editor_Button_-_Nav.png",
label: 'Tab and navigation (film)',
insertBefore: '{{Tab}}\r{{Nav\r|type1      =\r|type2      =\r|type        =[[:Category:|Category:]]\r|name        =\r|prev        =\r|prevname    =\r|next        =\r|nextname    =\r}}',
insertAfter: '',
sampleText: ''
});
// INFOBOX KAIJU
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxkaijubutton",
icon: "/w/images/b/b8/Editor_Button_-_Infobox_Kaiju.png",
label: 'Kaiju infobox',
insertBefore: '{{Kaiju Infobox\r|type1            =???\r|type2            =???\r|copyrighticon    =\r|image            =\r|caption          =\r|name            =\r|nicknames        =\r|subtitle        =\r|species          =\r|height          =?? meters\r|length          =?? meters\r|wingspan        =?? meters\r|weight          =?? tons\r|stat1            =?? meters|1=\r|stat2            =?? meters|2=\r|stat3            =?? meters|3=\r|forms            =\r|allies          =\r|enemies          =\r|originplace      =\r|relationships    =\r|controlled      =\r|conceived        =\r|written          =\r|designed        =\r|modeled          =\r|portrayed        =\r|debut            =\r|last            =\r|suits            =\r|roar            =[[File:.ogg|180px|center|noicon]]{{More Roars}}\r}}',
insertAfter: '',
sampleText: ''
});
// INFOBOX FILM
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxfilmbutton",
icon: "/w/images/6/68/Editor_Button_-_Infobox_Film.png",
label: 'Film infobox',
insertBefore: '{{Infobox Film\r|type1        =\r|type2        =\r|image        =\r|caption      =The Japanese poster for \r|name        =\r|us-title    =\r|jp-title    =\r|director    =[[\r|producer    =[[\r|writer      =[[\r|composer    =[[\r|produced    =[[\r|distributor  =[[Toho]]{{sup|[[Japan|JP]]}}<br>[[]]{{sup|[[United States|US]]}}\r|rating      =\r|budget      =¥\r|gross        =¥\r|rentals      =¥\r|runtime      =?? minutes{{sup|[[Japan|JP]]}}<br>{{Small|(? hour, ?? minutes)}}<br />?? minutes{{sup|[[United States|US]]}}<br>{{Small|(? hour, ?? minutes)}}\r}}',
insertAfter: '',
sampleText: ''
});
// INFOBOX VIDEO GAME
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxvideogamebutton",
icon: "/w/images/f/fb/Editor_Button_-_Infobox_Game.png",
label: 'Video game infobox',
insertBefore: '{{Infobox Game\r|type1        =\r|type2        =\r|header      =\r|image        =\r|caption      =\r|name        =\r|us-title    =\r|jp-title    =\r|publisher    =\r|developer    =\r|platforms    =\r|languages    =\r|genre        =\r}}',
insertAfter: '',
sampleText: ''
});
// INFOBOX BOOK
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxbookbutton",
icon: "/w/images/7/70/Editor_Button_-_Infobox_Book.png",
label: 'Book infobox',
insertBefore: '{{Infobox Book\r|type1        =\r|type2        =\r|image        =\r|name        =\r|author      =\r|story        =\r|editor      =\r|writer      =\r|art          =\r|illustrator  =\r|pencils      =\r|inks        =\r|colors      =\r|cover        =\r|design      =\r|production  =\r|edits        =\r|letters      =\r|cc          =\r|publisher    =\r|publishdate  =\r|pages        =\r|size        =\r|genre        =\r|isbn        =[[Special:BookSources/|ISBN-10: ]]<br>[[Special:BookSources/|ISBN-13: ]]\r',
insertAfter: '\r}}',
sampleText: '!!!OR!!!\r|asin        ='
});
// INFOBOX SOUNDTRACK
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxsoundtrackbutton",
icon: "/w/images/4/44/Editor_Button_-_Infobox_Soundtrack.png",
label: 'Soundtrack infobox',
insertBefore: '{{Infobox Soundtrack\r|type1              =\r|type2              =\r|name              =\r|image              =\r|composer          =\r|year              =\r|tracks            =\r|sample            =[[File:.ogg|180px|noicon]]\r}}',
insertAfter: '',
sampleText: ''
});
// INFOBOX SONG
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxsongbutton",
icon: "/w/images/1/17/Editor_Button_-_Infobox_Song.png",
label: 'Song infobox',
insertBefore: '{{Infobox Song\r|type1        =\r|type2        =\r|name        =\r|image        =',
insertAfter: '|composer    =\r|arranged    =\r|lyrics      =\r|performer    =\r|film        =\r|kaiju        =\r|sample      =[[File:.ogg|180px|noicon]]\r}}',
sampleText: '!!!OR!!!\r|video        =<youtube width="300" height="169">...Put YT video ID here; remove _width="300" height="169"_ to make default size ~ 300x169 is specifically for infoboxes and video galleries...</youtube>\r'
});
// INFOBOX TV SHOW
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxtvshowbutton",
icon: "/w/images/2/22/Editor_Button_-_Infobox_TV.png",
label: 'TV show infobox',
insertBefore: '{{Infobox Series\r|type1          =\r|type2          =\r|name          =\r|image          =\r|aired          =\r|director      =\r|producer      =\r|writer        =\r|composer      =\r|funded        =\r|produced      =',
insertAfter: '\r|channel        =\r|rating        =\r|genre          =\r|episodes      =\r}}',
sampleText: '\r|distributor    =<!-- Only when "channel" does not apply -->'
});
// INFOBOX EPISODE
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxepisodebutton",
icon: "/w/images/f/f1/Editor_Button_-_Infobox_Episode.png",
label: 'Episode infobox',
insertBefore: '{{Nav\r|type2          =\r|type1          =\r|type            ={{link|black|}} {{link|black|:Category: episodes|episodes}}\r|prev            =\r|prevname        =""\r|name            =""\r|next            =\r|nextname        =""\r}}\r{{Infobox Episode|ratings=yes\r|type1          =\r|type2          =\r|name            =""<!--\r|dt              =""-->\r|image          =\r|caption        =The title card of ""\r|series          =\r|episodeno      =\r|director        =\r|writer          =\r|specialfx      =\r|viewers        =\r|aired          =\r}}',
insertAfter: '',
sampleText: ''
});
// INFOBOX VEHICLE
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxvehiclebutton",
icon: "/w/images/d/d4/Editor_Button_-_Infobox_Weapon.png",
label: 'Vehicle infobox',
insertBefore: '{{Infobox Vehicle\r|type1          =\r|type2          =\r|name            =\r|image          =\r|nicknames      =\r|subtitle        =\r|height          =\r|length          =\r|wingspan        =\r|stat1          =|1=Width\r|stat2          =|2=Weight\r|info-misc      =\r|pilot          =\r|attach          =\r|launched        =\r|firstappearance =\r',
insertAfter: '\r}}',
sampleText: '<!--- use |debut = and |last = if more than 1 appearance --->'
});
// INFOBOX PERSON
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxpersonbutton",
icon: "/w/images/9/93/Editor_Button_-_Infobox_Real_Person.png",
label: 'Real person infobox',
insertBefore: '{{Infobox Person\r|type1          =\r|type2          =\r|name          =\r|image          =\r|caption        =\r|occupation    =\r|birthday      =\r|birthplace    =\r|death          =\r|deathplace    =\r|first          =\r|notable        =\r|imdb          =\r|wikipedia      =\r}}',
insertAfter: '',
sampleText: ''
});
// INFOBOX CHARACTER
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxcharacterbutton",
icon: "/w/images/f/f6/Editor_Button_-_Infobox_Character.png",
label: 'Character infobox',
insertBefore: '{{Infobox Character\r|type1            =\r|type2            =\r|image            =\r|caption          =\r|name              =\r|species          =\r|aliases          =\r|nationality      =\r|relationships    =\r|occupation        =\r|affiliation      =\r|firstappearance  =\r',
insertAfter: '\r|played            =\r}}',
sampleText: '<!--- use |debut = and |last = if the character has more than 1 appearance --->'
});
});
});
// BOOK CITATION
} );
krInsertWikiEditorButton({
id: "mw-customeditbutton-citebookbutton",
icon: "//vignette4.wikia.nocookie.net/wikizilla-files/images/7/73/Editor_Button_-_Reference_Book.png",
label: 'Cite book',
insertBefore: '<ref name="">{{cite book|title= |author= |date= |publisher= |page=!!OR!!|pages= ',
insertAfter: '|isbn=}}</ref>',
sampleText: '...not all parameters required.--see Template:Cite_book for documentation...'
});
 
// CORRECT FORMAT GALLERY
krInsertWikiEditorButton({
id: "mw-customeditbutton-gallerybutton",
icon: "//vignette4.wikia.nocookie.net/wikizilla-files/images/f/f6/Editor_Button_-_Correct_Gallery.png",
label: 'Gallery',
insertBefore: '<gallery widths="120" position="center" captionalign="center" spacing="small">\r',
insertAfter: '\r</gallery>',
sampleText: 'Test Image.png'
});
 
// YOUTUBE EMBED
krInsertWikiEditorButton({
id: "mw-customeditbutton-youtubebutton",
icon: "//vignette3.wikia.nocookie.net/wikizilla-files/images/d/de/Editor_Button_-_YouTube.png",
label: 'YouTube embed',
insertBefore: '<youtube width="300" height="169">',
insertAfter: '</youtube>',
sampleText: '...Put YT video ID here; remove _width="300" height="169"_ to make default size ~ 300x169 is specifically for infoboxes...'
});
 
// TABBER
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxtabberbutton",
icon: "//vignette1.wikia.nocookie.net/wikizilla-files/images/0/08/Editor_Button_-_Tabber.png",
label: 'Tabber',
insertBefore: '<tabs style="color:black; padding: 0px; margin: 0px;">\r<tab name="NAMEHERE">[[File:|300px| in ]]</tab>\r',
insertAfter: '\r<tab name="NAMEHERE2">[[File:|300px| in ]]</tab>\r</tabs>',
sampleText: '<!---- add multiple tabs by copy pasting and changing the values ---- to replace the infobox image with a tabber, change |image = with |altimage = ---->'
});
 
// DVD INFO
krInsertWikiEditorButton({
id: "mw-customeditbutton-dvdbutton",
icon: "//vignette2.wikia.nocookie.net/wikizilla-files/images/4/4f/Editor_Button_-_DVD_Info.png",
label: 'Insert DVD information',
insertBefore: '<b>COMPANY</b> (YEAR)<ref name="">[http:// Amazon.com: ]</ref>\\r*Region: \r*Audio: \r*Special Features: \r*Notes:  ',
insertAfter: '',
sampleText: ''
});
 
// STAFF and CAST Information
krInsertWikiEditorButton({
id: "mw-customeditbutton-staffcastbutton",
icon: "//vignette2.wikia.nocookie.net/wikizilla-files/images/e/eb/Editor_Button_-_Staff_and_Cast.png",
label: 'Insert Staff and Cast information',
insertBefore: '==Staff==\r{{Staffs\r|Directed by=[[\r|Written by=\r|Produced by=\r|Executive Producing by=\r|Music by=\r|Cinematography by=\r|Edited by=\r|Production Design by=\r|Assistant Directing by=\r|Special Effects by=\r}}\r==Cast==\r{{Cast\r||\r||\r||\r||\r||\r||\r||\r||\r||\r||\r||\r}}',
insertAfter: '',
sampleText: ''
});
 
// FILM Tab and Nav
krInsertWikiEditorButton({
id: "mw-customeditbutton-filmtabnavbutton",
icon: "//vignette1.wikia.nocookie.net/wikizilla-files/images/9/95/Editor_Button_-_Nav.png",
label: 'Tab and navigation (film)',
insertBefore: '{{Mtab}}\r{{Nav\r|type1      =\r|type2      =\r|type        =[[:Category:|Category:]]\r|name        =\r|prev        =\r|prevname    =\r|next        =\r|nextname    =\r}}',
insertAfter: '',
sampleText: ''
});
 
 
// INFOBOX KAIJU
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxkaijubutton",
icon: "//vignette4.wikia.nocookie.net/wikizilla-files/images/b/b8/Editor_Button_-_Infobox_Kaiju.png",
label: 'Kaiju infobox',
insertBefore: '{{Kaiju Infobox\r|type1            =???\r|type2            =???\r|header          ={{Toho Kaiju}} \r|copyrighticon    =\r|image            =\r|caption          =\r|name            =\r|subtitle        =\r|species          =\r|nicknames        =\r|height          =?? meters\r|length          =?? meters\r|weight          =?? tons\r|forms            =\r|allies          =\r|enemies          =\r|relationships    =\r|controlled      =\r|created          =\r|portrayed        =\r|debut            =\r|last            =\r|suits            =\r|roar            =[[File:.ogg|180px|center|noicon]]{{More Roars}}\r}}',
insertAfter: '',
sampleText: ''
});
 
// INFOBOX FILM
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxfilmbutton",
icon: "//vignette3.wikia.nocookie.net/wikizilla-files/images/6/68/Editor_Button_-_Infobox_Film.png",
label: 'Film infobox',
insertBefore: '{{Infopelicula\r|type1      =\r|type2      =\r|image      =\r|caption    =The Japanese poster for \r|name        =\r|us-title    =\r|jp-title    =\r|director    =[[\r|producer    =[[\r|writer      =[[\r|composer    =[[\r|distributor =[[Toho]]{{sup|[[Japan|JP]]}}<br>[[]]{{sup|[[United States|US]]}}\r|rating      =\r|budget      =¥\r|gross      =¥\r|runtime    =?? minutes{{sup|[[Japan|JP]]}}<br>{{Small|(? hour, ?? minutes)}}<br />?? minutes{{sup|[[United States|US]]}}<br>{{Small|(? hour, ?? minutes)}}\r|designs    =[[\r}}',
insertAfter: '',
sampleText: ''
});
 
// INFOBOX CHARACTER
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxcharacterbutton",
icon: "//vignette1.wikia.nocookie.net/wikizilla-files/images/f/f6/Editor_Button_-_Infobox_Character.png",
label: 'Character infobox',
insertBefore: '{{Infobox Character\r|type1          =\r|type2          =\r|header          ={{Character}}\r|image          =\r|caption        =\r|species        =\r|nationality    =\r|relationships  =\r|occupation      =\r|affiliation      =\r|firstappearance =\r',
insertAfter: '\r|played          =\r}}',
sampleText: '<!--- use |debut = and |last = if the character has more than 1 appearance --->'
});
 
// INFOBOX TV SHOW
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxtvshowbutton",
icon: "//vignette1.wikia.nocookie.net/wikizilla-files/images/2/22/Editor_Button_-_Infobox_TV.png",
label: 'TV show infobox',
insertBefore: '{{Infobox Series\r|header        ={{Series}}\r|type1        =\r|type2        =\r|name          =\r|image        =\r|creator      =\r|producer      =\r|distributor  =\r|genre        =\r|aired        =\r|channel      =\r|episodes      =\r}}',
insertAfter: '',
sampleText: ''
});
 
// INFOBOX BOOK
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxbookbutton",
icon: "//vignette3.wikia.nocookie.net/wikizilla-files/images/7/70/Editor_Button_-_Infobox_Book.png",
label: 'Book infobox',
insertBefore: '{{Infobox Book\r|type1        =\r|type2        =\r|image        =\r|name        =\r|author      =\r|publisher    =\r|publishdate  =\r|genre        =\r|isbn        =[[Special:BookSources/|ISBN-10: ]]<br>[[Special:BookSources/|ISBN-13: ]]\r}}',
insertAfter: '',
sampleText: ''
});
 
// INFOBOX VIDEO GAME
krInsertWikiEditorButton({
id: "mw-customeditbutton-infoboxvideogamebutton",
icon: "//vignette1.wikia.nocookie.net/wikizilla-files/images/f/fb/Editor_Button_-_Infobox_Game.png",
label: 'Video game infobox',
insertBefore: '{{Infobox Game\r|type1      =\r|type2      =\r|header      =\r|image      =\r|caption    =\r|name        =\r|us-title    =\r|jp-title    =\r|publisher  =\r|developer  =\r|platforms  =\r|languages  =\r|genre      =\r}}',
insertAfter: '',
sampleText: ''
});
 
});
 
/**************************************************/
/**************************************************/


Line 776: Line 250:
/************************************************/
/************************************************/


/**
/** A fix for tables **/
* Dynamic Navigation Bars. See [[Wikipedia:NavFrame]]
*
* Based on script from en.wikipedia.org, 2008-09-15.
*
* @source www.mediawiki.org/wiki/MediaWiki:Gadget-NavFrame.js
* @maintainer Helder.wiki, 2012–2013
* @maintainer Krinkle, 2013
*/
( function () {


// Set up the words in your language
$(function() {
var collapseCaption = 'hide';
  // Exclusion approach. Uncomment the line below to apply horizontal scrolling to all tables except those with the class `skip-responsive`
var expandCaption = 'show';
  $('body:not(.ns--1) .mw-body-content table:not(.skip-responsive').wrap('<div class="responsive-table"></div>');
 
});
var navigationBarHide = '[' + collapseCaption + ']';
var navigationBarShow = '[' + expandCaption + ']';
 
/**
* Shows and hides content and picture (if available) of navigation bars.
*
* @param {number} indexNavigationBar The index of navigation bar to be toggled
* @param {jQuery.Event} e Event object
*/
function toggleNavigationBar( indexNavigationBar, e ) {
var navChild,
navToggle = document.getElementById( 'NavToggle' + indexNavigationBar ),
navFrame = document.getElementById( 'NavFrame' + indexNavigationBar );
 
// Prevent browser from jumping to href "#"
e.preventDefault();
 
if ( !navFrame || !navToggle ) {
return false;
}
 
// If shown now
if ( navToggle.firstChild.data == navigationBarHide ) {
for ( navChild = navFrame.firstChild; navChild != null; navChild = navChild.nextSibling ) {
if ( hasClass( navChild, 'NavPic' ) ) {
navChild.style.display = 'none';
}
if ( hasClass( navChild, 'NavContent' ) ) {
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( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {
navChild.style.display = 'block';
}
}
navToggle.firstChild.data = navigationBarHide;
}
}
 
/**
* Adds show/hide-button to navigation bars.
*
* @param {jQuery} $content
*/
function createNavigationBarToggleButton( $content ) {
var i, j, navFrame, navToggle, navToggleText, navChild,
indexNavigationBar = 0,
navFrames = $content.find( 'div.NavFrame' ).toArray();
 
// Iterate over all (new) nav frames
for ( i = 0; i < navFrames.length; i++ ) {
navFrame = navFrames[i];
// If found a navigation bar
indexNavigationBar++;
navToggle = document.createElement( 'a' );
navToggle.className = 'NavToggle';
navToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );
navToggle.setAttribute( 'href', '#' );
$( navToggle ).on( 'click', $.proxy( toggleNavigationBar, null, indexNavigationBar ) );
 
navToggleText = document.createTextNode( navigationBarHide );
for ( navChild = navFrame.firstChild; navChild != null; navChild = navChild.nextSibling ) {
if ( $( navChild ).hasClass( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {
if ( navChild.style.display == 'none' ) {
navToggleText = document.createTextNode( navigationBarShow );
break;
}
}
}
 
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' ) ) {
navFrame.childNodes[j].appendChild( navToggle );
}
}
navFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );
}
}
 
mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton );
 
}());
 
 
 
/////// Customizing Enhanced Toolbar

Latest revision as of 02:30, 8 April 2024

/******************************************************************************************************************************/

/******************************************************************************************************************************/

/******************************************************************************************************************************/

/*********************************************************************** W I K I  E D I T O R B U T T O N S *******************/

/************************************************ WikiEditor Buttons/Customization ********************************************/

/******************************************************************************************************************************/

/******************************************************************************************************************************
 * Extra buttons in toolbar
 * @stats [[File:Krinkle_InsertWikiEditorButton.js]]
 ******************************************************************************************************************************/
mw.loader.using('ext.wikiEditor', function() {
	$.ajax({
		url: 'https://meta.wikimedia.org/w/index.php?title=User:Krinkle/Scripts/InsertWikiEditorButton.js&action=raw&ctype=text/javascript',
		dataType: 'script',
		cache: true
	}).done(function () {
	
		// REFERENCE with ID
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-refidbutton",
			icon: "/w/images/9/97/Editor_Button_-_Reference.png",
			label: 'Reference with ID',
			insertBefore: '<ref name="">[http://',
			insertAfter: ']</ref>',
			sampleText: ''
		});
		// BOOK CITATION
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-citebookbutton",
			icon: "/w/images/7/73/Editor_Button_-_Reference_Book.png",
			label: 'Cite book',
			insertBefore: '<ref name="">{{cite book|title= |edition=!!OR!!|volume= |last= |first= |date= |publisher= |page=!!OR!!|pages= ',
			insertAfter: '|isbn=}}</ref>',
			sampleText: '...not all parameters required.--see Template:Cite_book for documentation...'
		});
		
		// WEB CITATION
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-citewebbutton",
			icon: "/w/images/3/38/Editor_Button_-_Reference_Website.png",
			label: 'Cite web',
			insertBefore: '<ref name="">{{cite web|url=|title=|first=|last=',
			insertAfter: '|date=|work=|accessdate=|archiveurl=|archivedate=}}</ref>',
			sampleText: '...use |author= when first and last name are N/A'
		});
	
		// CORRECT FORMAT GALLERY
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-gallerybutton",
			icon: "/w/images/f/f6/Editor_Button_-_Correct_Gallery.png",
			label: 'Gallery',
			insertBefore: '<gallery widths="120" position="center" captionalign="center" spacing="small">\r',
			insertAfter: '\r</gallery>',
			sampleText: 'Test Image.png'
		});
	
		// YOUTUBE EMBED
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-youtubebutton",
			icon: "/w/images/d/de/Editor_Button_-_YouTube.png",
			label: 'YouTube embed',
			insertBefore: '<youtube width="300" height="169">',
			insertAfter: '</youtube>',
			sampleText: '...Put YT video ID here; remove _width="300" height="169"_ to make default size ~ 300x169 is specifically for infoboxes and video galleries...'
		});
		
		// DAILYMOTION EMBED
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-dailymotionbutton",
			icon: "/w/images/8/8c/Editor_Button_-_Dailymotion.png",
			label: 'Dailymotion embed',
			insertBefore: '<dailymotion dimensions="300x149">',
			insertAfter: '</dailymotion>',
			sampleText: '...Put Dailymotion video ID here; remove _dimensions="300x149"_ to make default size ~ 300x149 is specifically for infoboxes and video galleries...'
		});
		
		// NICONICO EMBED
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-niconicobutton",
			icon: "/w/images/2/24/Editor_Button_-_NicoVideo.png",
			label: 'NicoVideo embed',
			insertBefore: '<nicovideo width="299" height="165">',
			insertAfter: '</nicovideo>',
			sampleText: '...Put Nico Nico video ID here; remove _width="299" height="165"_ to make default size ~ 299x165 is specifically for infoboxes and video galleries...'
		});
	
		// TABBER
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxtabberbutton",
			icon: "/w/images/0/08/Editor_Button_-_Tabber.png",
			label: 'Tabber',
			insertBefore: '<tabs style="color:black; padding: 0px; margin: 0px;">\r<tab name="NAMEHERE">[[File:|330px| in ]]</tab>\r',
			insertAfter: '\r<tab name="NAMEHERE2">[[File:|330px| in ]]</tab>\r</tabs>',
			sampleText: '<!---- add multiple tabs by copy pasting and changing the values ---- to replace the infobox image with a tabber, change |image = with |altimage = ---->'
		});
	
		// DVD INFO
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-dvdbutton",
			icon: "/w/images/4/4f/Editor_Button_-_DVD_Info.png",
			label: 'Insert DVD information',
			insertBefore: '\'\'\'COMPANY\'\'\' VHS[or]LaserDisc[or]Blu-ray[or]DVD (YEAR) [collection]<ref name="">[http:// Amazon.com: ]</ref>\r*\'\'\'Region:\'\'\' \r*\'\'\'Discs:\'\'\' \r*\'\'\'SRP:\'\'\' $\r*\'\'\'Audio:\'\'\' \r*\'\'\'Subtitles:\'\'\' \r*\'\'\'Special features:\'\'\' \r*\'\'\'Notes:\'\'\' ',
			insertAfter: '',
			sampleText: ''
		});
	
		// STAFF and CAST Information
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-staffcastbutton",
			icon: "/w/images/e/eb/Editor_Button_-_Staff_and_Cast.png",
			label: 'Insert Staff and Cast information',
			insertBefore: '==Staff==\r{{Staffs\r',
			insertAfter: '|Directed by=[[\r|Written by=\r|Based on a story by=\r|Executive producer=\r|Co-executive producer=\r|Produced by=\r|Assistant producer=\r|Music by=\r|Stock music by=\r|Cinematography by=\r|Edited by=\r|Production design by=\r|1st assistant director=\r|Director of special effects=\r|1st assistant director of special effects=\r|Visual effects supervisor=\r}}\r==Cast==\r{{Cast\r||\r||\r||\r||\r||\r||\r||\r||\r||\r||\r||\r}}',
			sampleText: 'Vertical bars can replace equals signs for custom staff positions, but all subsequent equals signs must also be replaced to stay organized properly\r'
		});
	
		// FILM Tab and Nav
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-filmtabnavbutton",
			icon: "/w/images/9/95/Editor_Button_-_Nav.png",
			label: 'Tab and navigation (film)',
			insertBefore: '{{Tab}}\r{{Nav\r|type1       =\r|type2       =\r|type        =[[:Category:|Category:]]\r|name        =\r|prev        =\r|prevname    =\r|next        =\r|nextname    =\r}}',
			insertAfter: '',
			sampleText: ''
		});
	
	
		// INFOBOX KAIJU
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxkaijubutton",
			icon: "/w/images/b/b8/Editor_Button_-_Infobox_Kaiju.png",
			label: 'Kaiju infobox',
			insertBefore: '{{Kaiju Infobox\r|type1            =???\r|type2            =???\r|copyrighticon    =\r|image            =\r|caption          =\r|name             =\r|nicknames        =\r|subtitle         =\r|species          =\r|height           =?? meters\r|length           =?? meters\r|wingspan         =?? meters\r|weight           =?? tons\r|stat1            =?? meters|1=\r|stat2            =?? meters|2=\r|stat3            =?? meters|3=\r|forms            =\r|allies           =\r|enemies          =\r|originplace      =\r|relationships    =\r|controlled       =\r|conceived        =\r|written          =\r|designed         =\r|modeled          =\r|portrayed        =\r|debut            =\r|last             =\r|suits            =\r|roar             =[[File:.ogg|180px|center|noicon]]{{More Roars}}\r}}',
			insertAfter: '',
			sampleText: ''
		});
	
		// INFOBOX FILM
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxfilmbutton",
			icon: "/w/images/6/68/Editor_Button_-_Infobox_Film.png",
			label: 'Film infobox',
			insertBefore: '{{Infobox Film\r|type1        =\r|type2        =\r|image        =\r|caption      =The Japanese poster for \r|name         =\r|us-title     =\r|jp-title     =\r|director     =[[\r|producer     =[[\r|writer       =[[\r|composer     =[[\r|produced     =[[\r|distributor  =[[Toho]]{{sup|[[Japan|JP]]}}<br>[[]]{{sup|[[United States|US]]}}\r|rating       =\r|budget       =¥\r|gross        =¥\r|rentals      =¥\r|runtime      =?? minutes{{sup|[[Japan|JP]]}}<br>{{Small|(? hour, ?? minutes)}}<br />?? minutes{{sup|[[United States|US]]}}<br>{{Small|(? hour, ?? minutes)}}\r}}',
			insertAfter: '',
			sampleText: ''
		});
		
		// INFOBOX VIDEO GAME
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxvideogamebutton",
			icon: "/w/images/f/fb/Editor_Button_-_Infobox_Game.png",
			label: 'Video game infobox',
			insertBefore: '{{Infobox Game\r|type1        =\r|type2        =\r|header       =\r|image        =\r|caption      =\r|name         =\r|us-title     =\r|jp-title     =\r|publisher    =\r|developer    =\r|platforms    =\r|languages    =\r|genre        =\r}}',
			insertAfter: '',
			sampleText: ''
		});
		
		// INFOBOX BOOK
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxbookbutton",
			icon: "/w/images/7/70/Editor_Button_-_Infobox_Book.png",
			label: 'Book infobox',
			insertBefore: '{{Infobox Book\r|type1        =\r|type2        =\r|image        =\r|name         =\r|author       =\r|story        =\r|editor       =\r|writer       =\r|art          =\r|illustrator  =\r|pencils      =\r|inks         =\r|colors       =\r|cover        =\r|design       =\r|production   =\r|edits        =\r|letters      =\r|cc           =\r|publisher    =\r|publishdate  =\r|pages        =\r|size         =\r|genre        =\r|isbn         =[[Special:BookSources/|ISBN-10: ]]<br>[[Special:BookSources/|ISBN-13: ]]\r',
			insertAfter: '\r}}',
			sampleText: '!!!OR!!!\r|asin         ='
		});
		
		// INFOBOX SOUNDTRACK
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxsoundtrackbutton",
			icon: "/w/images/4/44/Editor_Button_-_Infobox_Soundtrack.png",
			label: 'Soundtrack infobox',
			insertBefore: '{{Infobox Soundtrack\r|type1              =\r|type2              =\r|name               =\r|image              =\r|composer           =\r|year               =\r|tracks             =\r|sample             =[[File:.ogg|180px|noicon]]\r}}',
			insertAfter: '',
			sampleText: ''
		});
		
		// INFOBOX SONG
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxsongbutton",
			icon: "/w/images/1/17/Editor_Button_-_Infobox_Song.png",
			label: 'Song infobox',
			insertBefore: '{{Infobox Song\r|type1        =\r|type2        =\r|name         =\r|image        =',
			insertAfter: '|composer     =\r|arranged     =\r|lyrics       =\r|performer    =\r|film         =\r|kaiju        =\r|sample       =[[File:.ogg|180px|noicon]]\r}}',
			sampleText: '!!!OR!!!\r|video        =<youtube width="300" height="169">...Put YT video ID here; remove _width="300" height="169"_ to make default size ~ 300x169 is specifically for infoboxes and video galleries...</youtube>\r'
		});
		
		// INFOBOX TV SHOW
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxtvshowbutton",
			icon: "/w/images/2/22/Editor_Button_-_Infobox_TV.png",
			label: 'TV show infobox',
			insertBefore: '{{Infobox Series\r|type1          =\r|type2          =\r|name           =\r|image          =\r|aired          =\r|director       =\r|producer       =\r|writer         =\r|composer       =\r|funded         =\r|produced       =',
			insertAfter: '\r|channel        =\r|rating         =\r|genre          =\r|episodes       =\r}}',
			sampleText: '\r|distributor    =<!-- Only when "channel" does not apply -->'
		});
		
		// INFOBOX EPISODE
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxepisodebutton",
			icon: "/w/images/f/f1/Editor_Button_-_Infobox_Episode.png",
			label: 'Episode infobox',
			insertBefore: '{{Nav\r|type2           =\r|type1           =\r|type            ={{link|black|}} {{link|black|:Category: episodes|episodes}}\r|prev            =\r|prevname        =""\r|name            =""\r|next            =\r|nextname        =""\r}}\r{{Infobox Episode|ratings=yes\r|type1           =\r|type2           =\r|name            =""<!--\r|dt              =""-->\r|image           =\r|caption         =The title card of ""\r|series          =\r|episodeno       =\r|director        =\r|writer          =\r|specialfx       =\r|viewers         =\r|aired           =\r}}',
			insertAfter: '',
			sampleText: ''
		});
		
		// INFOBOX VEHICLE
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxvehiclebutton",
			icon: "/w/images/d/d4/Editor_Button_-_Infobox_Weapon.png",
			label: 'Vehicle infobox',
			insertBefore: '{{Infobox Vehicle\r|type1           =\r|type2           =\r|name            =\r|image           =\r|nicknames       =\r|subtitle        =\r|height          =\r|length          =\r|wingspan        =\r|stat1           =|1=Width\r|stat2           =|2=Weight\r|info-misc       =\r|pilot           =\r|attach          =\r|launched        =\r|firstappearance =\r',
			insertAfter: '\r}}',
			sampleText: '<!--- use |debut = and |last = if more than 1 appearance --->'
		});
	
		// INFOBOX PERSON
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxpersonbutton",
			icon: "/w/images/9/93/Editor_Button_-_Infobox_Real_Person.png",
			label: 'Real person infobox',
			insertBefore: '{{Infobox Person\r|type1          =\r|type2          =\r|name           =\r|image          =\r|caption        =\r|occupation     =\r|birthday       =\r|birthplace     =\r|death          =\r|deathplace     =\r|first          =\r|notable        =\r|imdb           =\r|wikipedia      =\r}}',
			insertAfter: '',
			sampleText: ''
		});
		
		// INFOBOX CHARACTER
		krInsertWikiEditorButton({
			id: "mw-customeditbutton-infoboxcharacterbutton",
			icon: "/w/images/f/f6/Editor_Button_-_Infobox_Character.png",
			label: 'Character infobox',
			insertBefore: '{{Infobox Character\r|type1             =\r|type2             =\r|image             =\r|caption           =\r|name              =\r|species           =\r|aliases           =\r|nationality       =\r|relationships     =\r|occupation        =\r|affiliation       =\r|firstappearance   =\r',
			insertAfter: '\r|played            =\r}}',
			sampleText: '<!--- use |debut = and |last = if the character has more than 1 appearance --->'
		});
	
	});
} );
/**************************************************/

/*************** END WikiEditor ******************/

/************************************************/

/** A fix for tables **/

$(function() {
  // Exclusion approach. Uncomment the line below to apply horizontal scrolling to all tables except those with the class `skip-responsive`
   $('body:not(.ns--1) .mw-body-content table:not(.skip-responsive').wrap('<div class="responsive-table"></div>');	
});