MediaWiki:Selfhtml.js
Aus SELFHTML-Wiki
Hinweis: Leeren Sie nach dem Speichern 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: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Extras → Internetspuren löschen … → Individuelle Auswahl → Den kompletten Cache löschen
if (localStorage && localStorage.getItem('common.js.debugger') == 'true') { // Debug-Instrumentierung
debugger;
}
if (mw.config.get('skin') == 'selfhtml') {
mw.loader.using('skins.'+mw.config.get('skin')+'.js', function() {
/* Links zum Forum */
const forumUrl = mw.Selfhtml.buildForumQuestionUrl('https://forum.selfhtml.org/self/new')
const noAskCanonicalNS = [ 'special', 'user', 'user_talk' ]; // NS in denen keine Fragen gestellt werden sollen
const canTalkCanonicalNS = [ 'user', 'user_talk' ]; // NS in denen diskutiert werden kann
const namespace = mw.config.get('wgCanonicalNamespace').toLowerCase();
if (forumUrl && !noAskCanonicalNS.includes(namespace)) {
/* !!! War funktionslos weil dieses ul Element nach #p-tb verschoben wurde.
* Nach Verschiebung hierher geht's wieder, aber ist das so gewünscht?
*/
$('#p-namespaces > ul').prepend('<li id="ca-forum-question"><span><a href="' + forumUrl + '" title="Frage im SELFHTML-Forum stellen‽">Fragen</a></span></li>'); // "Im Forum fragen"
}
/* Edit in Namespace-Nav ziehen */
$('#ca-edit').appendTo('#p-namespaces > ul');
/* Umbennenen der Linktexte */
$('#ca-nstab-main a').text('Lesen');
$('#ca-talk a').text('Diskutieren');
$('#ca-edit a').text('Bearbeiten');
/* redundantes Lesen ausblenden */
$('#ca-view').css('display','none');
});
}
(function() {
// Advent-Helper
if (mw.config.get("wgAction").includes("protect")) return; // Nicht für Lock/Unlock Seite!
var seitenname = mw.config.get('wgPageName'); // Nur für Advent/yyyy/dd Seiten!
var match = /^Advent\/(\d\d\d\d)\/(\d\d)$/i.exec(seitenname);
if (!match) return; // Kein relevanter page title
var inhalt = document.getElementById("mw-content-text"); // Erwartete Seitenstruktur?
var heading = inhalt.querySelector("h2");
if (inhalt == null || heading == null) return;
var pageYear = parseInt(match[1]), pageDay = parseInt(match[2]),
heute = new Date(), jahr = heute.getFullYear(), monat = heute.getMonth(), tag = heute.getDate();
if (pageYear < jahr) return; // Älterer Kalender
if (pageYear == jahr // Aktueller Kalender, Tag erreicht, nichts tun
&& monat == 11 && pageDay <= tag) return;
// Benutzergruppen ermitteln - Sysop ist kein Weihnachtsmäuschen!
mw.user.getGroups().then(function(groups) {
if (groups.includes("sysop")) {
heading.innerHTML += " - Pssst!";
return;
}
// Kalender für Folgejahr oder Tag im akt. Kalender noch nicht erreicht
inhalt.innerHTML = heading.outerHTML + "<p>Sei nicht so ein neugieriges <b>Weihnachtsmäuschen</b>!</p>";
});
})();