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\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&/~\+#])?/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();
}
});