MediaWiki:Monobook.js: Difference between revisions

m
no edit summary
(teh Splarks told meh to.)
mNo edit summary
 
(156 intermediate revisions by 7 users not shown)
Line 1: Line 1:
/* <pre><nowiki> */
/* Any JavaScript here will be loaded for users using the MonoBook skin */


/* tooltips and access keys */
/* MONOBOOK SIDEBAR v2.3 */
ta = new Object();
window.wgSidebar = ( window.wgSidebar || {} );
ta['pt-userpage'] = new Array('.','My user page');
 
ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as');
wgSidebar["Navigation"] = [
ta['pt-mytalk'] = new Array('n','My talk page');
"Special:RecentChanges|Recent changes",
ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address');
"Special:Random|Random page",
ta['pt-preferences'] = new Array('','My preferences');
];
ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.');
 
ta['pt-mycontris'] = new Array('y','List of my contributions');
wgSidebar["Games"] = [
ta['pt-login'] = new Array('o','You are encouraged to log in, it is not mandatory however.');
{"Category:Video games|Original trilogy": [
ta['pt-anonlogin'] = new Array('o','You are encouraged to log in, it is not mandatory however.');
"Halo: Combat Evolved",
ta['pt-logout'] = new Array('o','Log out');
"Halo: Combat Evolved Anniversary",
ta['ca-talk'] = new Array('t','Discussion about the content page');
"Halo 2",
ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.');
"Halo 2: Anniversary",
ta['ca-addsection'] = new Array('+','Add a comment to this discussion.');
"Halo 3",
ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.');
]},
ta['ca-history'] = new Array('h','Past versions of this page.');
{"Category:Video games|Mainline 343i games": [
ta['ca-protect'] = new Array('=','Protect this page');
"Halo 4",
ta['ca-delete'] = new Array('d','Delete this page');
"Halo 5: Guardians",
ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted');
"Halo Infinite",
ta['ca-move'] = new Array('m','Move this page');
]},
ta['ca-watch'] = new Array('w','Add this page to your watchlist');
{"Category:Video games|Halo: Spartan series": [
ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist');
"Halo: Spartan Assault",
ta['search'] = new Array('f','Search this wiki');
"Halo: Spartan Strike",
ta['p-logo'] = new Array('','Main Page');
]},
ta['n-mainpage'] = new Array('z','Visit the Main Page');
{"Category:Video games|Halo Wars series": [
ta['n-portal'] = new Array('','About the project, what you can do, where to find things');
"Halo Wars",
ta['n-currentevents'] = new Array('','Find background information on current events');
"Halo Wars 2",
ta['n-recentchanges'] = new Array('r','The list of recent changes in the wiki.');
]},
ta['n-randompage'] = new Array('x','Load a random page');
{"Category:Video games|Other games": [
ta['n-help'] = new Array('','The place to find out.');
"Halo 3: ODST",
ta['n-sitesupport'] = new Array('','Support us');
"Halo: Reach",
ta['t-whatlinkshere'] = new Array('j','List of all wiki pages that link here');
"Halo: Fireteam Raven",
ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page');
]},
ta['feed-rss'] = new Array('','RSS feed for this page');
{"Category:Video games|Ports and expansions": [
ta['feed-atom'] = new Array('','Atom feed for this page');
"Halo: Combat Evolved (PC port)|Halo PC",
ta['t-contributions'] = new Array('','View the list of contributions of this user');
"Halo Custom Edition",
ta['t-emailuser'] = new Array('','Send a mail to this user');
"Halo 2 Multiplayer Map Pack",
ta['t-upload'] = new Array('u','Upload images or media files');
"Halo 2 (Windows Vista)|Halo 2 Vista",
ta['t-specialpages'] = new Array('q','List of all special pages');
"Halo 3 Mythic",
ta['ca-nstab-main'] = new Array('c','View the content page');
"Halo: The Master Chief Collection",
ta['ca-nstab-user'] = new Array('c','View the user page');
"Halo 5: Forge",
ta['ca-nstab-media'] = new Array('c','View the media page');
]},
ta['ca-nstab-special'] = new Array('','This is a special page, you can\'t edit the page itself.');
{"Category:Applications|Applications": [
ta['ca-nstab-project'] = new Array('a','View the project page');
"Halo Waypoint|Halo Waypoint",
ta['ca-nstab-image'] = new Array('c','View the image page');
"Halo 4: King of the Hill Fueled by Mountain Dew|Halo 4: King of the Hill",
ta['ca-nstab-mediawiki'] = new Array('c','View the system message');
"Halo Channel",
ta['ca-nstab-template'] = new Array('c','View the template');
"Halo (Windows 10 app)|Halo app",
ta['ca-nstab-help'] = new Array('c','View the help page');
"Halo Stickers",
ta['ca-nstab-category'] = new Array('c','View the category page');
"Halo Recruit",
]},
{"Category:Tabletop games|Table top": [
{"Category:Tabletop games|Spartan Games": [
"Halo: Fleet Battles",
"Halo: Ground Command",
]},
"Halo 4: King of the Hill Fueled by Mountain Dew|Halo 4: King of the Hill",
"Halo Interactive Strategy Game",
"Risk|Halo Risk",
"Monopoly: Halo Collector's Edition|Halo Monopoly",
]},
{"Category:Deleted material|Canceled projects": [
"Halo: Chronicles",
"Titan (canceled game)|Titan",
"Haggar",
"Halo Online",
"Halo: Starfighter",
]},
];
 
wgSidebar["Other media"] = [
{"Halo novels|Novels": [
{"The Original Series": [
"Halo: The Fall of Reach|The Fall of Reach",
"Halo: The Flood|The Flood",
"Halo: First Strike|First Strike",
"Halo: Ghosts of Onyx|Ghosts of Onyx",
]},
{"The Forerunner Saga": [
"Halo: Cryptum|Cryptum",
"Halo: Primordium|Primordium",
{"Halo: Silentium|Silentium": [
"Rebirth",
]},
]},
{"Kilo-Five Trilogy": [
"Halo: Glasslands|Glasslands",
"Halo: The Thursday War|The Thursday War",
"Halo: Mortal Dictata|Mortal Dictata",
]},
{"Alpha-Nine series|Alpha-Nine": [
"Halo: New Blood|New Blood",
"Halo: Bad Blood|Bad Blood",
]},
{"The Ferrets series|The Ferrets": [
"Halo: Last Light|Last Light",
"Halo: Retribution|Retribution",
"Halo: Divine Wind|Divine Wind",
]},
{"Rion Forge & Ace Of Spades series|Rion Forge & Ace of Spaces": [
"Halo: Smoke and Shadow|Smoke and Shadow",
"Halo: Renegades|Renegades",
"Halo: Point of Light|Point of Light",
]},
{"A Master Chief Story": [
"Halo: Silent Storm|Silent Storm",
"Halo: Oblivion|Oblivion",
{"Halo: Shadows of Reach|Shadows of Reach": [
"Sacrifice",
]},
]},
{"Battle Born: A Halo Young Adult Novel Series|Battle Born": [
"Halo: Battle Born|Battle Born",
"Halo: Meridian Divide|Meridian Divide",
"Halo: Silentium|Silentium",
]},
{"Halo novels|Individual novels": [
"Halo: Contact Harvest|Contact Harvest",
"Halo: Hunters in the Dark|Hunters in the Dark",
"Halo: Legacy of Onyx|Legacy of Onyx",
"Halo: The Rubicon Protocol|The Rubicon Protocol",
"Halo: Outcasts|Outcasts",
]},
{"Halo novels|Individual novellas": [
"Halo: Saint's Testimony|Saint's Testimony",
"Halo: Shadow of Intent|Shadow of Intent",
]},
{"Halo novels|Anthologies": [
"Halo: Evolutions|Evolutions",
"Halo: Fractures|Fractures",
]},
]},
{"Category:Comics|Comics": [
"Halo Graphic Novel|Graphic Novel",
"Halo 3: The Cradle of Life|The Cradle of Life",
"Halo: Uprising|Uprising",
"Halo: Helljumper|Helljumper",
"Halo: Blood Line|Blood Line",
"Halo: Fall of Reach|Fall of Reach",
"Halo Wars: Genesis|Genesis",
"Halo: Initiation|Initiation",
"Halo: Escalation|Escalation",
"Halo: Tales from Slipspace|Tales from Slipspace",
"Halo: Rise of Atriox|Rise of Atriox",
"Halo: Collateral Damage|Collateral Damage",
"Halo: Lone Wolf|Lone Wolf",
]},
{"Category:Art books|Art books": [
"The Art of Halo: Creating a Virtual World|The Art of Halo",
"The Art of Halo 3|The Art of Halo 3",
"Halo: The Great Journey - The Art of Building Worlds|Halo: The Great Journey",
"Awakening: The Art of Halo 4|The Art of Halo 4",
"The Art of Halo 5: Guardians|The Art of Halo 5: Guardians",
"The Art of Halo Infinite|The Art of Halo Infinite",
]},
{"Category:Reference books|Reference books": [
{"Halo Encyclopedia|Original encyclopedias": [
"Halo Encyclopedia (2009 edition)|2009 edition",
"Halo Encyclopedia (2011 edition)|2011 edition",
]},
"Halo: The Essential Visual Guide",
"Halo 4: The Essential Visual Guide",
"Halo Mythos: A Guide to the Story of Halo|Halo Mythos",
"Halo: Warfleet – An Illustrated Guide to the Spacecraft of Halo|Halo: Warfleet",
"Halo: Official Spartan Field Manual",
"Halo Encyclopedia (2022 edition)",
]},
{"Category:Strategy guides|Strategy guides": [
"Halo: Combat Evolved: Sybex Official Strategies & Secrets|Halo: Combat Evolved",
"Halo 2: The Official Strategy Guide|Halo 2",
"Halo 3: The Official Strategy Guide|Halo 3",
"Halo Wars: Official Strategy Guide|Halo Wars",
"Halo 3: ODST Official Strategy Guide|Halo 3: ODST",
"Halo: Reach Official Strategy Guide|Halo: Reach",
"Halo 4: Official Game Guide|Halo 4",
"Halo 5: Guardians Official Game Guide|Halo 5: Guardians",
]},
{"Category:Animated films|Animation": [
"Halo Legends",
"Halo: The Fall of Reach - The Animated Series|Halo: The Fall of Reach",
]},
{"Category:Live action|Live action": [
"Halo: Landfall|Landfall",
"The Life",
"Birth of a Spartan",
"Remember Reach",
"Halo 4: Forward Unto Dawn",
"Halo film|Halo movie",
"Halo: Nightfall|Nightfall",
"Halo: The Television Series|Halo TV series",
]},
];
 
wgSidebar["Gameplay"] = [
"Halo Waypoint|Waypoint",
"Equipment",
"Weapons (gameplay)|Weapons",
"Category:Vehicles|Vehicles",
"Armor customizations",
"Category:Levels|Walkthroughs",
"Multiplayer",
];
 
wgSidebar["The universe"] = [
{"Category:Characters|Characters": [
{"Blue Team": [
"John-117",
"Linda-058",
"Kelly-087",
"Frederic-104",
]},
{"Red Team": [
"Jerome-092",
"Douglas-042",
"Alice-130",
]},
{"Alpha-Nine": [
"Rookie",
"Michael Crespo|Michael 'Mickey' Crespo",
"Taylor Miles|Taylor 'Dutch' Miles",
"Kojo Agu|Kojo 'Romeo' Agu",
]},
{"NOBLE Team": [
"SPARTAN-B312",
"Carter-A259",
"Jun-A266",
"Emile-A239",
"Kat-B320",
"Jorge-052",
]},
{"Fireteam Osiris": [
"Jameson Locke",
"Edward Buck",
"Olympia Vale",
"Holly Tanaka",
]},
"Catherine Halsey",
"Jacob Keyes",
"Cortana",
"Avery Johnson",
"343 Guilty Spark",
"Thel 'Vadam",
"Terrence Hood",
"Miranda Keyes",
"Rtas 'Vadum",
"Gravemind",
"James Cutter",
"John Forge",
"Ellen Anders",
"Librarian",
"IsoDidact",
"Ur-Didact",
"Jul 'Mdama",
"Thomas Lasky",
"Sarah Palmer",
"Roland",
"Atriox",
"Isabel",
]},
{"Category:Locations|Locations": [
"Earth",
"Reach",
"Harvest",
"Sanghelios",
"High Charity",
"Mombasa",
"Installation 04|Alpha Halo",
"Installation 05|Delta Halo",
"Installation 00|The Ark",
"Requiem",
"Maethrillian",
]},
{"Category:Sapient species|Species": [
"Human",
"San'Shyuum",
"Sangheili",
"Kig-Yar",
"Jiralhanae",
"Huragok",
"Lekgolo",
"Yanme'e",
"Unggoy",
"Forerunner",
"Flood",
]},
{"Category:Factions|Factions": [
{"United Nations Space Command|United Nations Space Command": [
"UNSC Army",
"UNSC Air Force",
"UNSC Marine Corps",
"Orbital Drop Shock Troopers",
"UNSC Navy",
"Office of Naval Intelligence",
"Spartan|SPARTAN programs",
]},
{"Covenant|Covenant": [
"Covenant military",
"Covenant Honor Guard",
"High Council",
]},
{"Insurrectionist|Insurrectionists": [
"United Rebel Front",
"New Colonial Alliance",
]},
"Unified Earth Government",
"Swords of Sanghelios",
"Jul 'Mdama's Covenant",
"Ecumene|Forerunner ecumene",
"Ancient humanity",
"Precursor|Precursors",
]},
{"Category:Technology|Technology": [
"Technological Achievement Tiers",
"Active camouflage",
"Artificial intelligence",
"Biological augmentation",
"Cryonics",
"Energy shielding",
"Holography",
"Slipstream space",
"Powered exoskeleton",
"Category:Propulsion|Propulsion",
"Category:Communications technology|Communications",
"Category:Medicine|Medicine",
"Category:Vehicles|Vehicles",
"Category:Weapons|Weapons",
]},
{"Category:Ships|Ships": [
"UNSC Pillar of Autumn",
"Truth and Reconciliation",
"UNSC In Amber Clad",
"UNSC Forward Unto Dawn",
"Shadow of Intent",
"UNSC Spirit of Fire",
"UNSC Infinity",
"Mantle's Approach",
"Enduring Conviction",
]},
{"Category:Society and culture|Society and culture": [
"Category:Languages|Languages",
"Religion",
"Mantle",
"List of food and drinks|Food and drink",
"Category:Terms and phrases|Terms and phrases",
]},
{"Halopedia:Projects/Timeline/Eras|Timeline": [
"Human-Forerunner wars",
"Forerunner-Flood war",
"Great Purification|The Halos' firing",
"War of Beginnings",
"Interplanetary War",
"Insurrection",
"Human-Covenant War",
"Post-Covenant War conflicts",
]},
];
 
wgSidebar["Halopedia Archive"] = [
"Archive:Text archives|Text archives",
"Archive:Website archives|Website archives",
"https://www.youtube.com/channel/UCMeCf0KFYzOHw2lp2GRtgWA|Video archives",
];
 
wgSidebar["Halopedia"] = [
{"Halopedia:Social media|Social media": [
"https://twitter.com/Halopedia|Twitter",
"https://www.facebook.com/HalopediaWiki|Facebook",
]},
"Halopedia:Discord server|Discord server",
"Special:WikiForum|Halopedia forums",
"News:Main|Halo News Network",
"Halopedia:Projects/Improvement|Article improvement",
"Halopedia:Featured/Article|Featured articles",
"Halopedia:Staff|Halopedia staff",
];
 
wgSidebar["Wiki help"] = [
{"Category:Policies|Policies": [
"Halopedia:Manual of Style|Manual of Style",
"Halopedia:Blocking policy|Blocking policy",
"Halopedia:Canon policy|Canon policy",
"Halopedia:Layout guide|Layout guide",
"Halopedia:Media policy|Media policy",
"Halopedia:Notability policy|Notability policy",
"Halopedia:Personal Image policy|Personal Image policy",
"Halopedia:Protected Page policy|Protected Page policy",
"Halopedia:Signature policy|Signature policy",
"Halopedia:Spoiler policy|Spoiler policy",
"Halopedia:Voting policy|Voting policy",
]},
{"Category:Help|Help pages": [
"Help:Disambiguation|Disambiguation",
"Help:Editing|Editing",
"Help:Images|Images",
"Help:Links|Links",
"Help:References|References",
"Help:Signatures|Signatures",
"Help:Tables|Tables",
"Help:Templates|Templates",
"Help:Videos|Videos",
"Help:Walkthroughs|Walkthroughs",
]},
"Halopedia:General disclaimer|General disclaimer",
"Halopedia:What Halopedia is|What Halopedia is",
];
 
wgSidebar["Related sites"] = [
{"Halopedia:Related sites and affiliates|Affiliates": [
"https://www.marathonwiki.com|CyberAcme",
"https://www.destinypedia.com|Destinypedia",
"https://www.youtube.com/@HaloCanon|Halo Canon",
"https://www.niwanetwork.org|NIWA",
]},
{"Halopedia:Related sites and affiliates|Community": [
"https://halo.bungie.org|halo.bungie.org",
"https://www.readyuplive.com|Ready Up Live",
"http://www.forwarduntodawn.com|Forward Unto Dawn",
"https://www.reddit.com/r/halo|/r/halo",
"https://www.reddit.com/r/HaloStory|/r/HaloStory",
"https://www.forgehub.com|ForgeHub",
"http://haloterms.bungie.org|Terminal Hub",
"https://roosterteeth.com|Rooster Teeth",
"https://405th.com|405th",
]},
{"Halopedia:Related sites and affiliates|Podcasts": [
"https://www.podtacular.com|Podtacular",
"https://www.halopodcastevolved.com/podcast-evolved|Podcast Evolved",
]},
{"Halopedia:Related sites and affiliates|Wikis": [
{"Halopedia:Related sites and affiliates|International": [
"https://halo.fandom.com/de|Deutsch (German)",
"https://halo.fandom.com/el|Ελληνικά (Greek)",
"https://halo.fandom.com/it|Italiano (Italian)",
"https://halo.fandom.com/ja|日本語 (Japanese)",
"https://halo.fandom.com/ko|한국어 (Korean)",
"https://halo.fandom.com/pl|Polski (Polish)",
"https://halo.fandom.com/ru|Русские (Russian)",
"https://halo.fandom.com/es|Español (Spanish)",
]},
"https://halofanon.fandom.com|Halo Fanon",
"https://unhalo.fandom.com|Gruntipedia",
"https://halomachinima.fandom.com|Halo Machinima",
"https://wiki.halo.fr|Halo.fr",
"https://rvb.fandom.com|Red vs. Blue",
]},
];
 
/**
* MonobookSidebar: Sets sidebar submenus for elements of MonoBook, adding special
* classes to pass the pointer over to allow the effect on all browsers.
*
* Date: 15 October 2010
* Copyright © 2010 Jesús Martínez Novo ([[User:Ciencia Al Poder]])
*
* This program is free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 2 of the License, or
(at your option) any later version
*/
MonobookSidebar = {
re_s: / /g,
re_p: /%/g,
loadedMenus: [],
init: function() {
if ( !window.wgSidebar ) {
return;
}
for ( var menu in wgSidebar ) {
var item = document.getElementById( MonobookSidebar.getId( menu ) );
if ( !item ) {
continue;
}
var menuId = jQuery( item ).parents().get( 2 ).id;
// Check it's a valid portlet item
if ( !menuId || menuId === '' ) {
continue;
}
// Generate menu hierarchy
MonobookSidebar.buildSubmenu( item, wgSidebar[menu] );
// Set events
MonobookSidebar.setEvents( menuId );
}
},
buildSubmenu: function( el, arr ) {
var ul = document.createElement( 'ul' );
ul.className = 'sub-menu';
for ( var i = 0; i < arr.length; i++ ) {
var a;
var li = document.createElement( 'li' );
if ( typeof arr[i] == 'string' ) {
a = MonobookSidebar.linkFromText( arr[i] );
li.appendChild( a );
} else {
for ( var menukey in arr[i] ) {
a = MonobookSidebar.linkFromText( menukey );
li.appendChild( a );
MonobookSidebar.buildSubmenu( li, arr[i][menukey] );
}
}
ul.appendChild( li );
}
el.appendChild( ul );
el.className = 'with-sub-menu';
var em = document.createElement( 'em' );
em.appendChild( document.createTextNode( '\u203A' ) );
el.firstChild.appendChild( em );
},
setEvents: function( menuId ) {
for ( var i = 0; i < MonobookSidebar.loadedMenus; i++ ) {
if ( MonobookSidebar.loadedMenus[i] == menuId ) {
return;
}
}
jQuery( '#' + menuId ).children().eq( 1 ).children().eq( 0 )
.on( 'mouseover', MonobookSidebar.mouseover )
.on( 'mouseout', MonobookSidebar.mouseout );
MonobookSidebar.loadedMenus.push( menuId );
},
mouseover: function( e ) {
var target = e.target;
while ( target.tagName.toLowerCase() != 'div' ) {
if ( target.tagName.toLowerCase() == 'a' ) {
target = target.parentNode;
}
if ( target.tagName.toLowerCase() == 'li' ) {
jQuery( target ).addClass( 'hover' );
}
target = target.parentNode;
}
},
mouseout: function( e ) {
var target = e.target;
while ( target.tagName.toLowerCase() != 'div' ) {
if ( target.tagName.toLowerCase() == 'a' ) {
target = target.parentNode;
}
if ( target.tagName.toLowerCase() == 'li' ) {
jQuery( target ).removeClass( 'hover' );
}
target = target.parentNode;
}
},
linkFromText: function( txt ) {
var article = '', caption = '', sepPos = txt.indexOf( '|' );
if ( sepPos > 0 ) {
article = txt.substr( 0, sepPos );
caption = txt.substr( sepPos + 1 );
} else {
article = caption = txt;
}
article = article.replace( MonobookSidebar.re_s, '_' );
var a = document.createElement( 'a' );
if ( article.length > 4 && article.substr( 0, 4 ) == 'http' ) {
a.setAttribute( 'href', article );
} else {
article = article.replace( MonobookSidebar.re_s, '_' );
// Replace encoded colons with normal colons
article = article.replace( '%3A', ':' );
a.setAttribute( 'href', mw.config.get( 'wgArticlePath' ).replace( '$1', article ) );
}
a.appendChild( document.createTextNode( caption ) );
return a;
},
getId: function( name ) {
return 'n-' + name.replace( MonobookSidebar.re_s, '-' ).replace( MonobookSidebar.re_p, '.' );
}
};
 
/* Calling this code to initialize */
$( MonobookSidebar.init );