Benutzer:Schnark/js/wochentag.js

Benutzer:Schnark/js/wochentag.js ist heute für viele Menschen ein Thema von Interesse. Seine Relevanz erstreckt sich über verschiedene Bereiche und seine Bedeutung wurde im Laufe der Zeit erkannt. In diesem Artikel werden wir verschiedene Aspekte im Zusammenhang mit Benutzer:Schnark/js/wochentag.js untersuchen, von seinem Ursprung bis zu seinen Auswirkungen auf die heutige Gesellschaft. Wir werden verschiedene Perspektiven analysieren, uns die Meinungen von Experten auf diesem Gebiet anhören und über deren Einfluss auf unser tägliches Leben nachdenken. Benutzer:Schnark/js/wochentag.js ist ein Thema, das niemanden gleichgültig lässt. Daher ist es wichtig, es gründlich zu verstehen, um fundierte Entscheidungen treffen zu können.
//Dokumentation unter ] <nowiki>
/*global mediaWiki*/
(function ($, mw) {
"use strict";
var config = {
	beo: true, //auf Beobachtungsliste ausführen?
	rc: false, //auf Letzen Änderungen etc. ausführen?
	seiten: mw.config.get('wgDBname') === 'dewiki' ? //auf diesen Seiten ausführen
		 :
		
}, parserDefaults, parserExtends = {};

parserDefaults = {
	re: /^\s*(\d+)\.?\s*(.*?)\s*((?:\d{4})?)\s*$/,
	order: ,
	parseDay: Number,
	parseMonth: function (month) {
		return Number(month.replace(/\D/g, '')) - 1;
	},
	parseYear: function parseYear (year, month) {
		if (year) {
			return Number(year);
		}
		var now = new Date();
		if (month > now.getMonth()) {
			return now.getFullYear() - 1;
		} else {
			return now.getFullYear();
		}
	},
	format: '$1, $2'
};

parserExtends.de = {
	parseMonth: function (monat) {
		monat = monat.toLowerCase();
		if (monat.indexOf('jan') === 0) {
			return 0;
		}
		if (monat.indexOf('feb') === 0) {
			return 1;
		}
		if (monat.indexOf('mär') === 0) {
			return 2;
		}
		if (monat.indexOf('apr') === 0) {
			return 3;
		}
		if (monat.indexOf('mai') === 0) {
			return 4;
		}
		if (monat.indexOf('jun') === 0) {
			return 5;
		}
		if (monat.indexOf('jul') === 0) {
			return 6;
		}
		if (monat.indexOf('aug') === 0) {
			return 7;
		}
		if (monat.indexOf('sep') === 0) {
			return 8;
		}
		if (monat.indexOf('okt') === 0) {
			return 9;
		}
		if (monat.indexOf('nov') === 0) {
			return 10;
		}
		if (monat.indexOf('dez') === 0) {
			return 11;
		}
		return Number(monat.replace(/\D/g, '')) - 1;
	},
	days: 
};

parserExtends.en = {
	parseMonth: function (month) {
		month = month.toLowerCase();
		if (month.indexOf('jan') === 0) {
			return 0;
		}
		if (month.indexOf('feb') === 0) {
			return 1;
		}
		if (month.indexOf('mar') === 0) {
			return 2;
		}
		if (month.indexOf('apr') === 0) {
			return 3;
		}
		if (month.indexOf('may') === 0) {
			return 4;
		}
		if (month.indexOf('jun') === 0) {
			return 5;
		}
		if (month.indexOf('jul') === 0) {
			return 6;
		}
		if (month.indexOf('aug') === 0) {
			return 7;
		}
		if (month.indexOf('sep') === 0) {
			return 8;
		}
		if (month.indexOf('oct') === 0) {
			return 9;
		}
		if (month.indexOf('nov') === 0) {
			return 10;
		}
		if (month.indexOf('dec') === 0) {
			return 11;
		}
		return Number(month.replace(/\D/g, '')) - 1;
	},
	days: 
};

function parseDate (date, parserData) {
	var match = parserData.re.exec(date),
		day, month, year;
	if (!match) {
		return false;
	}
	day = parserData.parseDay(match]);
	month = parserData.parseMonth(match]);
	if (month < 0 || month > 11) {
		return false;
	}
	year = parserData.parseYear(match], month);
	return new Date(year, month, day);
}

function formatDate (dateString, parserData) {
	var date = parseDate(dateString, parserData);
	if (date) {
		return parserData.format
			.replace(/\$1/, parserData.days)
			.replace(/\$2/, dateString);
	}
}

function datumMitTag (datum) {
	var parserData = $.extend({}, parserDefaults, parserExtends);
	if (!parserData.days) {
		return;
	}
	return formatDate(datum, parserData);
}

//fügt einen Wochentag vor ein Datum ein
function einfuegen () {
	/*jshint validthis: true*///Funktion für $().each mit explizitem Kontext
	var datum = datumMitTag(this.innerHTML);
	if (datum) {
		this.innerHTML = datum;
	}
}

//Bearbeitet die Beobachtungsliste/...
function beobachtungsliste ($content) {
	$content.find('h4').each(einfuegen);
}
//Bearbeitet die aktuelle Seite
function seite ($content) {
	$content.find('#toc .toclevel-1 > a .toctext').each(einfuegen);
	$content.find('h1 .mw-headline').each(einfuegen);
}

function run ($content) {
	var special = mw.config.get('wgCanonicalSpecialPageName');
	if (
		(special === 'Watchlist' && config.beo) ||
		(special === 'Recentchanges' && config.rc) ||
		(special === 'Recentchangeslinked' && config.rc)
	) {
		beobachtungsliste($content);
	} else if (config.seiten.indexOf(mw.config.get('wgPageName')) !== -1) {
		seite($content);
	}
}

mw.hook('userjs.load-script.wochentag').fire(config);
mw.hook('wikipage.content').add(run);

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