Benutzer:Schnark/js/altehauptseite.js
aus Wikipedia, der freien Enzyklopädie
< Benutzer:Schnark | js
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 31. Oktober 2019 um 21:11 Uhr durch imported>Krinkle(731718) (Maintenance: mw:RL/MGU - Updated deprecated module name).
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 auf [[Benutzer:Schnark/js/altehauptseite]] <nowiki>
/*global mw: true */
(function($){
var altehauptseite = {
version: 1.6,
wiki: '', //Pfad
//Datum und seine Bestandteile ('jjjjmmdd', 'd', 'dddd', 'mmmm', 'jjjj')
datum: '',
tag: '',
wochentag: '',
monat: '',
jahr: '',
//Datum in Bestandteile zerlegen
parseDate: function () {
var re = /(\d{4})(\d\d)(\d\d)/;
var ergebnis = re.exec(altehauptseite.datum);
altehauptseite.jahr = ergebnis[1];
var m = parseInt(ergebnis[2], 10) - 1, d = parseInt(ergebnis[3], 10);
altehauptseite.tag = String(d);
altehauptseite.monat = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'][m];
var date = new Date(parseInt(ergebnis[1], 10), m, d);
altehauptseite.wochentag = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'][date.getDay()];
},
//HTML in einzelne Rubriken einfügen
insertWPAktuell: function (html) {
var d = $('#hauptseite-wikipedia');
if (d.html()) {
d.html(html);
} else {
$('#hauptseite-artikel').before(html);
}
},
insertAdT: function (html) {
$('#hauptseite-artikel .inhalt').html(html);
},
insertJahrestage: function (html) {
$('#hauptseite-ereignisse').html('<h2> Was geschah am ' + altehauptseite.tag + '. ' + altehauptseite.monat + '?</h2><div class="inhalt">' + html + '<div class="mehr"><a href="' + altehauptseite.wiki + altehauptseite.tag + '._' + altehauptseite.monat + '" title="' + altehauptseite.tag + '. ' + altehauptseite.monat + '">Weitere Ereignisse</a></div></div>');
},
insertAktuell: function (html) {
$('#hauptseite-nachrichten .inhalt').html(html + '<div class="mehr"><a href="' + altehauptseite.wiki + altehauptseite.monat + '_' + altehauptseite.jahr + '" title="' + altehauptseite.monat + ' ' + altehauptseite.jahr + '">Weitere Ereignisse</a> · <a href="//de.wikinews.org/wiki/Hauptseite" title="n:Hauptseite">Wikinews</a></div>');
},
insertNekro: function (html) {
$('#hauptseite-verstorbene .inhalt').html(html + '<div class="mehr"><a href="' + altehauptseite.wiki + 'Nekrolog_' + altehauptseite.jahr + '" title="Nekrolog ' + altehauptseite.jahr + '">Weitere kürzlich Verstorbene</a></div>');
},
insertSg: function (html) {
$('#hauptseite-wissenswertes .inhalt').html(html + '<div class="mehr"><a href="' + altehauptseite.wiki + 'Spezial:Neue_Seiten" title="Spezial:Neue Seiten">Weitere neue Artikel · <a href="' + altehauptseite.wiki + 'Wikipedia:Hauptseite/Schon_gewusst/Archiv" title="Wikipedia:Hauptseite/Schon_gewusst/Archiv">Frühere Schon-gewusst-Artikel</a></div>');
},
//API Text parsen lassen
parse: function (titel, text) {
text = text.replace(/<noinclude>(?:.|\n)*?<\/noinclude>/g, ''); //noinclude entfernen
text = text.replace(/^(?:.|\n)*?<onlyinclude>/, '').replace(/<\/onlyinclude>(?:.|\n)*?$/, '');
text = text.replace(/^\n*/, '').replace(/\n*$/, '');
text = '__NOEDITSECTION__\n' + text;
if (titel.indexOf('Artikel des Tages') > -1) {
text += '\n{{Wikipedia:Hauptseite/Artikel des Tages/Links}}';
}
var data = {action: 'parse', prop: 'text', text: text, format: 'json'};
var url = mw.util.wikiScript('api');
if (titel === 'Wikipedia:Hauptseite/Wikipedia aktuell') {
if (text === '__NOEDITSECTION__\n') {
altehauptseite.insertWPAktuell('');
} else {
$.getJSON(url, data, altehauptseite.parseWPAktuell);
}
} else if (titel.indexOf('Artikel des Tages') > -1) {
$.getJSON(url, data, altehauptseite.parseAdT);
} else if (titel.indexOf('Jahrestage') > -1) {
$.getJSON(url, data, altehauptseite.parseJahrestage);
} else if (titel.indexOf('Wikipedia:Hauptseite/Aktuelles') > -1) {
$.getJSON(url, data, altehauptseite.parseAktuell);
} else if (titel === 'Vorlage:Hauptseite Verstorbene') {
$.getJSON(url, data, altehauptseite.parseNekro);
} else if (titel.indexOf('Schon gewusst') > -1) {
$.getJSON(url, data, altehauptseite.parseSg);
}
},
//geparsten Text weitergeben
parseWPAktuell: function (json) {
if (!json || !json.parse || !json.parse.text || !json.parse.text['*']) {return;}
altehauptseite.insertWPAktuell(json.parse.text['*']);
},
parseAdT: function (json) {
if (!json || !json.parse || !json.parse.text || !json.parse.text['*']) {return;}
altehauptseite.insertAdT(json.parse.text['*']);
},
parseJahrestage: function (json) {
if (!json || !json.parse || !json.parse.text || !json.parse.text['*']) {return;}
altehauptseite.insertJahrestage(json.parse.text['*']);
},
parseAktuell: function (json) {
if (!json || !json.parse || !json.parse.text || !json.parse.text['*']) {return;}
altehauptseite.insertAktuell(json.parse.text['*']);
},
parseNekro: function (json) {
if (!json || !json.parse || !json.parse.text || !json.parse.text['*']) {return;}
altehauptseite.insertNekro(json.parse.text['*']);
},
parseSg: function (json) {
if (!json || !json.parse || !json.parse.text || !json.parse.text['*']) {return;}
altehauptseite.insertSg(json.parse.text['*']);
},
//richtige Version heraussuchen
getRevision: function (json) {
if (!json || !json.query || !json.query.pages) {
return;
}
var pages = json.query.pages;
for (var id in pages) {
altehauptseite.parse(pages[id].title, pages[id].revisions[0]['*']);
}
},
//alte Darstellung anstoßen
doit: function () {
altehauptseite.datum = $('#altesdatum').val();
altehauptseite.go();
},
go: function () {
altehauptseite.parseDate();
var data = {action: 'query', prop: 'revisions', titles: '', rvlimit: 1, rvprop: 'content', rvdir: 'older', rvstart: altehauptseite.datum + '235959', format: 'json'},
url = mw.util.wikiScript('api'),
titel = ['Wikipedia:Hauptseite/Wikipedia aktuell',
'Wikipedia:Hauptseite/Artikel des Tages/' + altehauptseite.wochentag,
'Wikipedia:Hauptseite/Jahrestage/' + altehauptseite.monat + '/' + altehauptseite.tag,
'Wikipedia:Hauptseite/Aktuelles',
'Vorlage:Hauptseite Verstorbene',
'Wikipedia:Hauptseite/Schon gewusst'];
if (altehauptseite.datum >= '20090127') { //Umstellung auf täglichen Wechsel
titel[5] += '/' + altehauptseite.wochentag;
}
if (altehauptseite.datum <= '20090322') { //Versionsarchiv
titel[3] += '/alt';
}
for (var i = 0; i < titel.length; i++) {
data.titles = titel[i];
$.getJSON(url, data, altehauptseite.getRevision);
}
},
//initialisieren
init: function () {
altehauptseite.wiki = mw.config.get('wgArticlePath').replace('$1', '');
$('#firstHeading').after('<div id="altehauptseitediv" style="position:absolute;right:2px;top:-2px;cursor:pointer;"><input type="hidden" id="altesdatum" /></div>');
$('#altesdatum').datepicker({showOn: 'button', buttonImageOnly: true, buttonText: 'Datum auswählen',
buttonImage: '//upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Nuvola_apps_date.svg/22px-Nuvola_apps_date.svg.png',
defaultDate: -1, onSelect: altehauptseite.doit, dateFormat: 'yymmdd'});
}
};
if (mw.config.get('debug')) {window.altehauptseite = altehauptseite;}
$(document).trigger('loadWikiScript', ['Benutzer:Schnark/js/altehauptseite.js', altehauptseite]);
if (mw.config.get('wgIsMainPage')) {
mw.loader.using(['mediawiki.util', 'jquery.ui'], function() {
$(altehauptseite.init);
});
}
})(jQuery);
//</nowiki>