Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 99: | Zeile 99: | ||
} | } | ||
}); | }); | ||
}); | |||
document.addEventListener('DOMContentLoaded', function() { | |||
// 1) Dropdown-Menü mit Unterseiten finden | |||
const dropdown = document.querySelector('#breadcrumbs .breadcrumb-nav-subpages + .breadcrumb-menu ul'); | |||
if (!dropdown) return; // kein Unterseiten-Menü vorhanden | |||
// 2) Alle Links im Dropdown auslesen | |||
const subpageLinks = Array.from(dropdown.querySelectorAll('a.dropdown-item')); | |||
if (subpageLinks.length === 0) return; | |||
// 3) Neuen Container für die Unterseiten-Liste anlegen | |||
const box = document.createElement('div'); | |||
box.className = 'subpages-box'; // für eigenes Styling | |||
const ul = document.createElement('ul'); | |||
ul.className = 'subpages-list'; | |||
subpageLinks.forEach(link => { | |||
const li = document.createElement('li'); | |||
// <a> klonen, damit Klassen, href und Text übernommen werden | |||
const a = link.cloneNode(true); | |||
li.appendChild(a); | |||
ul.appendChild(li); | |||
}); | |||
box.appendChild(ul); | |||
// 4) Container in den Header einfügen | |||
// passe den Selektor hier an, je nachdem wo Dein Header ist | |||
const header = document.querySelector('#firstHeading') || document.querySelector('header'); | |||
if (header) { | |||
header.parentNode.insertBefore(box, header.nextSibling); | |||
} | |||
}); | }); |
Version vom 12. Juni 2025, 06:31 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() {
// 1) Klick merken
$('body').on('click', 'a.mws-tree-item-label', function() {
try {
window.name = JSON.stringify({ lastNav: this.getAttribute('href') });
} catch (e) {}
});
// 2) Polling & Aufklappen + Inline‐Styling
var attempts = 0,
interval = setInterval(function() {
attempts++;
var data = {};
try {
data = JSON.parse(window.name || '{}');
} catch (e) {}
var last = data.lastNav;
if (!last || attempts > 10) {
clearInterval(interval);
return;
}
var $link = $('a.mws-tree-item-label[href="' + last + '"]');
if ($link.length) {
clearInterval(interval);
// Zweige aufklappen
$link.parents('li.mws-tree-item').each(function() {
var $exp = $(this).children('div').children('a.mws-tree-expander.collapsed');
if ($exp.length) {
$exp.trigger('click');
}
});
// Inline‐Styles setzen
$link.css({
'background-color': '#eef',
'font-weight': 'bold',
'color': '#000',
'border-left': '3px solid #98A7C4',
'padding-left': '0.5em'
});
// optional scrollen
$('html, body').scrollTop($link.offset().top - 80);
}
}, 300);
});
$(function(){
// In allen Category-Ausgaben: jede LI, die einen <a class="new"> enthält, entfernen
$('.smw-columnlist-container a.new').each(function(){
$(this).closest('li').remove();
});
});
$(function(){
// 1. Rote Links raus (wie gehabt)
$('.smw-columnlist-container a.new').each(function(){
$(this).closest('li').remove();
});
// 2. Jetzt jede Buchstaben-Überschrift entfernen, deren Liste leer ist
$('.smw-column-header').each(function(){
var $header = $(this),
$ul = $header.next('ul');
if ($ul.length && $ul.children('li').length === 0) {
$ul.remove();
$header.remove();
}
});
});
document.addEventListener('DOMContentLoaded', function() {
// 1) Dropdown-Menü mit Unterseiten finden
const dropdown = document.querySelector('#breadcrumbs .breadcrumb-nav-subpages + .breadcrumb-menu ul');
if (!dropdown) return; // kein Unterseiten-Menü vorhanden
// 2) Alle Links im Dropdown auslesen
const subpageLinks = Array.from(dropdown.querySelectorAll('a.dropdown-item'));
if (subpageLinks.length === 0) return;
// 3) Neuen Container für die Unterseiten-Liste anlegen
const box = document.createElement('div');
box.className = 'subpages-box'; // für eigenes Styling
const ul = document.createElement('ul');
ul.className = 'subpages-list';
subpageLinks.forEach(link => {
const li = document.createElement('li');
// <a> klonen, damit Klassen, href und Text übernommen werden
const a = link.cloneNode(true);
li.appendChild(a);
ul.appendChild(li);
});
box.appendChild(ul);
// 4) Container in den Header einfügen
// passe den Selektor hier an, je nachdem wo Dein Header ist
const header = document.querySelector('#firstHeading') || document.querySelector('header');
if (header) {
header.parentNode.insertBefore(box, header.nextSibling);
}
});