Keine Bearbeitungszusammenfassung Markierung: Zurückgesetzt |
Keine Bearbeitungszusammenfassung Markierung: Zurückgesetzt |
||
Zeile 124: | Zeile 124: | ||
mw.util.addCSS('.mw-parser-output ul, .mw-parser-output ol { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; } .mw-parser-output li { list-style: none !important; }'); | mw.util.addCSS('.mw-parser-output ul, .mw-parser-output ol { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; } .mw-parser-output li { list-style: none !important; }'); | ||
} | } | ||
})(mediaWiki, jQuery); | |||
/* Startseiten-Menü: ohne Expander, #subpage-tree-pnl ausblenden, kein Einrücken unten */ | |||
(function (mw, $) { | |||
'use strict'; | |||
function isMainView() { | |||
return mw.config.get('wgIsMainPage') && mw.config.get('wgAction') === 'view'; | |||
} | |||
function hideSubpageTreePanel($scope) { | |||
if (!isMainView()) return; | |||
// global (nur auf Startseite, weil Funktion nur hier läuft) | |||
mw.util.addCSS('#subpage-tree-pnl{display:none!important;}'); | |||
// sofort im aktuellen/neu geladenen Bereich | |||
($scope || $(document)).find('#subpage-tree-pnl').hide().attr('aria-hidden', 'true'); | |||
} | |||
function injectHomeMenu($root) { | |||
if (!isMainView()) return; | |||
if (document.getElementById('home-static-menu')) return; // Duplikate vermeiden | |||
var $container = ($root || $(document)).find('#sb-pri-cnt:visible').last(); | |||
if (!$container.length) return; | |||
const menuHtml = ` | |||
<div id="home-static-menu" class="home-static-menu"> | |||
<div class="enhanced-sidebar-cnt"> | |||
<div id="9a659-pnl" class="card w-100 bg-transp tree-component test"> | |||
<div id="9a659-head" class="card-header menu-title">Themen</div> | |||
<ul id="9a659-menu" class="mws-tree root w-100 bg-transp" role="tree" aria-labelledby="9a659-head" tabindex="0"> | |||
<li id="43568" class="mws-tree-item internal" role="treeitem"> | |||
<div><a id="43568-label" class="mws-tree-item-label" href="/wiki/Verein:Hauptseite">Verein</a></div> | |||
</li> | |||
<li id="12180" class="mws-tree-item internal" role="treeitem"> | |||
<div><a id="12180-label" class="mws-tree-item-label" href="/wiki/Arbeitsorganisation:Hauptseite">Arbeitsorganisation</a></div> | |||
</li> | |||
<li id="94668" class="mws-tree-item internal" role="treeitem"> | |||
<div><a id="94668-label" class="mws-tree-item-label" href="/wiki/Angebote:Hauptseite">Angebote</a></div> | |||
</li> | |||
<li id="16759" class="mws-tree-item internal" role="treeitem"> | |||
<div><a id="16759-label" class="mws-tree-item-label" href="/wiki/Gruppenarbeit:Hauptseite">Gruppenarbeit</a></div> | |||
</li> | |||
<li id="20ee3" class="mws-tree-item internal" role="treeitem"> | |||
<div><a id="20ee3-label" class="mws-tree-item-label" href="/wiki/Mitarbeit:Hauptseite">Mitarbeit</a></div> | |||
</li> | |||
<li id="d5272" class="mws-tree-item internal" role="treeitem"> | |||
<div><a id="d5272-label" class="mws-tree-item-label" href="/wiki/Kommunikation:Hauptseite">Kommunikation</a></div> | |||
</li> | |||
<li id="48945" class="mws-tree-item internal" role="treeitem"> | |||
<div><a id="48945-label" class="mws-tree-item-label" href="/wiki/QM:Hauptseite">QM</a></div> | |||
</li> | |||
<li id="27eea" class="mws-tree-item internal" role="treeitem"> | |||
<div><a id="27eea-label" class="mws-tree-item-label" href="/wiki/Mitglieder:Hauptseite">Mitglieder</a></div> | |||
</li> | |||
<li id="3f70b" class="mws-tree-item internal" role="treeitem"> | |||
<div><a id="3f70b-label" class="mws-tree-item-label" href="/wiki/wikiHilfe:Anleitung">wikiHilfe</a></div> | |||
</li> | |||
</ul> | |||
</div> | |||
</div> | |||
</div>`; | |||
$container.append(menuHtml); | |||
// Safety: Falls andere Skripte Expander nachträglich hinzufügen | |||
$('#home-static-menu .mws-tree-expander').remove(); | |||
// Einrückung Top-Level neutralisieren (nur in unserem Menü) | |||
mw.util.addCSS(` | |||
#home-static-menu #9a659-menu { padding-left: 0 !important; margin-left: 0 !important; } | |||
#home-static-menu #9a659-menu > li { margin-left: 0 !important; } | |||
#home-static-menu #9a659-menu > li > div { padding-left: 0 !important; margin-left: 0 !important; } | |||
#home-static-menu #9a659-menu > li .mws-tree-item-label { padding-left: 0 !important; margin-left: 0 !important; } | |||
`); | |||
} | |||
// DOM ready | |||
$(function () { | |||
injectHomeMenu(); | |||
hideSubpageTreePanel(); | |||
}); | |||
// Dynamisch nachgeladene Inhalte (Discovery, Ajax, Tabs) | |||
mw.hook('wikipage.content').add(function ($content) { | |||
injectHomeMenu($content); | |||
hideSubpageTreePanel($content); | |||
}); | |||
// Fallback, falls #sb-pri-cnt später kommt | |||
var tries = 0, max = 10; | |||
var iv = setInterval(function () { | |||
if (document.getElementById('sb-pri-cnt') || ++tries >= max) { | |||
clearInterval(iv); | |||
injectHomeMenu(); | |||
hideSubpageTreePanel(); | |||
} | |||
}, 300); | |||
})(mediaWiki, jQuery); | })(mediaWiki, jQuery); |
Version vom 4. September 2025, 07:32 Uhr
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();
}
});
});
// attachments immer in neuem Tab öffnen
(function () {
// Hilfs-Funktion, die alle neuen Attachment-Links anpasst
function updateAttachmentLinks() {
// Alle Download-Links in der Datei-Liste
$('.attachments-filelist a.oojsplus-data-gridWidget-url-button')
.attr('target','_blank')
.attr('rel','noopener noreferrer');
}
// beim Seiten-Load einmal ausführen
$(updateAttachmentLinks);
// und mit MutationObserver auf nachträglich geladene Links achten
var container = document.querySelector('.attachments-filelist');
if (container) {
new MutationObserver(function (mutations) {
updateAttachmentLinks();
}).observe(container, { childList: true, subtree: true });
}
})();
/* Nur auf der Startseite: List-Styles ausblenden */
(function (mw, $) {
'use strict';
if (mw.config.get('wgIsMainPage') && mw.config.get('wgAction') === 'view') {
mw.util.addCSS(`
#home-static-menu ul { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; }
#home-static-menu li { list-style: none !important; }
`);
mw.util.addCSS('.mw-parser-output ul, .mw-parser-output ol { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; } .mw-parser-output li { list-style: none !important; }');
}
})(mediaWiki, jQuery);
/* Startseiten-Menü: ohne Expander, #subpage-tree-pnl ausblenden, kein Einrücken unten */
(function (mw, $) {
'use strict';
function isMainView() {
return mw.config.get('wgIsMainPage') && mw.config.get('wgAction') === 'view';
}
function hideSubpageTreePanel($scope) {
if (!isMainView()) return;
// global (nur auf Startseite, weil Funktion nur hier läuft)
mw.util.addCSS('#subpage-tree-pnl{display:none!important;}');
// sofort im aktuellen/neu geladenen Bereich
($scope || $(document)).find('#subpage-tree-pnl').hide().attr('aria-hidden', 'true');
}
function injectHomeMenu($root) {
if (!isMainView()) return;
if (document.getElementById('home-static-menu')) return; // Duplikate vermeiden
var $container = ($root || $(document)).find('#sb-pri-cnt:visible').last();
if (!$container.length) return;
const menuHtml = `
<div id="home-static-menu" class="home-static-menu">
<div class="enhanced-sidebar-cnt">
<div id="9a659-pnl" class="card w-100 bg-transp tree-component test">
<div id="9a659-head" class="card-header menu-title">Themen</div>
<ul id="9a659-menu" class="mws-tree root w-100 bg-transp" role="tree" aria-labelledby="9a659-head" tabindex="0">
<li id="43568" class="mws-tree-item internal" role="treeitem">
<div><a id="43568-label" class="mws-tree-item-label" href="/wiki/Verein:Hauptseite">Verein</a></div>
</li>
<li id="12180" class="mws-tree-item internal" role="treeitem">
<div><a id="12180-label" class="mws-tree-item-label" href="/wiki/Arbeitsorganisation:Hauptseite">Arbeitsorganisation</a></div>
</li>
<li id="94668" class="mws-tree-item internal" role="treeitem">
<div><a id="94668-label" class="mws-tree-item-label" href="/wiki/Angebote:Hauptseite">Angebote</a></div>
</li>
<li id="16759" class="mws-tree-item internal" role="treeitem">
<div><a id="16759-label" class="mws-tree-item-label" href="/wiki/Gruppenarbeit:Hauptseite">Gruppenarbeit</a></div>
</li>
<li id="20ee3" class="mws-tree-item internal" role="treeitem">
<div><a id="20ee3-label" class="mws-tree-item-label" href="/wiki/Mitarbeit:Hauptseite">Mitarbeit</a></div>
</li>
<li id="d5272" class="mws-tree-item internal" role="treeitem">
<div><a id="d5272-label" class="mws-tree-item-label" href="/wiki/Kommunikation:Hauptseite">Kommunikation</a></div>
</li>
<li id="48945" class="mws-tree-item internal" role="treeitem">
<div><a id="48945-label" class="mws-tree-item-label" href="/wiki/QM:Hauptseite">QM</a></div>
</li>
<li id="27eea" class="mws-tree-item internal" role="treeitem">
<div><a id="27eea-label" class="mws-tree-item-label" href="/wiki/Mitglieder:Hauptseite">Mitglieder</a></div>
</li>
<li id="3f70b" class="mws-tree-item internal" role="treeitem">
<div><a id="3f70b-label" class="mws-tree-item-label" href="/wiki/wikiHilfe:Anleitung">wikiHilfe</a></div>
</li>
</ul>
</div>
</div>
</div>`;
$container.append(menuHtml);
// Safety: Falls andere Skripte Expander nachträglich hinzufügen
$('#home-static-menu .mws-tree-expander').remove();
// Einrückung Top-Level neutralisieren (nur in unserem Menü)
mw.util.addCSS(`
#home-static-menu #9a659-menu { padding-left: 0 !important; margin-left: 0 !important; }
#home-static-menu #9a659-menu > li { margin-left: 0 !important; }
#home-static-menu #9a659-menu > li > div { padding-left: 0 !important; margin-left: 0 !important; }
#home-static-menu #9a659-menu > li .mws-tree-item-label { padding-left: 0 !important; margin-left: 0 !important; }
`);
}
// DOM ready
$(function () {
injectHomeMenu();
hideSubpageTreePanel();
});
// Dynamisch nachgeladene Inhalte (Discovery, Ajax, Tabs)
mw.hook('wikipage.content').add(function ($content) {
injectHomeMenu($content);
hideSubpageTreePanel($content);
});
// Fallback, falls #sb-pri-cnt später kommt
var tries = 0, max = 10;
var iv = setInterval(function () {
if (document.getElementById('sb-pri-cnt') || ++tries >= max) {
clearInterval(iv);
injectHomeMenu();
hideSubpageTreePanel();
}
}, 300);
})(mediaWiki, jQuery);