User:Waldyrious/talk-indent-colors.js

From Meta, a Wikimedia project coordination 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.
// TODO: add line when two comments are added at the same level:
//       look for the string "(UTC)" and see if a new element is added afterwards
// TODO: comment the code
// execute only if on talk namespace (even namespace number)
if (wgNamespaceNumber % 2 && mw.config.get('skin')=='vector') jQuery(document).ready( function () {
  var dds = document.getElementsByTagName('dd');
  for(i=0; i<dds.length; i++) {
    if( dds[i].previousElementSibling === null ) {
      if(dds[i].firstChild.nodeType == "3" && dds[i].firstChild.data.match(/\S/)) {
        dds[i].style.borderTop = "1px solid silver";
      }
    }
    dds[i].style.borderLeft = "1px solid silver";
  }
  var dls = document.getElementsByTagName('dl');
  for(i=0; i<dls.length; i++) {
    var border = true;
    var parent = dls[i].parentElement;
    while(parent.id != "mw-content-text") {
      if (parent.nodeName == "DL") {
        border = false;
        break;
      }
      parent = parent.parentElement;
    }
    if(border)
      dls[i].style.borderRight = "1px solid silver";
    if( dls[i].nextElementSibling === null && dls[i].parentElement.nodeName != "DD" ||
        dls[i].nextElementSibling !== null && dls[i].nextElementSibling.nodeName != "DL" )
      dls[i].lastElementChild.style.borderBottom = "1px solid silver";
  }
});