Zuletzt bearbeitet vor 2 Monaten
von Mark Wagner

MediaWiki:Common.js: Unterschied zwischen den Versionen

Keine Kategorien vergebenBearbeiten
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 32: Zeile 32:
      .appendTo('head');
      .appendTo('head');
});
});
  $(function() {
$(function() {
    var cookieName = 'bs_lastNav',
    // 0. Variablen definieren
        cookieMaxAge = 60 * 60 * 24 * 30; // 30 Tage
    var cookieName   = 'bs_lastNav',
        cookieMaxAge = 60 * 60 * 24 * 30; // 30 Tage
    // Hilfsfunktion: Cookie setzen
 
    function setCookie(name, value, maxAge) {
    // 1. Cookie‐Funktionen
      document.cookie = name + '=' + encodeURIComponent(value) +
    function setCookie(name, value, maxAge) {
        '; path=/; max-age=' + maxAge;
      document.cookie = name + '=' + encodeURIComponent(value) +
    }
        '; path=/; max-age=' + maxAge;
    }
    // Hilfsfunktion: Cookie auslesen
    function getCookie(name) {
    function getCookie(name) {
      return document.cookie.split(';').reduce(function(prev, curr) {
      var parts = document.cookie.split(';').map(function(c){ return c.trim(); });
        var parts = curr.trim().split('=');
      for (var i = 0; i < parts.length; i++) {
        return parts[0] === name ? decodeURIComponent(parts[1]) : prev;
        if (parts[i].indexOf(name + '=') === 0) {
      }, null);
          return decodeURIComponent(parts[i].substring(name.length + 1));
    }
        }
 
      }
    // 2. Klick handler: speichere die URL
      return null;
    $('a.mws-tree-item-label').on('click', function() {
    }
      var href = $(this).attr('href');
      if (href) {
    // 1. Klick-Handler für deine Seitennavigation
        setCookie(cookieName, href, cookieMaxAge);
    //    Passe den Selektor an deine Sidebar an, z.B. '.bs-sidebar-nav a'
      }
    $('a.mws-tree-item-label').on('click', function() {
      var href = $(this).attr('href');
      if (href) {
        setCookie(cookieName, href, cookieMaxAge);
      }
    });
    // 2. Beim Laden: gespeicherten Eintrag wieder öffnen
    var last = getCookie(cookieName);
    if (last) {
      // Suche den entsprechenden Link in der Sidebar
      var $link = $('a.mws-tree-item-label'[href="' + last + '"]);
      if ($link.length) {
        // Beispiel: Eltern-Container aufklappen (klappt bei vielen Skins)
        $link.parents('li.mws-tree-item').addClass('expanded');
        // Optional: Link ins Sichtfeld scrollen
        $('html, body').scrollTop( $link.offset().top - 100 );
      }
    }
  });
     });
     });
    // 3. Beim Laden: letzten Eintrag aufklappen
    var last = getCookie(cookieName);
    if (last) {
      var $link = $('a.mws-tree-item-label[href="' + last + '"]');
      if ($link.length) {
        var $item    = $link.closest('li.mws-tree-item'),
            $expander = $item.find('> div > a.mws-tree-expander'),
            $children = $item.children('ul.mws-tree-item-children');
        // Expander‐Icon anpassen
        $expander
          .removeClass('collapsed')
          .addClass('expanded')
          .attr('aria-expanded', 'true');
        // Unterknoten einblenden
        $children.show();
        // Optional: scroll zum Link
        $('html, body').scrollTop($link.offset().top - 100);
      }
    }
  });
});
});

Version vom 11. Juni 2025, 19:08 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */
/**
 * Entfernt das Wort „Fortsetzung“ aus allen SMW-Spalten-Headern (div.smw-column-header).
 * Leg die Datei MediaWiki:Common.js (oder Discovery.js) an bzw. bearbeite sie:
 *
 * 1. Gehe als Admin auf Special:Edit/MediaWiki:Common.js
 * 2. Füge diesen Code ans Ende ein und speichere.
 * 3. Leere den Browser-Cache (STRG + F5), damit das neue JS geladen wird.
 */
mw.loader.using(['jquery'], function () {
    $(document).ready(function () {
        $('.smw-column-header').each(function () {
            // aktuellen HTML-Inhalt holen
            var html = $(this).html();
            // "Fortsetzung" entfernen, Leerzeichen ggf. bereinigen
            var newHtml = html.replace(/Fortsetzung/g, '').trim();
            // falls nach dem Entfernen gar kein Text übrig ist, komplette Header-Box ausblenden:
            if (newHtml === '') {
                $(this).hide();
            } else {
                // ansonsten nur den Text überschreiben, sodass z. B. "B Fortsetzung" → "B" wird
                $(this).html(newHtml);
            }
        });
        $(function () {
			    $('<style>')
			      .prop('type', 'text/css')
			      .html(
			        '.breadcrumb-item { font-size: 17px !important; }' +
			        '.breadcrumb-nav  { border-bottom: 2px solid #85bc20!important; margin-bottom: 20px !important; }'
			      )
			      .appendTo('head');
			 });
		 $(function() {
    // 0. Variablen definieren
    var cookieName   = 'bs_lastNav',
        cookieMaxAge = 60 * 60 * 24 * 30; // 30 Tage

    // 1. Cookie‐Funktionen
    function setCookie(name, value, maxAge) {
      document.cookie = name + '=' + encodeURIComponent(value) +
        '; path=/; max-age=' + maxAge;
    }
    function getCookie(name) {
      return document.cookie.split(';').reduce(function(prev, curr) {
        var parts = curr.trim().split('=');
        return parts[0] === name ? decodeURIComponent(parts[1]) : prev;
      }, null);
    }

    // 2. Klick handler: speichere die URL
    $('a.mws-tree-item-label').on('click', function() {
      var href = $(this).attr('href');
      if (href) {
        setCookie(cookieName, href, cookieMaxAge);
      }
    });

    // 3. Beim Laden: letzten Eintrag aufklappen
    var last = getCookie(cookieName);
    if (last) {
      var $link = $('a.mws-tree-item-label[href="' + last + '"]');
      if ($link.length) {
        var $item     = $link.closest('li.mws-tree-item'),
            $expander = $item.find('> div > a.mws-tree-expander'),
            $children = $item.children('ul.mws-tree-item-children');

        // Expander‐Icon anpassen
        $expander
          .removeClass('collapsed')
          .addClass('expanded')
          .attr('aria-expanded', 'true');

        // Unterknoten einblenden
        $children.show();

        // Optional: scroll zum Link
        $('html, body').scrollTop($link.offset().top - 100);
      }
    }
  });
});