MediaWiki:Common.js

From Taskman Wiki
Revision as of 11:56, 16 May 2020 by Annilys (talk | contribs) (i think this code should be classified as a war crime)
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.
$().ready(function() {
  // Replace linkline spans with individual links
  $("span.mw-linkline").each(function(index) {
    $(this).html($(this).html().replace(/(.+?)(<br>|$)/g, '<a class="external text" href="' + $(this).data("format") + '">$1</a>$2'));
  });

  //Things like IDs in infoboxes should be linklined but also put in an (invisible) table for compression
  $("span.mw-multicol-linkline").each(function(index) {
    var format = $(this).data("format");
    var cols = $(this).data("columns");
    var rows = Math.ceil(($(this).html().match(/(.+?)<br>/g).length + 1) / cols);
    var table = "<table>";
    for (var i = 0; i < rows; i++) {
      table += "<tr>";
      for (var j = 0; j < cols; j++) {
        table += "<td>";
        if (i == rows - 1 && j == cols - 1) {
          table += format ? '<a class="external text" href="' + format.replace("$1", $(this).html().match(/<br>(.+?)$/g)[0])+ '">TEST</a>' : $(this).html().match(/<br>(.+?)$/g)[0];
        } else {
          table += format ? '<a class="external text" href="' + format.replace("$1", $(this).html().match(/(.+?)<br>/g)[cols*i+j])+ '">TEST</a>' : $(this).html().match(/(.+?)<br>/g)[cols*i+j];
        }
        table += "</td>";
      }
      table += "</tr>";
    }
    $(this).html(table + "</table>");
  });
});