MediaWiki:Common.js

From Linkwiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

/**
 * collapses TOC by default
 *
 * @version 31.03.2020
 * @author [[wde:StipenTreublatt]]
 */
$(window).ready(function() { $('.toctogglecheckbox').click(); });

/**
 * adds purge link to page tools
 *
 * Dependencies: mediawiki.util, mediawiki.api
 *
 * @source https://www.mediawiki.org/wiki/Snippets/Purge_action
 * @version 04.04.2020
 */
$.when( mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ] ), $.ready ).then( function () {
	if ( $( '#ca-purge' ).length || mw.config.get( 'wgNamespaceNumber' ) < 0 ) return;
	var node = mw.util.addPortletLink(
		'p-cactions',
		mw.util.getUrl( null, { action: 'purge' } ),
		'Purge',
		'ca-purge',
		'Purge the server cache of this page'
	);
	$( node ).on( 'click', function ( e ) {
		new mw.Api().post( { action: 'purge', titles: mw.config.get( 'wgPageName' ) } ).then( function () {
			location.reload();
		}, function () {
			mw.notify( 'Purge failed', { type: 'error' } );
		} );
		e.preventDefault();
	} );
} );

/**
 * Add a "My sandbox" link to the personal portlet menu.
 *
 * Required modules: mediawiki.util, mediawiki.Title, mediawiki.Uri
 *
 * @source https://www.mediawiki.org/wiki/Snippets/MySandbox
 * @version 12.10.2026, adapted for Wiki Aventurica
 */

$( function () {
	var conf, params, title, url;

	// Customize/Translate this to your needs
	conf = {
		subpageName: 'Sandkasten',
		portletLabel: 'Sandkasten',
		portletTooltip: 'Persönliche Seite zum Experimentieren'
	};
	// Don't alter the code below

	params = {
		action: 'edit',
		redlink: 1
	};

	title = 'Special:MyPage/' + conf.subpageName;

	url = mw.util.getUrl( title, params );

	mw.util.addPortletLink(
		'p-personal',
		url,
		conf.portletLabel,
		'pt-mysandbox',
		conf.portletTooltip,
		null,
		'#pt-preferences'
	);
});