Benutzer:Schnark/js/templateEditor.js/wstm.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
//Dokumentation unter [[Benutzer:Schnark/js/templateEditor/wstm]] <nowiki>
/*global mediaWiki*/
(function ($, mw, libs) {
"use strict";
var version = 2.4, wstmTE, ready;

function waitForTE (f) {
	function f2 (tE) {
		mw.hook('userjs.load-script.templateEditor').remove(f2);
		f(tE);
	}
	mw.hook('userjs.load-script.templateEditor').add(f2);
}

function register (tE) {
	wstmTE = tE('Benutzer:Schnark/js/templateEditor.js/wstm.js', 'wstm', version, {
		onStart: onStart,
		onFinish: onFinish
	});
}

function onStart (script) {
	var config = {
		load: {
			inhibit: true,
			after: function () {
				libs.WikiSyntaxTextMod.api.load(function () {
					ready = true;
				});
			}
		}
	};

	if (script.id.indexOf('Benutzer:Schnark/js/personendaten.js') === 0) {
		config.mod = {plain: [[', † ', '; † ']]}; //kommt in Personenartikeln oft vor
	}

	$.extend(true, libs, {WikiSyntaxTextMod: {config: config}});

	if (libs.WikiSyntaxTextMod.api && libs.WikiSyntaxTextMod.api.load) {
		config.load.after();
	} else {
		//</nowiki>[[Benutzer:PerfektesChaos/js/WikiSyntaxTextMod]]<nowiki>
		mw.loader.load('//en.wikipedia.org/w/index.php?title=' +
			'User:PerfektesChaos/js/WikiSyntaxTextMod/r.js' +
			'&action=raw&ctype=text/javascript&maxage=604800&smaxage=86400');
	}
	return 100;
}

function onFinish () {
	if (ready) {
		var text = wstmTE.getText(),
			neu = libs.WikiSyntaxTextMod.api.textMod(text); //evt. .api.edit ?
		if (neu) {
			wstmTE.setText(neu[0]);
		}
	}
}

waitForTE(register);

})(jQuery, mediaWiki, mediaWiki.libs);
//</nowiki>