Benutzer:WikiBayer/Gadget/Gadget-einleitung-bearbeiten.js
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
// Anwenderbeschreibung siehe [[MediaWiki:Gadget-Einleitung-bearbeiten]]
/* Autoren:
* ursprünglich: [[:en:User:Pile0nades]]
* Erweitert von: Maciej Jaros [[:pl:User:Nux]] (siehe http://pl.wikipedia.org/wiki/MediaWiki:Monobook.js)
* Korrigiert von: [[Benutzer:TMg]]
* Verbessert/Optimiert [[Benutzer:WikiBayer]] */
if (mw.config.get('wgIsArticle')) {
$(function () {
// Stop, wenn die Seite voll geschützt ist oder das Element bereits modifiziert wurde
const editButton = document.getElementById('ca-edit');
if (!editButton || document.getElementById('firstsectionedit')) {
return;
}
// Stop, wenn es keine editierbaren Abschnitte gibt
const editSections = document.querySelectorAll('span.mw-editsection');
if (!editSections.length) {
return;
}
// Das erste H1-Element abrufen
const firstHeader = document.querySelector('h1');
if (!firstHeader) return;
// Neues Span-Element erstellen
const span = document.createElement('span');
span.className = 'mw-editsection';
span.id = 'firstsectionedit';
// Klammern erstellen
const createBracket = (text) => {
const bracket = document.createElement('span');
bracket.className = 'mw-editsection-bracket';
bracket.textContent = text;
return bracket;
};
// Link erstellen
const link = document.createElement('a');
const editLink = editButton.querySelector('a');
link.href = editLink ? `${editLink.href}§ion=0&summary=/*%20Einleitung%20*/%20` : '#';
link.title = 'Abschnitt bearbeiten: Einleitung';
link.textContent = 'Bearbeiten';
// Elemente in das Span-Element einfügen
span.append(createBracket('['), link, createBracket(']'));
// Das Span-Element in das erste H1-Element einfügen
firstHeader.appendChild(span);
});
}