MediaWiki:Common.js
From Luminys WIKI
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
// 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() {
$('body').append('<div class="image-popup-overlay"><img class="image-popup" src="" alt="Image"></div>');
$('.image-popup-overlay').click(function() {
$(this).hide();
});
$('a.image').click(function(event) {
event.preventDefault();
var src = $(this).find('img').attr('src');
$('.image-popup').attr('src', src);
$('.image-popup-overlay').show();
});
});
