Thorgal Wiki
Explore
Main Page
Discuss
All Pages
Community
Interactive Maps
Recent Blog Posts
Comics
Thorgal
Characters
Humans
People of the Stars
Vikings
Chaams
Xinjin
Brek Zarith people
People of Aran
Unaffiliated
Dwarves
Tjahzi
Ivaldir
Half Gods
Gods
Vigrid
Frigg
Poseidon
Jötnar
Nixes
Other beings
Guardian of the Keys
Nidhogg
Alinoë
Muff
Universe
Worlds
Second World
Asgard
Valhalla
Garden of Asgard
Jötunheimr
Dwarf Land
Midgard
Earth
Northland
Kingdom of Brek Zarith
Land of Aran
Land of Qa
Atlantis
Niflheim
Other worlds
Whirlpool Island
Gateways
Horizon
Bifrost
Items
Freyja's Rings
Tears of Tjahzi
Mnemo-disk
Psycho-transmitter
Ring of Ouroboros
Timeline
Community
Recently Changed Pages
Aaricia
Jolan
Thorgal Aegirsson
Louve
Aniel
Thorgal Wiki
Giants (comic)
Recent blog posts
Wiki
Users
Admins
Wiki Oasis skin CSS (default skin)
Wiki Monobook skin CSS
Wiki Common CSS (affects Monobook and Oasis skin)
// // Code by Spottra of Clash of Clans Wiki, October 2013. // Current version: 1.1, November 2013. // // If you choose to copy this code, please leave the attribution at the top. // // Sub-navigation levels 4 and 5 // ============================= // This code extends the MediaWiki:Wiki-navigation to enable level 4 and 5 // submenus. Simply edit the MediaWiki:Wiki-navigation file as normal and // use '****' and '*****' to indicate where level 4 and 5 submenus should // appear. // // The corresponding CSS required for proper display of the level 4 and 5 // submenus is located at MediaWiki:Wikia.css/SubNav.css. // // Supports: // * '****Link name' construct. Link spaces will be replaced by underscores. // * '****Link name|Display name' construct. Link spaces also replaced. // * '****Display name' construct for menus without links. // // Notes: // * The navigation preview does not display the level 4 or 5 submenus, as it // does not call any custom Javascript. You will need to publish your changes // and then refresh the page in order to see their effects. // * Publishing the Wiki-navigation page does not call any custom Javascript // either, which is why the page refresh is necessary. The previous level 4 // and 5 submenus will appear until the page is refreshed. Note that you do // not need to clear cache; a simple refresh is all that is required (or // browse to another page). // // Limitations: // * Currently, the level 3 submenus must either have unique links, or for // level 3 submenus that are not configured as links // (i.e. Menu name), they must be uniquely named. This code // uses .find() to locate the proper level 3 submenu to build the extra HTML, // and non-unique names will result in the menu being added to all matches. function timeStamp_ExtendedNavigation_js() { return "2013.11.26 17:46 (UTC-8)"; } // Importing required CSS window.importArticle({ type: 'style', article: 'u:dev:ExtendedNavigation/code.css' }); function imgChevron(strDirection) { if (strDirection == 'down') return ''; return ''; } $.get("/wiki/MediaWiki:Wiki-navigation?action=raw").done(function(data) { var arrNav = data.split('\n'); var strSubNav = ''; var strSubNavs = ''; var strSubMenu2 = ''; var strSubMenu2a = ''; var boolSubMenu4 = false; console.log('ExtendedNavigation/code.js: Creating custom menus'); for (var i = 0; i < arrNav.length; i ++) { var intSubLevel = subNavLevel(arrNav[i]); // Check for level 3 or greater subnav. We will build all level 3+ menus // but only add them if we need to (i.e. if we encounter a level 4+ // somewhere. if (intSubLevel >= 3) { if (i == 0) { console.log('ExtendedNavigation/code.js: Exiting:\n' + ' Level 3+ subnav on first line of Wiki-navigation file.\n' + ' arrNav[' + i + ']=' + arrNav[i] + '\n' + ' intSubLevel=' + intSubLevel + '\n' + ' strSubNav=' + strSubNav); return; // Shouldn't happen, but exit gracefully if it does. } // Check both the previous and the next entries. intPrevSubLevel = subNavLevel(arrNav[i - 1]); intNextSubLevel = (i == arrNav.length - 1 ? 0 : subNavLevel(arrNav[i + 1])); if (intSubLevel > intPrevSubLevel + 1) { // The only valid choices for submenus are: // * intSubLevel == intPrevSubLevel (the current menu continues) // * intSubLevel == intPrevSubLevel + 1 (new submenu) // * intSubLevel < intPrevSubLevel (the current menu ends) // Anything else and we simply exit due to bad formation. console.log('ExtendedNavigation/code.js: Exiting:\n' + ' Submenu structure badly formed.\n' + ' arrNav[' + i + ']=' + arrNav[i] + '\n' + ' intSubLevel=' + intSubLevel + '\n' + ' intPrevSubLevel=' + intPrevSubLevel + '\n' + ' intNextSubLevel=' + intNextSubLevel + '\n' + ' strSubNav=' + strSubNav); return; } // If we've encountered a level 4+ submenu, we'll need to add it. if (intSubLevel == 4) boolSubMenu4 = true; if (intNextSubLevel == intSubLevel + 1) { // We've encountered the beginning of a new submenu. if (intSubLevel > 3) { // For sublevels > 3, add a new class. strSubNav += (strSubNav == '' ? '' : '\n'); strSubNav += ''; } else { // Otherwise just add a tag. strSubNav += (strSubNav == '' ? '' : '\n'); strSubNav += ''; } strSubNav += (strSubNav == '' ? '' : '\n'); strSubNav += subNavLevel(arrNav[i], 'fullsublink'); strSubNav += '\n' + ''; } else if (intNextSubLevel < intSubLevel) { // We've encountered the end of a submenu. strSubNav += (strSubNav == '' ? '' : '\n'); strSubNav += '' + subNavLevel(arrNav[i], 'fulllink') + ''; strSubNav += '\n' + ''; if (intSubLevel - intNextSubLevel > 1 && strSubNav != '') { // If we're closing more than one submenu, add additional closing tags. var intClosingTags = intSubLevel - intNextSubLevel; while (intClosingTags > 1) { strSubNav += '\n' + ''; intClosingTags --; } } } else if (intSubLevel == intNextSubLevel) { // Garden variety submenu. strSubNav += '\n' + '' + subNavLevel(arrNav[i], 'fulllink') + ''; } else { console.log('ExtendedNavigation/code.js: Exiting:\n' + ' Fallthrough.\n' + ' arrNav[' + i + ']=' + arrNav[i] + '\n' + ' intSubLevel=' + intSubLevel + '\n' + ' intPrevSubLevel=' + intPrevSubLevel + '\n' + ' intNextSubLevel=' + intNextSubLevel + '\n' + ' strSubNav=' + strSubNav); return; // Only should happen if the Wiki-navigation is poorly formed. } } else { // Close and reset the subnav string and start over if (strSubNav != '') { strSubNavs += strSubNav; strSubNav = ''; } } // If we have dropped below level 3 and we've got submenus to add, do so. if (intSubLevel < 3 && boolSubMenu4) { var subnav3 = $('.WikiHeader nav').find(strSubMenu2); // Non-links unfortunately match every non-link, so we need to find the // correct one. if (strSubMenu2a != '') { subnav3.each(function(index) { var subnav2 = $(this).parent().find('.subnav-2a'); // Unfortunately the chevron string changes slightly so we // can't match to the whole thing. var strMatch = strSubMenu2a + imgChevron('down').substr(0, 5); if (subnav2.html().substr(0, strMatch.length) == strMatch) { // We've found the right one, so save just the one we want to modify. subnav3 = $(this); return false; } }); } subnav3.addClass("subnav-3-with-subnav-4"); subnav3.html(strSubNavs); boolSubMenu4 = false; } // Grab any level 2 submenu we encounter and reset the subnavs string. if (intSubLevel == 2) { strSubMenu2 = subNavLevel(arrNav[i], 'findlink'); // For menu items with no links, store the displayname if (Array.isArray(strSubMenu2)) { strSubMenu2a = strSubMenu2[1]; strSubMenu2 = strSubMenu2[0]; } else strSubMenu2a = ''; strSubNavs = ''; boolSubMenu4 = false; } } var mColor = getMenuColor(); if (mColor) { $('.WikiHeader nav').find('.subnav-4') .css({ backgroundColor: mColor }); $('.WikiHeader nav').find('.subnav-5') .css({ backgroundColor: mColor }); $('.WikiHeader nav').find('.chevron-right') .css({ borderLeftColor: mColor }); } }); /* * Function to determine the subnav level (i.e. the number of leading asterisks). * * The strReturnLink argument changes the behavior of this function in several ways: * no argument - simply return the subnav level * 'link' - returns the basic HTML link * 'findlink' - returns HTML link text suitable for finding in Wikia nav HTML * 'fulllink' - returns the full HTML link with display text and closing tag * 'sublink' - returns the HTML link with the proper subnav class * 'fullsublink' - return the full HTML link with display text, subnav and closing * 'display' - returns the display name * * Example 1: * subNavLevel('***Barbarian') * return 3; * subNavLevel('***Barbarian', 'findlink') * return 'a[href="/wiki/Barbarian"] + .subnav-4'; * subNavLevel('***Barbarian', 'link') * return ''; * subNavLevel('***Barbarian', 'fulllink') * return 'Barbarian'; * subNavLevel('***Barbarian', 'sublink') * return ''; * subNavLevel('***Barbarian', 'fullsublink') * return 'Barbarian' + * imgChevron() + ''; * subNavLevel('***Barbarian', 'display') * return 'Barbarian'; * * Example 2: * subNavLevel('****Loading_Screen_Hints|Loading Screen Hints') * return 4; * subNavLevel('****User:Spottra|Spottra', 'findlink') * return 'a[href="/wiki/User:Spottra"] + .subnav-5'; * subNavLevel('****User:Spottra|Spottra', 'link') * return ''; * subNavLevel('****User:Spottra|Spottra', 'fulllink') * return 'Spottra'; * subNavLevel('****User:Spottra|Spottra', 'sublink') * return ''; * subNavLevel('****User:Spottra|Spottra', 'fullsublink') * return '' + * 'Spottra' + imgChevron() + ''; * subNavLevel('****User:Spottra|Spottra', 'display) * return 'Spottra'; */ function subNavLevel(strNav, strReturnLink) { if (strNav == undefined) return; var idx = 0; while (idx < strNav.length && strNav.substr(idx, 1) == '*') idx ++; if (!strReturnLink) return idx; strNav = strNav.substr(idx); if (strNav.substr(0, 8) == '' && strNav.substr(strNav.length - 9) == '') { // A nowiki tag means we use a nonfunctional link ('#') and use the // entire string as the display. strNav = ['#', strNav.substr(8, strNav.length - 17)]; } else { strNav = strNav.split('|'); if (strNav.length == 1) strNav = [strNav[0], strNav[0]]; // Hopefully will fix Chinese URLs without breaking the others strNav[0] = '/wiki/' + encodeURIComponent(strNav[0].replace(new RegExp(' ', 'g'), '_')); } switch (strReturnLink) { case 'link': return ''; case 'findlink': { if (strNav[0] == '#') return ['a[href="' + strNav[0] + '"] + .subnav-' + (idx + 1), strNav[1]]; return 'a[href="' + strNav[0] + '"] + .subnav-' + (idx + 1); } case 'sublink': return ''; case 'fulllink': return '' + strNav[1] + ''; case 'fullsublink': return '' + strNav[1] + imgChevron() + ''; case 'display': return strNav[1]; } } // Function to determine appropriate menu color. Adapted from Wikimarks // code, http://wikimarks.wikia.com/wiki/Client.js, © Peter Coester, 2012. var menuColor; function getMenuColor() { if (menuColor && menuColor.length) return menuColor; var header = $('#WikiHeader'); var bgColor = $('#WikiaPageBackground').css('background-color'); if (bgColor == 'transparent') bgColor = $('#WikiaPage').css('background-color'); var navBg = $('.navbackground', header); menuColor = bgColor; if (navBg.length) menuColor = navBg.css('background-color'); else { var pageHeader = $('#WikiaPageHeader'); if (pageHeader.length) menuColor = pageHeader.css('border-bottom-color'); } return menuColor; } //
Monobook.js
importArticles({ type: "script", articles: [ "w:dev:ShowHide/code.js", /* Collapsible elements and tables */ "w:c:dev:ReferencePopups/code.js", /* Reference Popups */ ] });
Templates on FANDOM
Navigation bar
About
Guidelines
Links
FANDOM
Fan Central
BETA
Games
Anime
Movies
TV
Video
Wikis
Explore Wikis
Community Central
Start a Wiki
Don't have an account?
Register
Sign In
Sign In
Register
Thorgal Wiki
156
pages
Explore
Main Page
Discuss
All Pages
Community
Interactive Maps
Recent Blog Posts
Comics
Thorgal
Characters
Humans
People of the Stars
Vikings
Chaams
Xinjin
Brek Zarith people
People of Aran
Unaffiliated
Dwarves
Tjahzi
Ivaldir
Half Gods
Gods
Vigrid
Frigg
Poseidon
Jötnar
Nixes
Other beings
Guardian of the Keys
Nidhogg
Alinoë
Muff
Universe
Worlds
Second World
Asgard
Valhalla
Garden of Asgard
Jötunheimr
Dwarf Land
Midgard
Earth
Northland
Kingdom of Brek Zarith
Land of Aran
Land of Qa
Atlantis
Niflheim
Other worlds
Whirlpool Island
Gateways
Horizon
Bifrost
Items
Freyja's Rings
Tears of Tjahzi
Mnemo-disk
Psycho-transmitter
Ring of Ouroboros
Timeline
Community
Recently Changed Pages
Aaricia
Jolan
Thorgal Aegirsson
Louve
Aniel
Thorgal Wiki
Giants (comic)
Recent blog posts
Wiki
Users
Admins
Wiki Oasis skin CSS (default skin)
Wiki Monobook skin CSS
Wiki Common CSS (affects Monobook and Oasis skin)
// // Code by Spottra of Clash of Clans Wiki, October 2013. // Current version: 1.1, November 2013. // // If you choose to copy this code, please leave the attribution at the top. // // Sub-navigation levels 4 and 5 // ============================= // This code extends the MediaWiki:Wiki-navigation to enable level 4 and 5 // submenus. Simply edit the MediaWiki:Wiki-navigation file as normal and // use '****' and '*****' to indicate where level 4 and 5 submenus should // appear. // // The corresponding CSS required for proper display of the level 4 and 5 // submenus is located at MediaWiki:Wikia.css/SubNav.css. // // Supports: // * '****Link name' construct. Link spaces will be replaced by underscores. // * '****Link name|Display name' construct. Link spaces also replaced. // * '****Display name' construct for menus without links. // // Notes: // * The navigation preview does not display the level 4 or 5 submenus, as it // does not call any custom Javascript. You will need to publish your changes // and then refresh the page in order to see their effects. // * Publishing the Wiki-navigation page does not call any custom Javascript // either, which is why the page refresh is necessary. The previous level 4 // and 5 submenus will appear until the page is refreshed. Note that you do // not need to clear cache; a simple refresh is all that is required (or // browse to another page). // // Limitations: // * Currently, the level 3 submenus must either have unique links, or for // level 3 submenus that are not configured as links // (i.e. Menu name), they must be uniquely named. This code // uses .find() to locate the proper level 3 submenu to build the extra HTML, // and non-unique names will result in the menu being added to all matches. function timeStamp_ExtendedNavigation_js() { return "2013.11.26 17:46 (UTC-8)"; } // Importing required CSS window.importArticle({ type: 'style', article: 'u:dev:ExtendedNavigation/code.css' }); function imgChevron(strDirection) { if (strDirection == 'down') return ''; return ''; } $.get("/wiki/MediaWiki:Wiki-navigation?action=raw").done(function(data) { var arrNav = data.split('\n'); var strSubNav = ''; var strSubNavs = ''; var strSubMenu2 = ''; var strSubMenu2a = ''; var boolSubMenu4 = false; console.log('ExtendedNavigation/code.js: Creating custom menus'); for (var i = 0; i < arrNav.length; i ++) { var intSubLevel = subNavLevel(arrNav[i]); // Check for level 3 or greater subnav. We will build all level 3+ menus // but only add them if we need to (i.e. if we encounter a level 4+ // somewhere. if (intSubLevel >= 3) { if (i == 0) { console.log('ExtendedNavigation/code.js: Exiting:\n' + ' Level 3+ subnav on first line of Wiki-navigation file.\n' + ' arrNav[' + i + ']=' + arrNav[i] + '\n' + ' intSubLevel=' + intSubLevel + '\n' + ' strSubNav=' + strSubNav); return; // Shouldn't happen, but exit gracefully if it does. } // Check both the previous and the next entries. intPrevSubLevel = subNavLevel(arrNav[i - 1]); intNextSubLevel = (i == arrNav.length - 1 ? 0 : subNavLevel(arrNav[i + 1])); if (intSubLevel > intPrevSubLevel + 1) { // The only valid choices for submenus are: // * intSubLevel == intPrevSubLevel (the current menu continues) // * intSubLevel == intPrevSubLevel + 1 (new submenu) // * intSubLevel < intPrevSubLevel (the current menu ends) // Anything else and we simply exit due to bad formation. console.log('ExtendedNavigation/code.js: Exiting:\n' + ' Submenu structure badly formed.\n' + ' arrNav[' + i + ']=' + arrNav[i] + '\n' + ' intSubLevel=' + intSubLevel + '\n' + ' intPrevSubLevel=' + intPrevSubLevel + '\n' + ' intNextSubLevel=' + intNextSubLevel + '\n' + ' strSubNav=' + strSubNav); return; } // If we've encountered a level 4+ submenu, we'll need to add it. if (intSubLevel == 4) boolSubMenu4 = true; if (intNextSubLevel == intSubLevel + 1) { // We've encountered the beginning of a new submenu. if (intSubLevel > 3) { // For sublevels > 3, add a new class. strSubNav += (strSubNav == '' ? '' : '\n'); strSubNav += ''; } else { // Otherwise just add a tag. strSubNav += (strSubNav == '' ? '' : '\n'); strSubNav += ''; } strSubNav += (strSubNav == '' ? '' : '\n'); strSubNav += subNavLevel(arrNav[i], 'fullsublink'); strSubNav += '\n' + ''; } else if (intNextSubLevel < intSubLevel) { // We've encountered the end of a submenu. strSubNav += (strSubNav == '' ? '' : '\n'); strSubNav += '' + subNavLevel(arrNav[i], 'fulllink') + ''; strSubNav += '\n' + ''; if (intSubLevel - intNextSubLevel > 1 && strSubNav != '') { // If we're closing more than one submenu, add additional closing tags. var intClosingTags = intSubLevel - intNextSubLevel; while (intClosingTags > 1) { strSubNav += '\n' + ''; intClosingTags --; } } } else if (intSubLevel == intNextSubLevel) { // Garden variety submenu. strSubNav += '\n' + '' + subNavLevel(arrNav[i], 'fulllink') + ''; } else { console.log('ExtendedNavigation/code.js: Exiting:\n' + ' Fallthrough.\n' + ' arrNav[' + i + ']=' + arrNav[i] + '\n' + ' intSubLevel=' + intSubLevel + '\n' + ' intPrevSubLevel=' + intPrevSubLevel + '\n' + ' intNextSubLevel=' + intNextSubLevel + '\n' + ' strSubNav=' + strSubNav); return; // Only should happen if the Wiki-navigation is poorly formed. } } else { // Close and reset the subnav string and start over if (strSubNav != '') { strSubNavs += strSubNav; strSubNav = ''; } } // If we have dropped below level 3 and we've got submenus to add, do so. if (intSubLevel < 3 && boolSubMenu4) { var subnav3 = $('.WikiHeader nav').find(strSubMenu2); // Non-links unfortunately match every non-link, so we need to find the // correct one. if (strSubMenu2a != '') { subnav3.each(function(index) { var subnav2 = $(this).parent().find('.subnav-2a'); // Unfortunately the chevron string changes slightly so we // can't match to the whole thing. var strMatch = strSubMenu2a + imgChevron('down').substr(0, 5); if (subnav2.html().substr(0, strMatch.length) == strMatch) { // We've found the right one, so save just the one we want to modify. subnav3 = $(this); return false; } }); } subnav3.addClass("subnav-3-with-subnav-4"); subnav3.html(strSubNavs); boolSubMenu4 = false; } // Grab any level 2 submenu we encounter and reset the subnavs string. if (intSubLevel == 2) { strSubMenu2 = subNavLevel(arrNav[i], 'findlink'); // For menu items with no links, store the displayname if (Array.isArray(strSubMenu2)) { strSubMenu2a = strSubMenu2[1]; strSubMenu2 = strSubMenu2[0]; } else strSubMenu2a = ''; strSubNavs = ''; boolSubMenu4 = false; } } var mColor = getMenuColor(); if (mColor) { $('.WikiHeader nav').find('.subnav-4') .css({ backgroundColor: mColor }); $('.WikiHeader nav').find('.subnav-5') .css({ backgroundColor: mColor }); $('.WikiHeader nav').find('.chevron-right') .css({ borderLeftColor: mColor }); } }); /* * Function to determine the subnav level (i.e. the number of leading asterisks). * * The strReturnLink argument changes the behavior of this function in several ways: * no argument - simply return the subnav level * 'link' - returns the basic HTML link * 'findlink' - returns HTML link text suitable for finding in Wikia nav HTML * 'fulllink' - returns the full HTML link with display text and closing tag * 'sublink' - returns the HTML link with the proper subnav class * 'fullsublink' - return the full HTML link with display text, subnav and closing * 'display' - returns the display name * * Example 1: * subNavLevel('***Barbarian') * return 3; * subNavLevel('***Barbarian', 'findlink') * return 'a[href="/wiki/Barbarian"] + .subnav-4'; * subNavLevel('***Barbarian', 'link') * return ''; * subNavLevel('***Barbarian', 'fulllink') * return 'Barbarian'; * subNavLevel('***Barbarian', 'sublink') * return ''; * subNavLevel('***Barbarian', 'fullsublink') * return 'Barbarian' + * imgChevron() + ''; * subNavLevel('***Barbarian', 'display') * return 'Barbarian'; * * Example 2: * subNavLevel('****Loading_Screen_Hints|Loading Screen Hints') * return 4; * subNavLevel('****User:Spottra|Spottra', 'findlink') * return 'a[href="/wiki/User:Spottra"] + .subnav-5'; * subNavLevel('****User:Spottra|Spottra', 'link') * return ''; * subNavLevel('****User:Spottra|Spottra', 'fulllink') * return 'Spottra'; * subNavLevel('****User:Spottra|Spottra', 'sublink') * return ''; * subNavLevel('****User:Spottra|Spottra', 'fullsublink') * return '' + * 'Spottra' + imgChevron() + ''; * subNavLevel('****User:Spottra|Spottra', 'display) * return 'Spottra'; */ function subNavLevel(strNav, strReturnLink) { if (strNav == undefined) return; var idx = 0; while (idx < strNav.length && strNav.substr(idx, 1) == '*') idx ++; if (!strReturnLink) return idx; strNav = strNav.substr(idx); if (strNav.substr(0, 8) == '' && strNav.substr(strNav.length - 9) == '') { // A nowiki tag means we use a nonfunctional link ('#') and use the // entire string as the display. strNav = ['#', strNav.substr(8, strNav.length - 17)]; } else { strNav = strNav.split('|'); if (strNav.length == 1) strNav = [strNav[0], strNav[0]]; // Hopefully will fix Chinese URLs without breaking the others strNav[0] = '/wiki/' + encodeURIComponent(strNav[0].replace(new RegExp(' ', 'g'), '_')); } switch (strReturnLink) { case 'link': return ''; case 'findlink': { if (strNav[0] == '#') return ['a[href="' + strNav[0] + '"] + .subnav-' + (idx + 1), strNav[1]]; return 'a[href="' + strNav[0] + '"] + .subnav-' + (idx + 1); } case 'sublink': return ''; case 'fulllink': return '' + strNav[1] + ''; case 'fullsublink': return '' + strNav[1] + imgChevron() + ''; case 'display': return strNav[1]; } } // Function to determine appropriate menu color. Adapted from Wikimarks // code, http://wikimarks.wikia.com/wiki/Client.js, © Peter Coester, 2012. var menuColor; function getMenuColor() { if (menuColor && menuColor.length) return menuColor; var header = $('#WikiHeader'); var bgColor = $('#WikiaPageBackground').css('background-color'); if (bgColor == 'transparent') bgColor = $('#WikiaPage').css('background-color'); var navBg = $('.navbackground', header); menuColor = bgColor; if (navBg.length) menuColor = navBg.css('background-color'); else { var pageHeader = $('#WikiaPageHeader'); if (pageHeader.length) menuColor = pageHeader.css('border-bottom-color'); } return menuColor; } //
Monobook.js
importArticles({ type: "script", articles: [ "w:dev:ShowHide/code.js", /* Collapsible elements and tables */ "w:c:dev:ReferencePopups/code.js", /* Reference Popups */ ] });
Templates on FANDOM
Navigation bar
About
Guidelines
Links
Xinjin
Category page
Sign in to edit
History
Talk (0)
A category containing all notable
Xinjin
.
All items (1)
#
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Other
V
Variay
Follow on IG
TikTok
Join Fan Lab