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.
/**
*Makes credits closable
*/
mw.loader.using(['jquery'], function () {
$(document).on('click', '#worldbuildercredits .close-btn', function() {
$('#worldbuildercredits').hide();
});
});
/**
* Adds an AI Artwork button to the image uploader page
*/
$(function() {
if (mw.config.get('wgCanonicalSpecialPageName') === 'Upload') {
// checkbox element
var checkboxHtml = '<td class="mw-label"><label for="aiCheckbox">AI Artwork?: </label></td>'
+ '<td class="mw-input"><input type="checkbox" id="aiCheckbox"></td>';
// Insert the checkbox element after the Licensing row
$('td.mw-label label[for="wpLicense"]').closest('tr').after('<tr>' + checkboxHtml + '</tr>');
// Update the destination filename when the checkbox value changes
$('#aiCheckbox').change(function() {
var destFileInput = $('#wpDestFile');
var currentFilename = destFileInput.val();
if ($(this).prop('checked')) {
// Prepend "-ai-" if checkbox is checked
if (!currentFilename.startsWith("-ai-")) {
destFileInput.val("-ai-" + currentFilename);
}
} else {
// Remove "-ai-" prefix if checkbox is unchecked
if (currentFilename.startsWith("-ai-")) {
destFileInput.val(currentFilename.replace("-ai-", ""));
}
}
});
}
});
/**
* Adds CSS classes to the body tag based on the categories this page belongs to. Used for CR/Astral page theming.
*
* @source https://www.mediawiki.org/wiki/Snippets/Style_pages_based_on_categories
* @revision 2016-01-18
*/
(function($, mw) {
var fn = function() {
var cats = mw.config.get('wgCategories'), newClasses;
if (cats) {
newClasses = $.map(cats, function(el) {
return 'cat-' + encodeURIComponent(el.replace(/[ .]/g, '_')).replace(/%/g, '_');
}).join(' ');
$(document.body).addClass(newClasses);
}
};
if (document.body) {
fn();
} else {
$(fn);
}
})(jQuery, mw);
//Deprecated code: Used for autoplaying theme songs
//function Bebop(){
// console.log("OK 3 2 1 Let's Jam");
// var x = document.getElementById("myaudio");
// x.play();
//}
//
//setTimeout(Bebop, 2000);
// START HOTCAT
/*
This imports the latest version of HotCat from Commons.
HotCat is a gadget to make changes to categories much easier.
Full documentation can be found at http://commons.wikimedia.org/wiki/Help:Gadget-HotCat
*/
window.hotcat_translations_from_commons = true;
mw.loader.load( 'https://commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-HotCat.js&action=raw&ctype=text/javascript' );
// END HOTCAT
//Watermark AI Image
//Images can be renamed to have "-ai-" anywhere in their name and automatically get a watermark
$(document).ready(function() {
// Define the watermark image URL
var watermarkURL = 'https://quelmarwiki.com/wiki/images/b/b8/Aiwatermark.png';
// Loop through images on the page
$('img').each(function() {
var img = $(this); // Reference to the current img tag in the loop
var src = img.attr('src'); // Get the src attribute
// Check if image name contains '-ai'
if (src.includes('-ai')) {
// Create a div to contain the image and its watermark
var container = $('<div>').css({
'position': 'relative',
'display': 'inline-block',
'overflow': 'hidden',
'width': img.width(),
'height': img.height,
'pointer-events': 'none'
});
//Generate the watermark
var watermark = $('<img>').attr('src', watermarkURL).css({
'position': 'absolute',
'bottom': '0',
'right': '0',
'max-width': '20%', // Adjust size if needed
'max-height': '20%', // Adjust size if needed
'pointer-events': 'none', // Ensure it doesn't interfere with any interactions
'opacity': '0.5' // Adjust opacity if needed
});
// Insert the container before the original image, then move the original image and watermark inside the container
img.before(container).appendTo(container);
container.append(watermark);
}
});
});
/*
If URL hash component's target has any collapsed ancestor(s), expands them
(Propogation is stopped by '.disable-hash-expand' on target or on any ancestor)
*/
$(function() {
// Grab the hash (“#foo”) if any
var hash = window.location.hash;
if (!hash) {
return;
}
// Decode “#foo” → “foo”, bail out if it’s invalid
var id;
try {
id = decodeURIComponent(hash.substring(1));
} catch (e) {
return;
}
// Find the element by ID
var target = document.getElementById(id);
if (!target) {
return;
}
// Kick off expansion on the next tick
setTimeout(function() {
expandAncestors(target);
}, 0);
function expandAncestors(el) {
var current = el;
while (current) {
// stop if author opted out
if (current.classList.contains('disable-hash-expand')) {
break;
}
// expand any collapsed MediaWiki collapsibles
if (
current.classList.contains('mw-collapsible') &&
current.classList.contains('mw-collapsed')
) {
var btn = current.querySelector('.mw-collapsible-toggle');
if (btn) {
btn.click();
}
}
current = current.parentElement;
}
// after a short delay, scroll the target into view
setTimeout(function() {
if (typeof el.scrollIntoView === 'function') {
el.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
}, 200);
}
});
