MediaWiki:Common.js
Appearance
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)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
mw.loader.using( 'jquery' ).then( function () {
$( function() { // Document ready shorthand
var classList = document.documentElement.classList;
var appliedTheme = false; // Flag to track if we made changes
// --- Force Dark Mode ---
// Remove potentially conflicting light mode classes
if (classList.contains('vector-theme-light')) {
classList.remove('vector-theme-light');
appliedTheme = true;
}
if (classList.contains('vector-feature-night-mode-disabled')) {
classList.remove('vector-feature-night-mode-disabled');
appliedTheme = true;
}
if (classList.contains('skin-theme-clientpref-day')) {
classList.remove('skin-theme-clientpref-day');
appliedTheme = true;
}
// Add required dark mode classes if not already present
if (!classList.contains('vector-theme-dark')) {
classList.add('vector-theme-dark');
appliedTheme = true;
}
// Hypothesis: Need to add the 'enabled' and 'night' counterparts
if (!classList.contains('vector-feature-night-mode-enabled')) {
classList.add('vector-feature-night-mode-enabled');
appliedTheme = true;
}
if (!classList.contains('skin-theme-clientpref-night')) {
classList.add('skin-theme-clientpref-night');
appliedTheme = true;
}
// --- End Force Dark Mode ---
if (appliedTheme) {
console.log( 'Attempted to force dark theme classes via Common.js' );
} else {
console.log( 'Dark theme classes may have already been present; no changes made by Common.js script.' );
}
} );
} );
// --- Start: Random Background Image ---
var randomBackgrounds = [
'https://cdnb.artstation.com/p/assets/images/images/067/057/459/large/jordan-grimmer-thhfgh.jpg',
'https://cdna.artstation.com/p/assets/images/images/080/057/226/large/jordan-grimmer-jordan-grimmer-fdoigjhfdigdg.jpg',
'https://cdnb.artstation.com/p/assets/images/images/046/925/487/large/johannes-bohm-bh-scr-annouce-batch1-redlight-3840x2160px-copy.jpg'
];
// Choose a random index from the array
var randomIndex = Math.floor(Math.random() * randomBackgrounds.length);
var chosenImageUrl = randomBackgrounds[randomIndex];
// Apply the chosen image to the <body> background
if (chosenImageUrl) {
document.body.style.backgroundImage = 'url("' + chosenImageUrl + '")';
// --- Optional: Add styles for better background appearance ---
document.body.style.backgroundSize = 'cover'; // Stretches/shrinks image to cover the whole background
document.body.style.backgroundRepeat = 'no-repeat'; // Prevents the image from tiling
document.body.style.backgroundPosition = 'center center'; // Centers the image
document.body.style.backgroundAttachment = 'fixed'; // Makes the background stay fixed when scrolling (remove if you don't like this effect)
// --- End Optional Styles ---
// Log to console for debugging (visible in browser's F12 tools)
console.log('Set random background:', chosenImageUrl);
}
// --- End: Random Background Image ---