MediaWiki:Common.js

From Female Submission Wrestling Encyclopedia
Revision as of 18:05, 23 May 2025 by Zweig (talk | contribs)
Jump to navigation Jump to search

Note: After saving, 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: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* Any JavaScript here will be loaded for all users on every page load. */

mw.loader.using('jquery').then(function() {
  // Load Lightbox2 CSS
  var link = document.createElement('link');
  link.rel = 'stylesheet';
  link.href = '/w/resources/lightbox2/lightbox.css'; // or .min.css
  document.head.appendChild(link);

  // Load Lightbox2 JS
  var script = document.createElement('script');
  script.src = '/w/resources/lightbox2/lightbox.min.js';
script.onload = function () {
  if (window.lightbox) {
    lightbox.option({
      fadeDuration: 200,
      resizeDuration: 200,
      wrapAround: true
    });

    // Force recalculation of layout after delay
    setTimeout(function() {
      var event = new Event("resize");
      window.dispatchEvent(event);
    }, 300);
  }
};
  document.body.appendChild(script);
});

mw.hook('wikipage.content').add(function($content) {
  $content.find('.gallerybox a.image').each(function() {
    var $link = $(this);
    var fileUrl = $link.find('img').attr('src').replace(/thumb\//, '').replace(/\/[^\/]+$/, '');
    $link.attr('href', fileUrl);
    $link.attr('data-lightbox', 'gallery');

    var caption = $link.closest('.gallerybox').find('.gallerytext').text().trim();
    if (caption) {
      caption += "<br><span style='display:block;margin-top:5px;font-size:9px;font-decoration:none;font-weight:normal;color:#ccc;'>[press ESC or click out to exit, use arrow keys to browse]</span>";
      $link.attr('data-title', caption);
    }
  });
});

mw.hook('wikipage.content').add(function($content) {
  $content.find('.infobox a.image').each(function() {
    var $link = $(this);
    var $img = $link.find('img');
    if (!$img.length) return;

    var src = $img.attr('src');

    // Convert thumb path to full image path
    var fileUrl = src
      .replace(/\/thumb\//, '/')
      .replace(/\/\d+px-[^\/]+$/, '');  // removes /220px-filename.jpg

    $link.attr('href', fileUrl);
    $link.attr('data-lightbox', 'infobox');

    var caption = $link.attr('title') || $img.attr('alt') || '';
    if (caption) {
      caption += "<br><div class="lightbox-instructions">click outside or press ESC to close</div>";
      $link.attr('data-title', caption);
    }
  });
});