Open main menu

UESPWiki β

User:Damon/common.js

< User:Damon

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.
// <pre><nowiki>

mw.loader.load( '/w/index.php?title=User:Jak_Atackka/namegenerator.js&action=raw&ctype=text/javascript' );
mw.loader.load( '/w/index.php?title=User:Daric_Gaersmith/TES_Fan_Fiction_Collection/promptgenerator.js&action=raw&ctype=text/javascript' );

function ModifySidebar(action, section, name, link, sub1name, sub1link, sub2name, sub2link, 
                       sub3name, sub3link, sub4name, sub4link, sub5name, sub5link) {
    try {
        switch (section) {
          case "languages":
            var target = "p-lang";
            break;
          case "toolbox":
            var target = "p-tb";
            break;
          case "navigation":
            var target = "p-navigation";
            break;
          default:
            var target = "p-" + section;
            break;
        }
 
        if (action == "add") {
            var node = document.getElementById(target)
                               .getElementsByTagName('div')[0]
                               .getElementsByTagName('ul')[0];
 
            var aNode = document.createElement('a');
            var liNode = document.createElement('li');
            var ulSub = document.createElement('ul');
 
            var a1Node = document.createElement('a');
            var li1Node = document.createElement('li');
            var a2Node = document.createElement('a');
            var li2Node = document.createElement('li');
            var a3Node = document.createElement('a');
            var li3Node = document.createElement('li');
            var a4Node = document.createElement('a');
            var li4Node = document.createElement('li');
            var a5Node = document.createElement('a');
            var li5Node = document.createElement('li');

            aNode.appendChild(document.createTextNode(name));
            aNode.setAttribute('href', link);
            liNode.appendChild(aNode);
            liNode.className='plainlinks';

            if (!((sub1name === undefined) && (sub1link === undefined))) {
            a1Node.appendChild(document.createTextNode(sub1name));
            a1Node.setAttribute('href', sub1link);
            li1Node.appendChild(a1Node);
            li1Node.className='plainlinks';
            ulSub.appendChild(li1Node);

            if (!((sub2name === undefined) && (sub2link === undefined))) {
            a2Node.appendChild(document.createTextNode(sub2name));
            a2Node.setAttribute('href', sub2link);
            li2Node.appendChild(a2Node);
            li2Node.className='plainlinks';
            ulSub.appendChild(li2Node);

            if (!((sub3name === undefined) && (sub3link === undefined))) {
            a3Node.appendChild(document.createTextNode(sub3name));
            a3Node.setAttribute('href', sub3link);
            li3Node.appendChild(a3Node);
            li3Node.className='plainlinks';
            ulSub.appendChild(li3Node);

            if (!((sub4name === undefined) && (sub4link === undefined))) {
            a4Node.appendChild(document.createTextNode(sub4name));
            a4Node.setAttribute('href', sub4link);
            li4Node.appendChild(a4Node);
            li4Node.className='plainlinks';
            ulSub.appendChild(li4Node);

            if (!((sub5name === undefined) && (sub5link === undefined))) {
            a5Node.appendChild(document.createTextNode(sub5name));
            a5Node.setAttribute('href', sub5link);
            li5Node.appendChild(a5Node);
            li5Node.className='plainlinks';
            ulSub.appendChild(li5Node);
            }
            }
            }
            }
            liNode.appendChild(ulSub);
            }

            node.appendChild(liNode);
        }
 
        if (action == "remove") {
            var list = document.getElementById(target)
                               .getElementsByTagName('div')[0]
                               .getElementsByTagName('ul')[0];
 
            var listelements = list.getElementsByTagName('li');
 
            for (var i = 0; i < listelements.length; i++) {
                if (listelements[i].getElementsByTagName('a')[0].innerHTML == name ||
                    listelements[i].getElementsByTagName('a')[0].href == link) {
 
                    list.removeChild(listelements[i]);
                }
            }
        }
 
        if (action == "clear") {
            var list = document.getElementById(target)
                               .getElementsByTagName('div')[0]
                               .getElementsByTagName('ul')[0];
 
            var listelements = list.childNodes;
             for (var i = list.childNodes.length-1; i>=0; i--) {
                list.removeChild(list.childNodes[i]);
            }
        }

    } catch(e) {
      // lets just ignore what's happened
      return;
    }
}
function CustomizeModificationsOfSidebar() {
//general
    ModifySidebar("remove", "general", "How to Contribute");
    ModifySidebar("remove", "general", "Help Files");
    ModifySidebar("remove", "general", "View Mobile Version");

//sections
    ModifySidebar("clear", "sections");
    ModifySidebar("add",   "sections",  "Lore",                "http://www.uesp.net/wiki/Lore:Main_Page");
    ModifySidebar("add",   "sections",  "Books",               "http://www.uesp.net/wiki/Books:Books");
    ModifySidebar("add",   "sections",  "Blades","http://www.uesp.net/wiki/Blades:Blades");
    ModifySidebar("add",   "sections",  "Skyrim",              "http://www.uesp.net/wiki/Skyrim:Skyrim");
    ModifySidebar("add",   "sections",  "Oblivion",            "http://www.uesp.net/wiki/Oblivion:Oblivion",
                                        "Knights of the Nine", "http://www.uesp.net/wiki/Oblivion:Knights_of_the_Nine",
                                        "Shivering Isles",     "http://www.uesp.net/wiki/Shivering:Shivering_Isles",
                                        "Official Plugins",    "http://www.uesp.net/wiki/Oblivion:Official_Plug-ins");
    ModifySidebar("add",   "sections",  "Morrowind",           "http://www.uesp.net/wiki/Morrowind:Morrowind",
                                        "Tribunal",            "http://www.uesp.net/wiki/Tribunal:Tribunal",
                                        "Bloodmoon",           "http://www.uesp.net/wiki/Bloodmoon:Bloodmoon",
                                        "Tamriel Rebuilt",     "http://uesp.net/wiki/Tes3Mod:Tamriel_Rebuilt",
                                        "Official Plugins",    "http://www.uesp.net/wiki/Morrowind:Official_Plug-ins");
   ModifySidebar("add",   "sections",   "Daggerfall",          "http://www.uesp.net/wiki/Daggerfall:Daggerfall");

//community
    ModifySidebar("clear", "community");
    ModifySidebar ("add", "community", "Admin Noticeboard", "http://www.uesp.net/wiki/UESPWiki:Administrator_Noticeboard");
    ModifySidebar ("add", "community", "Community Portal", "http://www.uesp.net/wiki/UESPWiki:Community_Portal");
    ModifySidebar ("add", "community", "Social Networking", "http://www.uesp.net/wiki/UESPWiki:Social_Media_Pages");
    ModifySidebar ("add", "community", "Webchat", "http://www.uesp.net/wiki/Special:Webchat");
    ModifySidebar ("add", "community", "Blog", "http://blog.uesp.net");
    ModifySidebar ("add", "community", "Forum", "http://forums.uesp.net");
}
$(CustomizeModificationsOfSidebar);

function addSidebar (section, name, link, accesskey) {
  var target = "p-" + section;
  var node = document.getElementById(target)
                               .getElementsByTagName('div')[0]
                               .getElementsByTagName('ul')[0];

  var aNode = document.createElement('a');
  var liNode = document.createElement('li');

  aNode.appendChild(document.createTextNode(name));
  aNode.setAttribute('href', link);
  liNode.appendChild(aNode);
  liNode.className='plainlinks';
  if (accesskey) {
    aNode.setAttribute("accesskey", accesskey);
  }
  node.appendChild(liNode);
}

function mySideBar() {
  addSidebar("general", "CSList Doc", "http://www.uesp.net/wiki/UESPWiki:CSList");
  addSidebar("general", "CSList Data", "http://cs.uesp.net");
}

$(mySideBar);

// </nowiki></pre>