MediaWiki:Monobook.js: Difference between revisions

no edit summary
(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['Help'] = [
'KHWiki:About|About',
'Help:Contents|Help Pages',
'KHWiki:Manual of Style|Manual of Style',
'Category:Stubs|Stubs',
'KHWiki:Sandbox|Sandbox',
];


wgSidebar['Games'] = [
wgSidebar['Games'] = [
'Kingdom Hearts (game)|Kingdom Hearts',
'Kingdom Hearts (game)|Kingdom Hearts',
'Kingdom Hearts: Chain of Memories|Chain of Memories',
'Kingdom Hearts Chain of Memories|Chain of Memories',
'Kingdom Hearts II|Kingdom Hearts II',
'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 coded|coded',
'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 Final Mix',
'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 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 Re:coded|Re:coded',
                 '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 Unchained χ|Unchained χ[chi]',
                 '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 Mobile|Mobile',
                'Kingdom Hearts III Re Mind',
]},
]},
];
];


wgSidebar['Universe'] = [
wgSidebar['The universe'] = [
{'Category:Characters|Protagonists': [
{'Category:Characters|Protagonists': [
'Sora|Sora',
'Sora',
'Riku|Riku',
'Riku',
'Kairi|Kairi',
'Kairi',
'Mickey Mouse|Mickey Mouse',
'Mickey Mouse',
'Donald Duck|Donald Duck',
'Donald Duck',
'Goofy|Goofy',
'Goofy',
'Naminé|Naminé',
'Naminé',
'Roxas|Roxas',
'Roxas',
'Xion|Xion',
'Xion',
'Terra|Terra',
'Terra',
'Ventus|Ventus',
'Ventus',
'Aqua|Aqua',
'Aqua',
'Lea|Lea',
'Lea',
]},
]},
{'Category:Characters|Antagonists': [
{'Category:Antagonists|Antagonists': [
'Xehanort|Xehanort',
'Xehanort',
'Vanitas|Vanitas',
'Young Xehanort',
'Vanitas',
'Ansem, Seeker of Darkness|Ansem',
'Ansem, Seeker of Darkness|Ansem',
'Organization XIII|Organization XIII',
'Organization XIII',
'Maleficent|Maleficent',
'Real Organization XIII',
'Pete|Pete',
'Maleficent',
'Pete',
'Villains',
]},
]},
'Heartless|Heartless',
'Heartless',
'Nobody|Nobodies',
'Nobody|Nobodies',
'Unversed|Unversed',
'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|Dive to the Heart',
'Dive to the Heart',
'Destiny Islands|Destiny Islands',
'Destiny Islands',
'Disney Castle|Disney Castle',
'Disney Castle',
'Traverse Town|Traverse Town',
'Traverse Town',
'Wonderland|Wonderland',
'Wonderland',
'Olympus Coliseum|Olympus Coliseum',
'Olympus Coliseum',
'Deep Jungle|Deep Jungle',
'Deep Jungle',
'Agrabah|Agrabah',
'Agrabah',
'Halloween Town|Halloween Town',
'Halloween Town',
'Monstro|Monstro',
'Monstro',
'Atlantica|Atlantica',
'Atlantica',
'Neverland|Neverland',
'Neverland',
'Hollow Bastion|Hollow Bastion',
'Hollow Bastion',
'100 Acre Wood|100 Acre Wood',
'100 Acre Wood',
'End of the World|End of the World',
'End of the World',
'Kingdom Hearts|Kingdom Hearts',
'Realm of Darkness',
'Realm of Darkness|Realm of Darkness',
]},
]},
{'Category:Kingdom Hearts: Chain of Memories worlds|Chain of Memories': [
{'Category:Kingdom Hearts Chain of Memories worlds|Chain of Memories': [
'Castle Oblivion|Castle Oblivion',
'Castle Oblivion',
'Twilight Town|Twilight Town',
'Twilight Town',
]},
]},
{'Category:Kingdom Hearts II worlds|Kingdom Hearts II': [
{'Category:Kingdom Hearts II worlds|Kingdom Hearts II': [
'Simulated Twilight Town|Simulated Twilight Town',
'The Mysterious Tower',
'Mysterious Tower|Mysterious Tower',
'Radiant Garden',
'Radiant Garden|Radiant Garden',
'The Land of Dragons',
'The Land of Dragons|The Land of Dragons',
"Beast's Castle",
'Beast’s Castle|Beast’s Castle',
'Timeless River',
'Underworld|Underworld',
'Port Royal',
'Timeless River|Timeless River',
'Pride Lands',
'Port Royal|Port Royal',
'Space Paranoids',
'Christmas Town|Christmas Town',
'The World That Never Was',
'Pride Lands|Pride Lands',
'Keyblade Graveyard',
'Space Paranoids|Space Paranoids',
]},
'The World That Never Was|The World That Never Was',
{'Category:Kingdom Hearts coded worlds|coded': [
'Keyblade Graveyard|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': [
'The Land of Departure|The Land of Departure',
'Land of Departure',
'Dwarf Woodlands|Dwarf Woodlands',
'Dwarf Woodlands',
'Enchanted Dominion|Enchanted Dominion',
'Enchanted Dominion',
'Castle of Dreams|Castle of Dreams',
'Castle of Dreams',
'Mirage Arena|Mirage Arena',
'Mirage Arena',
'Disney Town|Disney Town',
'Disney Town',
'Deep Space|Deep Space',
'Deep Space',
]},
{'Category:Kingdom Hearts coded worlds|coded': [
'Datascape|Datascape',
]},
]},
                 {'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|La Cité des Cloches',
'La Cité des Cloches',
'Prankster\'s Paradise|Prankster\'s Paradise',
"Prankster's Paradise",
'The Grid|The Grid',
'The Grid',
'Country of the Musketeers|Country of the Musketeers',
'Country of the Musketeers',
'Symphony of Sorcery|Symphony of Sorcery',
'Symphony of Sorcery',
]},
]},
                 {'Category:Kingdom Hearts χ worlds|Kingdom Hearts χ': [
                 {'Category:Kingdom Hearts χ worlds|Kingdom Hearts χ': [
'Daybreak Town|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 and music'] = [
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 Official Strategy Guide|Strategy Guides': [
'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: Chain of Memories Official Strategy Guide|Chain of Memories',
'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 II Original Soundtrack',
'Kingdom Hearts Original Soundtrack|Kingdom Hearts',
'Kingdom Hearts Original Soundtrack Complete',
'Kingdom Hearts II Original Soundtrack|Kingdom Hearts II',
'Piano Collections Kingdom Hearts',
'Kingdom Hearts Original Soundtrack Complete|Kingdom Hearts Complete',
'Piano Collections Kingdom Hearts Field & Battle',
'Kingdom Hearts Birth by Sleep & 358/2 Days Original Soundtrack|Birth by Sleep & 358/2 Days',
'Kingdom Hearts Birth by Sleep & 358/2 Days Original Soundtrack',
'Kingdom Hearts: Dream Drop Distance Original Soundtrack|Dream Drop Distance',
'Kingdom Hearts 3D: Dream Drop Distance Original Soundtrack',
'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'] = [
{'Category:Merchandise|Figures': [
'List of merchandise by brand|Merchandise by brand',
'Play Arts Figures',
'Kingdom Hearts Trading Card Game|Trading Card Game',
'Formation Arts Figures',
];
'Static Arts Figures',
 
]},
wgSidebar['Help'] = [
'Hot Topic Merchandise|Hot Topic',
'KHWiki:About|About',
'Kingdom Hearts Trading Card Game|TCG',
'Help:Contents|Help pages',
'Card:Main Page|TCG Wiki',
'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' ) {
var a = MonobookSidebar.linkFromText( arr[i] );
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 )
.bind( 'mouseover', MonobookSidebar.mouseover )
.on( 'mouseover', MonobookSidebar.mouseover )
.bind( 'mouseout', MonobookSidebar.mouseout );
.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, '_' ); // removed encodeURIComponent(), it was messing things up --Jack Phoenix
article = article.replace( MonobookSidebar.re_s, '_' );
var a = document.createElement( 'a' );
var a = document.createElement( 'a' );
if ( article.length > 7 && article.substr( 0, 7 ) == 'http://' ) {
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, '_' ); // removed encodeURIComponent(), it was messing things up --Jack Phoenix
article = article.replace( MonobookSidebar.re_s, '_' );
// Replace encoded colons with normal colons -- added this. --Jack Phoenix
// Replace encoded colons with normal colons
article = article.replace( '%3A', ':' ); // added code ends here
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-' + encodeURIComponent( name.replace( MonobookSidebar.re_s, '-' ) ).replace( MonobookSidebar.re_p, '.' );
return 'n-' + name.replace( MonobookSidebar.re_s, '-' ).replace( MonobookSidebar.re_p, '.' );
}
}
};
};


/* Calling this code to initialize */
/* Calling this code to initialize */
jQuery( MonobookSidebar.init );
$( MonobookSidebar.init );