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}&section=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);
    });
}