MediaWiki:Common.js: Unterschied zwischen den Versionen
Aus Wikikama
Keine Bearbeitungszusammenfassung Markierung: Manuelle Zurücksetzung |
Keine Bearbeitungszusammenfassung |
||
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
/* Das folgende JavaScript wird für alle Benutzer geladen. */ | /* Das folgende JavaScript wird für alle Benutzer geladen. */ | ||
// Support-Banner anzeigen, falls noch nicht geschlossen | |||
$(function () { | $(function () { | ||
if (mw.config.get('wgNamespaceNumber') >= 0) { | |||
if (!sessionStorage.getItem('supportBannerClosed')) { | |||
const bannerHTML = ` | |||
<div id="support-banner" style="display: none;"> | |||
<button id="support-banner-close" aria-label="Banner schließen" title="Schließen">✖</button> | |||
<div class="sb-text">❤️ WIKIKAMA und Mimikama sind unabhängig und werbefrei – hilf mit, das möglich zu machen!</div> | |||
<a class="sb-link" href="/index.php/Unterstützen" target="_blank" rel="noopener">Jetzt unterstützen!</a> | |||
</div> | |||
`; | |||
$('body').append(bannerHTML); | |||
$('#support-banner').fadeIn(400); | |||
$('body').css('padding-bottom', '120px'); | |||
$('#support-banner-close').on('click', function () { | |||
$('#support-banner').fadeOut(300, function () { | |||
$(this).remove(); | |||
}); | |||
sessionStorage.setItem('supportBannerClosed', 'true'); | |||
$('body').css('padding-bottom', '0'); | |||
}); | |||
} | |||
} | |||
}); | }); | ||
// === Meta-Tags in den <head> einfügen === | // === Meta-Tags in den <head> einfügen === | ||
$(function() { | $(function() { | ||
var og = ''; | |||
og += '<meta property="og:title" content="' + mw.config.get('wgTitle') + ' – Wikikama" />'; | |||
og += '<meta property="og:description" content="' + $('p').first().text().substr(0, 150) + '…" />'; | |||
og += '<meta property="og:image" content="https://www.wikikama.org/images/default-og-image.png" />'; | |||
$('head').append( og ); | |||
}); | |||
// === ShareButtons === | |||
$(document).ready(function() { | |||
var shareBox = ` | |||
<div class="a2a_kit a2a_kit_size_32 a2a_default_style wikikama-sharebox" style="margin-top: 40px; font-family: Arial, sans-serif;"> | |||
<strong style="display:block; margin-bottom: 10px;">🔗 Teile diesen Artikel:</strong> | |||
<a class="a2a_button_facebook" title="Teilen auf Facebook"></a> | |||
<a class="a2a_button_mastodon" title="Teilen auf Threads" href="#"></a> | |||
<a class="a2a_button_x" title="Teilen auf X (Twitter)"></a> | |||
<a class="a2a_button_telegram" title="Teilen auf Telegram"></a> | |||
<a class="a2a_button_whatsapp" title="Teilen auf WhatsApp"></a> | |||
<a class="a2a_button_linkedin" title="Teilen auf LinkedIn"></a> | |||
<a class="a2a_button_reddit" title="Teilen auf Reddit"></a> | |||
<a class="a2a_button_email" title="Teilen per E-Mail"></a> | |||
<div style="clear: both;"></div> | |||
</div> | |||
<script async src="https://static.addtoany.com/menu/page.js"></script> | |||
`; | |||
if (mw.config.get("wgNamespaceNumber") === 0) { | |||
$(".mw-parser-output").append(shareBox); | |||
$(".a2a_button_mastodon").attr( | |||
"href", | |||
"https://threads.net/share?text=" + | |||
encodeURIComponent(document.title) + | |||
"&url=" + | |||
encodeURIComponent(window.location.href) | |||
); | |||
} | |||
}); | |||
/* ──────────────────────────────────────────────────────────────────────────── */ | |||
/* Dieser Block hängt bei eingeloggten Nutzer:innen die Klasse "logged-in" */ | |||
/* an den <body>, damit unsere CSS-Regeln (siehe Common.css) das Menü ein- */ | |||
/* bzw. ausblenden können. */ | |||
/* ──────────────────────────────────────────────────────────────────────────── */ | |||
$(function() { | |||
// mw.user.isAnon() ist false, sobald ein Konto angemeldet ist | |||
if (!mw.user.isAnon()) { | |||
document.body.classList.add('logged-in'); | |||
} | |||
// Optional: Wenn jemand anonym ist, könnt ihr auch body.classList.add('anon') hinzufügen | |||
}); | }); |
Aktuelle Version vom 2. Juni 2025, 10:34 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */
// Support-Banner anzeigen, falls noch nicht geschlossen
$(function () {
if (mw.config.get('wgNamespaceNumber') >= 0) {
if (!sessionStorage.getItem('supportBannerClosed')) {
const bannerHTML = `
<div id="support-banner" style="display: none;">
<button id="support-banner-close" aria-label="Banner schließen" title="Schließen">✖</button>
<div class="sb-text">❤️ WIKIKAMA und Mimikama sind unabhängig und werbefrei – hilf mit, das möglich zu machen!</div>
<a class="sb-link" href="/index.php/Unterstützen" target="_blank" rel="noopener">Jetzt unterstützen!</a>
</div>
`;
$('body').append(bannerHTML);
$('#support-banner').fadeIn(400);
$('body').css('padding-bottom', '120px');
$('#support-banner-close').on('click', function () {
$('#support-banner').fadeOut(300, function () {
$(this).remove();
});
sessionStorage.setItem('supportBannerClosed', 'true');
$('body').css('padding-bottom', '0');
});
}
}
});
// === Meta-Tags in den <head> einfügen ===
$(function() {
var og = '';
og += '<meta property="og:title" content="' + mw.config.get('wgTitle') + ' – Wikikama" />';
og += '<meta property="og:description" content="' + $('p').first().text().substr(0, 150) + '…" />';
og += '<meta property="og:image" content="https://www.wikikama.org/images/default-og-image.png" />';
$('head').append( og );
});
// === ShareButtons ===
$(document).ready(function() {
var shareBox = `
<div class="a2a_kit a2a_kit_size_32 a2a_default_style wikikama-sharebox" style="margin-top: 40px; font-family: Arial, sans-serif;">
<strong style="display:block; margin-bottom: 10px;">🔗 Teile diesen Artikel:</strong>
<a class="a2a_button_facebook" title="Teilen auf Facebook"></a>
<a class="a2a_button_mastodon" title="Teilen auf Threads" href="#"></a>
<a class="a2a_button_x" title="Teilen auf X (Twitter)"></a>
<a class="a2a_button_telegram" title="Teilen auf Telegram"></a>
<a class="a2a_button_whatsapp" title="Teilen auf WhatsApp"></a>
<a class="a2a_button_linkedin" title="Teilen auf LinkedIn"></a>
<a class="a2a_button_reddit" title="Teilen auf Reddit"></a>
<a class="a2a_button_email" title="Teilen per E-Mail"></a>
<div style="clear: both;"></div>
</div>
<script async src="https://static.addtoany.com/menu/page.js"></script>
`;
if (mw.config.get("wgNamespaceNumber") === 0) {
$(".mw-parser-output").append(shareBox);
$(".a2a_button_mastodon").attr(
"href",
"https://threads.net/share?text=" +
encodeURIComponent(document.title) +
"&url=" +
encodeURIComponent(window.location.href)
);
}
});
/* ──────────────────────────────────────────────────────────────────────────── */
/* Dieser Block hängt bei eingeloggten Nutzer:innen die Klasse "logged-in" */
/* an den <body>, damit unsere CSS-Regeln (siehe Common.css) das Menü ein- */
/* bzw. ausblenden können. */
/* ──────────────────────────────────────────────────────────────────────────── */
$(function() {
// mw.user.isAnon() ist false, sobald ein Konto angemeldet ist
if (!mw.user.isAnon()) {
document.body.classList.add('logged-in');
}
// Optional: Wenn jemand anonym ist, könnt ihr auch body.classList.add('anon') hinzufügen
});