30,831
edits
(rv) |
No edit summary |
||
(45 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
/* MONOBOOK SIDEBAR v2.3 */ | /* MONOBOOK SIDEBAR v2.3 */ | ||
window.wgSidebar = ( window.wgSidebar || {} ); | window.wgSidebar = ( window.wgSidebar || {} ); | ||
wgSidebar['Games'] = [ | wgSidebar['Games'] = [ | ||
'Kingdom Hearts (game)|Kingdom Hearts', | 'Kingdom Hearts (game)|Kingdom Hearts', | ||
'Kingdom Hearts | 'Kingdom Hearts Chain of Memories|Chain of Memories', | ||
' | 'Kingdom Hearts II', | ||
'Kingdom Hearts 358/2 Days|358/2 Days', | 'Kingdom Hearts 358/2 Days|358/2 Days', | ||
'Kingdom Hearts coded|coded', | |||
'Kingdom Hearts Birth by Sleep|Birth by Sleep', | 'Kingdom Hearts Birth by Sleep|Birth by Sleep', | ||
'Kingdom Hearts 3D: Dream Drop Distance|Dream Drop Distance', | 'Kingdom Hearts 3D: Dream Drop Distance|Dream Drop Distance', | ||
'Kingdom Hearts χ|χ[chi]', | 'Kingdom Hearts χ|χ[chi]', | ||
'Kingdom Hearts 0.2 Birth by Sleep -A fragmentary passage-|Kingdom Hearts 0.2', | |||
'Kingdom Hearts III|Kingdom Hearts III', | 'Kingdom Hearts III|Kingdom Hearts III', | ||
'Kingdom Hearts Dark Road|Dark Road', | |||
'Kingdom Hearts Melody of Memory|Melody of Memory', | |||
'Kingdom Hearts Missing-Link|Missing-Link', | |||
'Kingdom Hearts IV|Kingdom Hearts IV', | |||
{'Category:Games|Other titles': [ | {'Category:Games|Other titles': [ | ||
' | 'Kingdom Hearts Final Mix', | ||
'Kingdom Hearts Re:Chain of Memories|Re:Chain of Memories', | 'Kingdom Hearts Re:Chain of Memories|Re:Chain of Memories', | ||
'Kingdom Hearts II Final Mix | 'Kingdom Hearts II Final Mix', | ||
'Kingdom Hearts Re:coded|Re:coded', | |||
'Kingdom Hearts Birth by Sleep Final Mix|Birth by Sleep Final Mix', | 'Kingdom Hearts Birth by Sleep Final Mix|Birth by Sleep Final Mix', | ||
'Kingdom Hearts HD 1.5 ReMIX|HD 1.5 ReMIX', | 'Kingdom Hearts HD 1.5 ReMIX|HD 1.5 ReMIX', | ||
'Kingdom Hearts HD 2.5 ReMIX|HD 2.5 ReMIX', | 'Kingdom Hearts HD 2.5 ReMIX|HD 2.5 ReMIX', | ||
'Kingdom Hearts | 'Kingdom Hearts Union χ|Union χ[Cross]', | ||
'Kingdom Hearts χ Back Cover|χ Back Cover', | |||
'Kingdom Hearts HD 2.8 Final Chapter Prologue|HD 2.8 Final Chapter Prologue', | 'Kingdom Hearts HD 2.8 Final Chapter Prologue|HD 2.8 Final Chapter Prologue', | ||
'Kingdom Hearts III Re Mind', | |||
]}, | ]}, | ||
]; | ]; | ||
wgSidebar[' | wgSidebar['The universe'] = [ | ||
{'Category:Characters|Protagonists': [ | {'Category:Characters|Protagonists': [ | ||
' | 'Sora', | ||
' | 'Riku', | ||
' | 'Kairi', | ||
' | 'Mickey Mouse', | ||
' | 'Donald Duck', | ||
' | 'Goofy', | ||
' | 'Naminé', | ||
' | 'Roxas', | ||
' | 'Xion', | ||
' | 'Terra', | ||
' | 'Ventus', | ||
' | 'Aqua', | ||
' | 'Lea', | ||
]}, | ]}, | ||
{'Category: | {'Category:Antagonists|Antagonists': [ | ||
'Xehanort | 'Xehanort', | ||
' | 'Young Xehanort', | ||
'Vanitas', | |||
'Ansem, Seeker of Darkness|Ansem', | 'Ansem, Seeker of Darkness|Ansem', | ||
'Organization XIII | 'Organization XIII', | ||
' | 'Real Organization XIII', | ||
'Pete | 'Maleficent', | ||
'Pete', | |||
'Villains', | |||
]}, | ]}, | ||
' | 'Heartless', | ||
'Nobody|Nobodies', | 'Nobody|Nobodies', | ||
' | 'Unversed', | ||
'Dream Eater|Dream Eaters', | 'Dream Eater|Dream Eaters', | ||
{'Category:Worlds|Worlds introduced in...': [ | {'Category:Worlds|Worlds introduced in...': [ | ||
{'Category:Kingdom Hearts worlds|Kingdom Hearts': [ | {'Category:Kingdom Hearts worlds|Kingdom Hearts': [ | ||
' | 'Dive to the Heart', | ||
' | 'Destiny Islands', | ||
' | 'Disney Castle', | ||
' | 'Traverse Town', | ||
' | 'Wonderland', | ||
' | 'Olympus Coliseum', | ||
' | 'Deep Jungle', | ||
' | 'Agrabah', | ||
' | 'Halloween Town', | ||
' | 'Monstro', | ||
' | 'Atlantica', | ||
' | 'Neverland', | ||
' | 'Hollow Bastion', | ||
' | '100 Acre Wood', | ||
'End of the World | 'End of the World', | ||
'Realm of Darkness', | |||
' | |||
]}, | ]}, | ||
{'Category:Kingdom Hearts | {'Category:Kingdom Hearts Chain of Memories worlds|Chain of Memories': [ | ||
' | 'Castle Oblivion', | ||
' | 'Twilight Town', | ||
]}, | ]}, | ||
{'Category:Kingdom Hearts II worlds|Kingdom Hearts II': [ | {'Category:Kingdom Hearts II worlds|Kingdom Hearts II': [ | ||
' | 'The Mysterious Tower', | ||
'Radiant Garden', | |||
' | 'The Land of Dragons', | ||
' | "Beast's Castle", | ||
' | 'Timeless River', | ||
'Port Royal', | |||
' | 'Pride Lands', | ||
'Port Royal | 'Space Paranoids', | ||
'The World That Never Was', | |||
' | 'Keyblade Graveyard', | ||
' | ]}, | ||
' | {'Category:Kingdom Hearts coded worlds|coded': [ | ||
'Keyblade Graveyard| | 'Datascape (KHC)|Datascape', | ||
]}, | ]}, | ||
{'Category:Kingdom Hearts Birth by Sleep worlds|Birth by Sleep': [ | {'Category:Kingdom Hearts Birth by Sleep worlds|Birth by Sleep': [ | ||
' | 'Land of Departure', | ||
' | 'Dwarf Woodlands', | ||
' | 'Enchanted Dominion', | ||
' | 'Castle of Dreams', | ||
' | 'Mirage Arena', | ||
' | 'Disney Town', | ||
'Deep Space | 'Deep Space', | ||
]}, | ]}, | ||
{'Category:Kingdom Hearts 3D: Dream Drop Distance worlds|Dream Drop Distance': [ | {'Category:Kingdom Hearts 3D: Dream Drop Distance worlds|Dream Drop Distance': [ | ||
' | 'La Cité des Cloches', | ||
"Prankster's Paradise", | |||
' | 'The Grid', | ||
' | 'Country of the Musketeers', | ||
' | 'Symphony of Sorcery', | ||
]}, | ]}, | ||
{'Category:Kingdom Hearts χ worlds|Kingdom Hearts χ': [ | {'Category:Kingdom Hearts χ worlds|Kingdom Hearts χ': [ | ||
'Daybreak Town| | 'Daybreak Town', | ||
]}, | |||
{'Category:Kingdom Hearts Union χ worlds|Kingdom Hearts Union χ': [ | |||
'Game Central Station', | |||
'Niceland', | |||
'Cy-Bug Sector', | |||
'Candy Kingdom', | |||
]}, | |||
{'Category:Kingdom Hearts III worlds|Kingdom Hearts III': [ | |||
'Olympus', | |||
'Toy Box', | |||
'Kingdom of Corona', | |||
'Monstropolis', | |||
'Arendelle', | |||
'The Caribbean', | |||
'San Fransokyo', | |||
'The Final World', | |||
'Scala ad Caelum', | |||
'Secret Forest', | |||
'Quadratum', | |||
]}, | ]}, | ||
Line 136: | Line 152: | ||
'Ability|Abilities', | 'Ability|Abilities', | ||
'Drive Form|Drive Forms', | 'Drive Form|Drive Forms', | ||
'Cards', | 'Card (disambiguation)|Cards', | ||
'Gummi Ship', | 'Gummi Ship', | ||
'Mini-games', | 'Mini-games', | ||
]; | ]; | ||
wgSidebar['Literature | wgSidebar['Literature .26 music'] = [ | ||
'Kingdom Hearts series (manga)|Manga', | 'Kingdom Hearts series (manga)|Manga', | ||
'Kingdom Hearts novels|Novels', | 'Kingdom Hearts (novels)|Novels', | ||
'Kingdom Hearts Another Report|Another Report', | 'Kingdom Hearts Another Report|Another Report', | ||
'Kingdom Hearts Ultimania|Ultimania', | |||
{'Category:Strategy guides|Strategy guides': [ | |||
'Kingdom Hearts Official Strategy Guide|Kingdom Hearts', | 'Kingdom Hearts Official Strategy Guide|Kingdom Hearts', | ||
'Kingdom Hearts | 'Kingdom Hearts Chain of Memories Official Strategy Guide|Chain of Memories', | ||
'Kingdom Hearts II Official Strategy Guide|Kingdom Hearts II', | 'Kingdom Hearts II Official Strategy Guide|Kingdom Hearts II', | ||
'Kingdom Hearts 358/2 Days Signature Series Strategy Guide|358/2 Days', | 'Kingdom Hearts 358/2 Days Signature Series Strategy Guide|358/2 Days', | ||
'Kingdom Hearts Birth by Sleep Signature Series Strategy Guide|Birth by Sleep', | 'Kingdom Hearts Birth by Sleep Signature Series Strategy Guide|Birth by Sleep', | ||
'Kingdom Hearts 3D: Dream Drop Distance Signature Series Guide|Dream Drop Distance', | |||
'Kingdom Hearts HD 1.5 ReMIX Game Guide|HD 1.5 ReMIX', | |||
]}, | ]}, | ||
{'Category:Music|Music': [ | {'Category:Music|Music': [ | ||
'Kingdom Hearts Original Soundtrack', | {'Category:Soundtracks|Soundtracks': [ | ||
'Kingdom Hearts Original Soundtrack|Kingdom Hearts', | |||
'Kingdom Hearts II Original Soundtrack|Kingdom Hearts II', | |||
'Piano Collections Kingdom Hearts', | 'Kingdom Hearts Original Soundtrack Complete|Kingdom Hearts Complete', | ||
'Kingdom Hearts Birth by Sleep & 358/2 Days Original Soundtrack|Birth by Sleep & 358/2 Days', | |||
'Kingdom Hearts: Dream Drop Distance Original Soundtrack|Dream Drop Distance', | |||
'Kingdom Hearts | 'Kingdom Hearts HD 1.5 ReMIX Original Soundtrack|HD 1.5 ReMIX', | ||
'Kingdom Hearts HD 2.5 ReMIX Original Soundtrack|HD 2.5 ReMIX', | |||
'Kingdom Hearts - III, II.8, Unchained χ & Union χ (Cross) - Original Soundtrack|III, II.8, Unchained χ & Union χ [Cross]', | |||
]}, | |||
{'Category:Compilation albums|Arrangements': [ | |||
'Piano Collections Kingdom Hearts|Piano Collections', | |||
'Piano Collections Kingdom Hearts Field & Battle|Piano Collections: Field & Battle', | |||
'Kingdom Hearts Tribute Album|Tribute Album', | |||
'Kingdom Hearts Music Collection|Music Collection', | |||
'Kingdom Hearts 10th Anniversary Fan Selection -Melodies & Memories-|10th Anniversary Fan Selection', | |||
'Kingdom Hearts 20th Anniversary Vinyl LP Box|20th Anniversary Vinyl LP Box', | |||
]}, | |||
{'Category:Concerts|Concerts': [ | |||
'Kingdom Hearts Concert -First Breath-|Concert -First Breath-', | |||
'Kingdom Hearts Orchestra -World Tour-|Orchestra -World Tour-', | |||
'Kingdom Hearts Orchestra -World of Tres-|Orchestra -World of Tres-', | |||
'Kingdom Hearts Concert -Second Breath-|Concert -Second Breath-', | |||
]}, | |||
]}, | ]}, | ||
]; | ]; | ||
wgSidebar['Merchandise'] = [ | wgSidebar['Merchandise'] = [ | ||
'List of merchandise by brand|Merchandise by brand', | |||
'Kingdom Hearts Trading Card Game|Trading Card Game', | |||
]; | |||
wgSidebar['Help'] = [ | |||
'KHWiki:About|About', | |||
'Help:Contents|Help pages', | |||
'KHWiki:Manual of Style|Manual of Style', | |||
'Category:Policies|Wiki policies', | |||
'KHWiki:Sandbox|Sandbox', | |||
'Category:Stubs|Stubs', | |||
]; | ]; | ||
Line 201: | Line 240: | ||
var menuId = jQuery( item ).parents().get( 2 ).id; | var menuId = jQuery( item ).parents().get( 2 ).id; | ||
// Check it's a valid portlet item | // Check it's a valid portlet item | ||
if ( !menuId || menuId == '' ) { | if ( !menuId || menuId === '' ) { | ||
continue; | continue; | ||
} | } | ||
Line 214: | Line 253: | ||
ul.className = 'sub-menu'; | ul.className = 'sub-menu'; | ||
for ( var i = 0; i < arr.length; i++ ) { | for ( var i = 0; i < arr.length; i++ ) { | ||
var a; | |||
var li = document.createElement( 'li' ); | var li = document.createElement( 'li' ); | ||
if ( typeof arr[i] == 'string' ) { | if ( typeof arr[i] == 'string' ) { | ||
a = MonobookSidebar.linkFromText( arr[i] ); | |||
li.appendChild( a ); | li.appendChild( a ); | ||
} else { | } else { | ||
Line 240: | Line 280: | ||
} | } | ||
jQuery( '#' + menuId ).children().eq( 1 ).children().eq( 0 ) | jQuery( '#' + menuId ).children().eq( 1 ).children().eq( 0 ) | ||
. | .on( 'mouseover', MonobookSidebar.mouseover ) | ||
. | .on( 'mouseout', MonobookSidebar.mouseout ); | ||
MonobookSidebar.loadedMenus.push( menuId ); | MonobookSidebar.loadedMenus.push( menuId ); | ||
}, | }, | ||
Line 276: | Line 316: | ||
article = caption = txt; | article = caption = txt; | ||
} | } | ||
article = article.replace( MonobookSidebar.re_s, '_' ); | article = article.replace( MonobookSidebar.re_s, '_' ); | ||
var a = document.createElement( 'a' ); | var a = document.createElement( 'a' ); | ||
if ( article.length > | if ( article.length > 4 && article.substr( 0, 4 ) == 'http' ) { | ||
a.setAttribute( 'href', article ); | a.setAttribute( 'href', article ); | ||
} else { | } else { | ||
article = article.replace( MonobookSidebar.re_s, '_' ); | article = article.replace( MonobookSidebar.re_s, '_' ); | ||
// Replace encoded colons with normal colons | // Replace encoded colons with normal colons | ||
article = article.replace( '%3A', ':' ); | article = article.replace( '%3A', ':' ); | ||
a.setAttribute( 'href', mw.config.get('wgArticlePath').replace( '$1', article ) ); | a.setAttribute( 'href', mw.config.get( 'wgArticlePath' ).replace( '$1', article ) ); | ||
} | } | ||
a.appendChild( document.createTextNode( caption ) ); | a.appendChild( document.createTextNode( caption ) ); | ||
Line 290: | Line 330: | ||
}, | }, | ||
getId: function( name ) { | getId: function( name ) { | ||
return 'n-' + | return 'n-' + name.replace( MonobookSidebar.re_s, '-' ).replace( MonobookSidebar.re_p, '.' ); | ||
} | } | ||
}; | }; | ||
/* Calling this code to initialize */ | /* Calling this code to initialize */ | ||
$( MonobookSidebar.init ); |