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
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* 
    JavaScript to correct date-formats quickly for Wikimedia
    Copyright (C) 2013 Daniel Gruber, BLueFiSH.as, Patrick Lemke
 
    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 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
    last modified: 17.03.2013
*/
function ReplaceMarkupDate()
{
	if(!$("#ca-edit").hasClass("selected")) {
		var url = $("#ca-edit a").attr("href") + "#proceed-in-script";
		$("#ca-edit a").attr("href", url);
		window.location.href = url;
	} else {
		var tv = document.editform.wpTextbox1.value;
 
		/* [[Wikipedia:Datumskonventionen]] umsetzen */
 
		/* english to german */
 
		var toReplace = [];
		var result = tv.match(/\[\[(Datei|Bild)\:.*?\]\]/mgi);
		//console.log(result.length);
		var a = 0;
		if(result) {
			for(i in result) {
				//console.log(result[i]);
				tv = tv.replace(result[i], "replace_" + a);
				toReplace[a] = result[i];
				a++;
			}
		}
 
		var result_quotes = tv.match(/''[\s\S]+?''/mgi);
		//console.log(result.length);
		if(result_quotes) {
			for(i in result_quotes) {
				//console.log(result[i]);
				tv = tv.replace(result_quotes[i], "replace_" + a);
				toReplace[a] = result_quotes[i];
				a++;
			}
		}
 
		var result_boxes = tv.match(/{{Infobox[\s\S]+?}}/mgi);
		//console.log(result.length);
		if(result_boxes) {
			for(i in result_boxes) {
				//console.log(result[i]);
				tv = tv.replace(result_boxes[i], "replace_" + a);
				toReplace[a] = result_boxes[i];
				a++;
			}
		}
		
		var result_inetsource = tv.match(/{{internetquelle[\s\S]+?}}/mgi);
		//console.log(result.length);
		if(result_inetsource) {
			for(i in result_inetsource) {
				//console.log(result[i]);
				tv = tv.replace(result_inetsource[i], "replace_" + a);
				toReplace[a] = result_inetsource[i];
				a++;
			}
		}
		
		var result_links = tv.match(/(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:\/~\+#]*[\w\-\@?^=%&amp;/~\+#])?/mgi);
		//console.log(result.length);
		if(result_links) {
			for(i in result_links) {
				//console.log(result[i]);
				tv = tv.replace(result_links[i], "replace_" + a);
				toReplace[a] = result_links[i];
				a++;
			}
		}
 
		
		tv = tv.replace(/(\d{4})\-(\d{2})\-(\d{2})/g, "$3.$2.$1");
		tv = tv.replace(/(\d{2})\-(\d{2})\-(\d{4})/g, "$1.$2.$3");
 
		/* false to true */
 
		tv = tv.replace(/\.\s{0,1}01\.\s{0,1}(\d{4})/g, ". Januar $1"); 
		tv = tv.replace(/\.\s{0,1}1\.\s{0,1}(\d{4})/g, ". Januar $1");
 
		tv = tv.replace(/\.\s{0,1}02\.\s{0,1}(\d{4})/g, ". Februar $1"); 
		tv = tv.replace(/\.\s{0,1}2\.\s{0,1}(\d{4})/g, ". Februar $1");
 
		tv = tv.replace(/\.\s{0,1}03\.\s{0,1}(\d{4})/g, ". März $1"); 
		tv = tv.replace(/\.\s{0,1}3\.\s{0,1}(\d{4})/g, ". März $1");
 
		tv = tv.replace(/\.\s{0,1}04\.\s{0,1}(\d{4})/g, ". April $1"); 
		tv = tv.replace(/\.\s{0,1}4\.\s{0,1}(\d{4})/g, ". April $1");
 
		tv = tv.replace(/\.\s{0,1}05\.\s{0,1}(\d{4})/g, ". Mai $1"); 
		tv = tv.replace(/\.\s{0,1}5\.\s{0,1}(\d{4})/g, ". Mai $1");
 
		tv = tv.replace(/\.\s{0,1}06\.\s{0,1}\s{0,1}(\d{4})/g, ". Juni $1"); 
		tv = tv.replace(/\.\s{0,1}6\.\s{0,1}(\d{4})/g, ". Juni $1");
 
		tv = tv.replace(/\.\s{0,1}07\.\s{0,1}(\d{4})/g, ". Juli $1"); 
		tv = tv.replace(/\.\s{0,1}7\.\s{0,1}(\d{4})/g, ". Juli $1");
 
		tv = tv.replace(/\.\s{0,1}08\.\s{0,1}(\d{4})/g, ". August $1"); 
		tv = tv.replace(/\.\s{0,1}8\.\s{0,1}(\d{4})/g, ". August $1");
 
		tv = tv.replace(/\.\s{0,1}09\.\s{0,1}(\d{4})/g, ". September $1"); 
		tv = tv.replace(/\.\s{0,1}9\.\s{0,1}(\d{4})/g, ". September $1");
 
		tv = tv.replace(/\.\s{0,1}10\.\s{0,1}(\d{4})/g, ". Oktober $1");
 
		tv = tv.replace(/\.\s{0,1}11\.\s{0,1}(\d{4})/g, ". November $1"); 
 
		tv = tv.replace(/\.\s{0,1}12\.\s{0,1}(\d{4})/g, ". Dezember $1"); 
 
		tv = tv.replace(/(\s|\(|\=)0(\d)\.\s/g, "$1$2. ");  // 01. und 02. etc. zu 1. und 2.
 
		tv = tv.replace(/Jh\.\)\]\]/g, "JJJJHHHH.)]]"); // workaround für "Kategorie:Britisches Königshaus (20. Jh.)"
		tv = tv.replace(/Jh\.\)\|/g, "JJJJHHHH.)|"); // workaround für "Kategorie:Britisches Königshaus (20. Jh.)"
		tv = tv.replace(/Jh\.\|/g, "JJJJHHHH.|"); // workaround für Link "Britisches Königshaus (20. Jh.)|blablub"
		tv = tv.replace(/\.Jh\./g, ". Jahrhundert"); tv = tv.replace(/\.\sJh\./g, ". Jahrhundert"); 
		tv = tv.replace(/\.Jhd\./g, ". Jahrhundert"); tv = tv.replace(/\.\sJhd\./g, ". Jahrhundert");
		tv = tv.replace(/JJJJHHHH\.\)\]\]/g, "Jh.)]]"); // workaround für "Kategorie:Britisches Königshaus (20. Jh.)"
		tv = tv.replace(/JJJJHHHH\.\)\|/g, "Jh.)|"); // workaround für "Kategorie:Britisches Königshaus (20. Jh.)"
		tv = tv.replace(/JJJJHHHH\.\|/g, "Jh.|"); // workaround für Link "Britisches Königshaus (20. Jh.)|blablub"
 
		// TODO: alert() bei diversen Sachen, die von Hand korrigiert werden müssen.
		// TODO: alert() bei Koordinate mit 60er Sekunden! 
		// TODO: wenn nur Überschriften Ebene 3/Ebene 1 vorhanden, und keine Ebene 2, alle Ebenen eins rauf/runter setzen
 
		if(toReplace) {
 
			for(b = toReplace.length - 1; b >= 0; b--) {
				tv = tv.replace("replace_" + b, toReplace[b]);
			}
		}
 
		document.editform.wpTextbox1.value = tv;
		if (wgUserName != "BLueFiSH.as") {
			document.editform.wpDiff.click();
		}	
	}
	return false;
}
 
$(function(){
	if(window.location.hash == "#proceed-in-script") {
		ReplaceMarkupDate();
	}
});