MediaWiki:Common.js: Difference between revisions
From Luminys WIKI
Techsupport (talk | contribs) No edit summary Tag: Reverted |
Techsupport (talk | contribs) No edit summary Tag: Reverted |
||
| Line 102: | Line 102: | ||
}); | }); | ||
}); | }); | ||
| Line 108: | Line 111: | ||
$(document).ready(function () { | $(document).ready(function () { | ||
// Append the popup container to the body | // Append the popup container to the body | ||
$('body').append('<div class="image-popup-overlay"><span class="close">×</span><img src="" /></div>'); | if (!$('.image-popup-overlay').length) { | ||
$('body').append('<div class="image-popup-overlay"><span class="close">×</span><img src="" /></div>'); | |||
} | |||
// Click event to open | // Click event to open images in a popup | ||
$('body').on('click', 'a.image', function (e) { | $('body').on('click', 'a.image, a[href*="/File:"]', function (e) { | ||
e.preventDefault(); | e.preventDefault(); | ||
var imgSrc = $(this).attr(' | |||
// Check if the link contains an image file | |||
var imgSrc = $(this).find('img').attr('src'); | |||
if (!imgSrc) return; | |||
// Fix URL to get full-size image | |||
imgSrc = imgSrc.replace(/thumb\//, '').replace(/\/\d+px-.+$/, ''); | |||
$('.image-popup-overlay img').attr('src', imgSrc); | $('.image-popup-overlay img').attr('src', imgSrc); | ||
$('.image-popup-overlay').fadeIn(); | $('.image-popup-overlay').fadeIn(); | ||
Revision as of 10:49, 7 March 2025
// http://mediawiki.i.donnie.fun:8085/MediaWiki:Common.js
/* Any JavaScript here will be loaded for all users on every page load. */
let setBreadcrumbs = function(){
var pathname = document.location.pathname;
if(pathname == '/Main_Page') pathname = '/';
if(pathname == '/index.php') pathname = '/';
if(pathname != '/'){
var paths = pathname.replace(/^\//,'').split("/"); var breads = [`<a href="/">Home</a>`];
for(var pathI = 0; pathI < paths.length; pathI++){
var p = paths[pathI]; var pName = p.replace(/_/g, ' ').replace(/\%26/g,'&');
var pUrl = paths.slice(0,pathI+1).join("/");
if(pathI < paths.length -1 ) breads.push(`<a href="/${pUrl}">${pName}</a>`)
else if(pName) breads.push(pName)
}
$("#mw-content").prepend(`<div style="margin: -36px 20px 0 0; ">${breads.join(" > ")}</div>`);
}
}
let getCookie = function(name) {
let cookie = {};
document.cookie.split(';').forEach(function(el) {
let split = el.split('=');
cookie[split[0].trim()] = split.slice(1).join("=");
})
return cookie[name];
}
let Run = function(){
let title = $("#firstHeading").text()
/* if(title == "Main Page") title = "Luminys Knowledge Base (Wiki)"
if(title.indexOf('/') >= 0) title = title.replace("/", "<br/>") */
/* $("#mw-header-container").prepend("<div id='mw-header-lm-title'><div>"+title+"</div></div>") */
$("#mw-header-container").prepend(`
<div style="background:white;position: absolute;top: 0;width: 100%;" class="lm-wiki-header">
<div style="display:flex; flex-direction:row; align-content: center; align-items:baseline;align-self: center; margin: 0 auto; width: 1280px">
<!--<div style="width:14em;"></div>-->
<a href="/" style="height:66px;margin-right:10px"><img src="https://blog.luminyscorp.com/content/images/2024/07/luminys-logo-1.png" style="height:26px;margin:20px 20px 20px 0;" alt="Luminys Logo"> </a>
<div class="">
<!--<div class="hidden md:block ml-6 font-medium w-full lg:flex lg:w-auto ">
<ul id="lm-header">
<li><a href='/Main_Page'>Home</a></li>
<li><a href="/Main_Page#How-to_Instructions">Instructions</a></li>
<li><a href="/Main_Page#Data_Sheets_&_Downloads">Datasheets & Downloads</a></li>
<li><a href="/Main_Page#How-to_Videos">Videos</a></li>
</ul>
</div>-->
</div>
</div>
</div>
`);
if(window.mediaWiki && window.mediaWiki.user && window.mediaWiki.user.getName){
//let logined = getCookie('my_wikiUserID');
let logined = !!window.mediaWiki.user.getName()
if(logined){
$("#mw-page-header-links ").show();
$("#mw-site-navigation ").show();
$("#mw-related-navigation").show();
}
}
/*
if($(".lm-banner img").length > 0){
var bannerSrc = $(".lm-banner img").attr('src');
if(!bannerSrc) bannerSrc = "/images/2/27/LuminysMainPageBanner2.png";
$("#mw-header-container").css("background", "url("+ bannerSrc +")").
css("background-size", "cover").css('background-repeat', 'no-repeat').
css('background-position','top 66px right 0')
}
*/
}
$(function () {
Run();
setBreadcrumbs();
});
/* Inserts Back to Top button toward the bottom right of the pages on each page */
$(document).ready(function () {
// Define the wikitext to render, including "Back to Top" text below the image
var backToTopWikitext = '[[File:Back_to_Top.png|60px|link=#top|]]<div style="text-align: center; font-size: 12px;">Back to Top</div>';
// Use the MediaWiki API to parse the wikitext into HTML
new mw.Api().post({
action: 'parse',
text: backToTopWikitext,
contentmodel: 'wikitext',
format: 'json'
}).done(function (data) {
// Extract the rendered HTML
var renderedHTML = data.parse.text['*'];
// Append the rendered HTML to the end of the content area
$('#mw-content-text').append('<div style="float: right;">' + renderedHTML + '</div>');
}).fail(function () {
console.error('Failed to parse wikitext');
});
});
$(document).ready(function () {
// Append the popup container to the body
if (!$('.image-popup-overlay').length) {
$('body').append('<div class="image-popup-overlay"><span class="close">×</span><img src="" /></div>');
}
// Click event to open images in a popup
$('body').on('click', 'a.image, a[href*="/File:"]', function (e) {
e.preventDefault();
// Check if the link contains an image file
var imgSrc = $(this).find('img').attr('src');
if (!imgSrc) return;
// Fix URL to get full-size image
imgSrc = imgSrc.replace(/thumb\//, '').replace(/\/\d+px-.+$/, '');
$('.image-popup-overlay img').attr('src', imgSrc);
$('.image-popup-overlay').fadeIn();
});
// Close button click event
$('.image-popup-overlay .close').click(function () {
$('.image-popup-overlay').fadeOut();
});
// Click outside the image to close popup
$('.image-popup-overlay').click(function (e) {
if (e.target !== this) return;
$(this).fadeOut();
});
});
