Benutzer:Gerard: Unterschied zwischen den Versionen

Aus TerranianStar
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== Mediawiki Sidebar ==
* Navigation
* Navigation
** mainpage-description|BlueX-Universum
** mainpage-description|BlueX-Universum
Zeile 31: Zeile 32:
** Spezial:Letzte_Änderungen|Letzte Änderungen
** Spezial:Letzte_Änderungen|Letzte Änderungen


==common.js ==
== common.js ==
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/** Namensräume für die Seitenvorschau **/
/** Namensräume für die Seitenvorschau **/

Version vom 21. Mai 2026, 20:07 Uhr

Mediawiki Sidebar

  • Navigation
    • mainpage-description|BlueX-Universum
    • Hilfe:Handbuch|Handbuch
    • Hilfe:FAQ|FAQ
  • Kontakt
    • Kontakt 1
    • Kontakt 2
  • BlueX
    • Kategorie:Blue-X|Blue-X
    • Kategorie:Blue-X Glossar|Blue-X Glossar
  • OutBack
    • Kategorie:OutBack|OutBack
    • Kategorie:OutBack Glossar|OutBack Glossar
  • Terranian-Star
    • Kategorie:Terranian Star|Terranian-Star
    • Kategorie:Terranian Star Glossar|Terranian Star Glossar
  • Drix
    • Kategorie:Drix|Drix
    • Kategorie:Drix Glossar|Drix Glossar
  • Spezielles
    • Spezial:E-Mail_senden|E-Mail versenden
    • Spezial:Letzte_Änderungen|Letzte Änderungen

common.js

/* Das folgende JavaScript wird für alle Benutzer geladen. */ /** Namensräume für die Seitenvorschau **/ mw.config.set('wgContentNamespaces', [0, 100]);

// // Sidebar‑Manipulation (Werkzeugkasten erweitern) // function ModifySidebar(action, section, name, link) {

   try {
       var target = 'p-' + section;
       if (section === 'languages') target = 'p-lang';
       if (section === 'toolbox') target = 'p-tb';
       if (section === 'navigation') target = 'p-navigation';
       var list = document.getElementById(target)
           ?.getElementsByTagName('div')[0]
           ?.getElementsByTagName('ul')[0];
       if (!list) return;
       if (action === 'add') {
           var aNode = document.createElement('a');
           var liNode = document.createElement('li');
           aNode.appendChild(document.createTextNode(name));
           aNode.setAttribute('href', link);
           liNode.appendChild(aNode);
           liNode.className = 'plainlinks';
           list.appendChild(liNode);
       }
       if (action === 'remove') {
           var items = list.getElementsByTagName('li');
           for (var i = 0; i < items.length; i++) {
               var a = items[i].getElementsByTagName('a')[0];
               if (a && (a.innerHTML === name || a.href === link)) {
                   list.removeChild(items[i]);
               }
           }
       }
   } catch (e) {
       return;
   }

}

function CustomizeModificationsOfSidebar() {

   // Toolbox‑Einträge für BlueX
   ModifySidebar('add', 'toolbox', 'Textbausteine', '/Wiki_BlueX/index.php/Kategorie:Textbausteine');
   ModifySidebar('add', 'toolbox', 'Letzte Änderungen', '/Wiki_BlueX/index.php/Spezial:Letzte_Änderungen');
   ModifySidebar('add', 'toolbox', 'Alle Seiten', '/Wiki_BlueX/index.php/Spezial:Alle_Seiten');
   ModifySidebar('add', 'toolbox', 'Zufällige Seite', '/Wiki_BlueX/index.php/Spezial:Zufällige_Seite');

}

jQuery(CustomizeModificationsOfSidebar);


// // Icons für Bearbeiten / Quelltext bearbeiten (Vector‑2022) // mw.hook('wikipage.content').add(function($content) {

   $content.find('.mw-editsection a').each(function() {
       var $a = $(this);
       var text = $a.text().trim();
       // Text ausblenden
       $a.css({
           'font-size': '0',
           'display': 'inline-block',
           'width': '22px',
           'height': '22px',
           'background-size': 'contain',
           'background-repeat': 'no-repeat',
           'background-position': 'center',
           'vertical-align': 'middle',
           'margin-left': '4px'
       });
       // Normales Bearbeiten
       if (text === 'Bearbeiten') {
           $a.css('background-image', 'url("/Wiki_BlueX/images/e/e6/EditIcon.png")');
       }
       // Quelltext bearbeiten
       if (text === 'Quelltext bearbeiten') {
           $a.css('background-image', 'url("/Wiki_BlueX/images/f/f6/QEditIcon.png")');
       }
   });
   // Klammern entfernen
   $content.find('.mw-editsection').css('font-size', '0');

});

// === BlueX-Sidebar für Vector‑2022 (statisch) === mw.loader.using(['mediawiki.util'], function () {

   if (mw.config.get('skin') !== 'vector-2022') return;
   $(function () {
       // Prüfen, ob wir schon eine Sidebar gebaut haben
       if (document.getElementById('bx-sidebar')) return;
       // Container für Inhalt finden (robust)
       var $content = $('#content, #mw-content, #mw-content-text').first();
       if (!$content.length) return;
       // Sidebar-Daten (entspricht deiner MediaWiki:Sidebar)
       var data = [
           {
               title: 'Navigation',
               items: [
                   { href: mw.util.getUrl('BlueX-Universum'), text: 'Hauptseite' },
                   { href: mw.util.getUrl('Hilfe:Handbuch'), text: 'Handbuch' },
                   { href: mw.util.getUrl('Hilfe:FAQ'), text: 'FAQ' }
               ]
           },
           {
               title: 'Kontakt',
               items: [
                   { href: '#', text: 'Kontakt 1' },
                   { href: '#', text: 'Kontakt 2' }
               ]
           },
           {
               title: 'BlueX',
               items: [
                   { href: mw.util.getUrl('Kategorie:Blue-X'), text: 'Blue-X' },
                   { href: mw.util.getUrl('Kategorie:Blue-X_Glossar'), text: 'Blue-X Glossar' }
               ]
           },
           {
               title: 'Perryversum',
               items: [
                   { href: mw.util.getUrl('Kategorie:Perryversum'), text: 'Perryversum' }
               ]
           },
           {
               title: 'OutBack',
               items: [
                   { href: mw.util.getUrl('Kategorie:OutBack'), text: 'OutBack' },
                   { href: mw.util.getUrl('Kategorie:OutBack_Glossar'), text: 'OutBack Glossar' }
               ]
           },
           {
               title: 'Terranian-Star',
               items: [
                   { href: mw.util.getUrl('Kategorie:Terranian_Star'), text: 'Terranian-Star' },
                   { href: mw.util.getUrl('Kategorie:Terranian_Star_Glossar'), text: 'Terranian Star Glossar' }
               ]
           },
           {
               title: 'Drix',
               items: [
                   { href: mw.util.getUrl('Kategorie:Drix'), text: 'Drix' },
                   { href: mw.util.getUrl('Kategorie:Drix_Glossar'), text: 'Drix Glossar' }
               ]
           },
           {
               title: 'Spezielles',
               items: [
                   { href: mw.util.getUrl('Spezial:Letzte_Änderungen'), text: 'Letzte Änderungen' },
                   { href: mw.util.getUrl('Spezial:Spezialseiten'), text: 'Spezialseiten' }
               ]
           }
       ];
       // Sidebar-Container

var $sidebar = $('

').css({

           width: '230px',
           padding: '10px',
           'box-sizing': 'border-box'
       });
       // Inhalt nach rechts schieben
       $content.parent().css('display', 'flex');
       $content.css('margin-left', '20px');
       $content.before($sidebar);
       // Blöcke bauen
       data.forEach(function (block) {

var $portal = $('

').css({

               'margin-bottom': '15px',
               'border-bottom': '1px solid #ddd',
               'padding-bottom': '5px'
           });

var $header = $('

').text(block.title).css({

               'font-weight': 'bold',
               'cursor': 'pointer',
               'padding': '4px 0'
           });
           var $arrow = $('').css({
               'float': 'right',
               'transition': '0.2s',
               'font-weight': 'bold'
           });

var $contentList = $('

'); var $ul = $('

    ').css('margin-left', '12px');

               block.items.forEach(function (item) {
    

    var $li = $('

  • '); var $a = $('<a></a>').attr('href', item.href).text(item.text); $li.append($a); $ul.append($li); }); $contentList.append($ul); $header.append($arrow); $portal.append($header).append($contentList); $sidebar.append($portal); // Klick zum Einklappen $header.on('click', function () { if ($contentList.is(':visible')) { $contentList.slideUp(150); $arrow.css('transform', 'rotate(-90deg)'); } else { $contentList.slideDown(150); $arrow.css('transform', 'rotate(0deg)'); } }); }); }); });