MediaWiki:Monobook.js

/* Any JavaScript here will be loaded for users using the MonoBook skin */

/* MONOBOOK SIDEBAR v2.3 */ window.wgSidebar = ( window.wgSidebar || {} );

wgSidebar["Navigation"] = [ "Special:RecentChanges|Recent changes", "Special:Random|Random page", ];

wgSidebar["Games"] = [ {"Category:Video games|Original trilogy": [ "Halo: Combat Evolved", "Halo: Combat Evolved Anniversary", "Halo 2", "Halo 2: Anniversary", "Halo 3", ]},	{"Category:Video games|Mainline 343i games": [ "Halo 4", "Halo 5: Guardians", "Halo Infinite", ]},	{"Category:Video games|Halo: Spartan series": [ "Halo: Spartan Assault", "Halo: Spartan Strike", ]},	{"Category:Video games|Halo Wars series": [ "Halo Wars", "Halo Wars 2", ]},	{"Category:Video games|Other games": [ "Halo 3: ODST", "Halo: Reach", "Halo: Fireteam Raven", ]},	{"Category:Video games|Ports and expansions": [ "Halo: Combat Evolved (PC port)|Halo PC", "Halo Custom Edition", "Halo 2 Multiplayer Map Pack", "Halo 2 (Windows Vista)|Halo 2 Vista", "Halo 3 Mythic", "Halo: The Master Chief Collection", "Halo 5: Forge", ]},	{"Category:Applications|Applications": [ "Halo Waypoint|Halo Waypoint", "Halo 4: King of the Hill Fueled by Mountain Dew|Halo 4: King of the Hill", "Halo Channel", "Halo (Windows 10 app)|Halo app", "Halo Stickers", "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.destinypedia.com|Destinypedia", "https://www.youtube.com/user/HaloCanon|Halo Canon", "https://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 );