Fandom Developers Wiki
mNo edit summary
No edit summary
 
(99 intermediate revisions by 17 users not shown)
Line 4: Line 4:
 
;(function ($, mw, cfg) {
 
;(function ($, mw, cfg) {
 
'use strict';
 
'use strict';
  +
 
 
var urlVars = new URLSearchParams(location.search);
 
var urlVars = new URLSearchParams(location.search);
 
// killswitch & dblrun protection
 
// killswitch & dblrun protection
 
if (urlVars.get('nodemo') || cfg.loaded) return;
 
if (urlVars.get('nodemo') || cfg.loaded) return;
 
cfg.loaded = true;
 
cfg.loaded = true;
  +
 
 
var includes = {
 
var includes = {
 
/**
 
/**
Line 24: Line 24:
 
* - disabledByDefault: demo only loads with a `demo` parameter in the URL
 
* - disabledByDefault: demo only loads with a `demo` parameter in the URL
 
*
 
*
**/
+
*/
  +
 
  +
AccentColorButtons: {
  +
page: 'AccentColorButtons',
  +
styles: 'MediaWiki:AccentColorButtons.css'
  +
},
  +
  +
Accordion: {
  +
page: 'Global_Lua_Modules/Accordion',
  +
scripts: 'MediaWiki:Accordion.js'
  +
},
  +
 
ActivityFeedMimic: {
 
ActivityFeedMimic: {
 
page: 'ActivityFeedMimic',
 
page: 'ActivityFeedMimic',
 
styles: 'MediaWiki:ActivityFeedMimic.css'
 
styles: 'MediaWiki:ActivityFeedMimic.css'
 
},
 
},
  +
 
AjaxRename: {
 
page: 'AjaxRename',
 
styles: 'MediaWiki:AjaxRename.css',
 
scripts: 'MediaWiki:AjaxRename/code.js'
 
},
 
 
 
BackToTopButton: {
 
BackToTopButton: {
 
page: 'BackToTopButton',
 
page: 'BackToTopButton',
Line 44: Line 48:
 
}
 
}
 
},
 
},
  +
 
BlendGlobalNav: {
+
BalancedDiscord: {
page: 'BlendGlobalNav',
+
page: 'BalancedDiscord',
styles: 'MediaWiki:BlendGlobalNav.css'
+
styles: 'MediaWiki:BalancedDiscord.css'
 
},
 
},
  +
 
  +
BalancedGlobalNavigation: {
ClassicDevWikiTheme: {
 
  +
page: 'BalancedGlobalNavigation',
page: 'ClassicDevWikiTheme',
 
styles: 'MediaWiki:ClassicDevWikiTheme.css'
+
styles: 'MediaWiki:BalancedGlobalNavigation.css'
  +
},
},
 
  +
 
  +
BalancedPageBottom: {
  +
page: 'BalancedPageBottom',
  +
styles: 'MediaWiki:BalancedPageBottom.css'
  +
},
  +
  +
BalancedScrollbar: {
  +
page: 'BalancedScrollbar',
  +
styles: 'MediaWiki:BalancedScrollbar.css'
  +
},
  +
  +
BalancedUCX: {
  +
page: 'BalancedUCX',
  +
styles: 'MediaWiki:BalancedUCX.css'
  +
},
  +
  +
BringExternalLinkIconsBack: {
  +
page: 'BringExternalLinkIconsBack',
  +
styles: 'MediaWiki:BringExternalLinkIconsBack.css'
  +
},
  +
  +
CalendarWidget: {
  +
page: 'Global_Lua_Modules/Calendar_widget',
  +
styles: 'MediaWiki:Global_Lua_Modules/Calendar_widget.css'
  +
},
  +
  +
ClassicDevWikiTheme: {
  +
page: 'ClassicDevWikiTheme',
  +
styles: 'MediaWiki:ClassicDevWikiTheme.css'
  +
},
  +
  +
CheapTooltip: {
  +
page: 'CheapTooltip',
  +
styles: 'MediaWiki:CheapTooltip.css'
  +
},
  +
  +
CodeblockLineNumbers: {
  +
page: 'MediaWiki:CodeblockLineNumbers/code.js',
  +
styles: 'MediaWiki:CodeblockLineNumbers/code.js'
  +
},
  +
  +
CollapsedGlobalNavigation: {
  +
page: 'CollapsedGlobalNavigation',
  +
styles: 'MediaWiki:CollapsedGlobalNavigation.css'
  +
},
  +
 
Contextlink: {
 
Contextlink: {
 
selector: '.context-link',
 
selector: '.context-link',
 
styles: 'MediaWiki:Global_Lua_Modules/Context-link.css'
 
styles: 'MediaWiki:Global_Lua_Modules/Context-link.css'
 
},
 
},
  +
 
CSSForTheColorBlind: {
+
CSS3Tooltip: {
page: 'CSSForTheColorBlind',
+
page: 'CSS3Tooltip',
styles: 'MediaWiki:CSSForTheColorBlind.css'
+
styles: 'MediaWiki:CSS3Tooltip.css',
  +
scripts: 'MediaWiki:CSS3Tooltip/code-2/demo.js'
 
},
 
},
  +
 
 
DataTables: {
 
DataTables: {
 
selector: '.datatable',
 
selector: '.datatable',
 
scripts: 'MediaWiki:DataTables.js'
 
scripts: 'MediaWiki:DataTables.js'
 
},
 
},
  +
 
DiscussionsActivity: {
 
page: 'Special:DiscussionsActivity',
 
scripts: 'MediaWiki:DiscussionsActivity.js'
 
},
 
 
 
DiscordBanner: {
 
DiscordBanner: {
 
page: 'DiscordBanner',
 
page: 'DiscordBanner',
 
scripts: 'MediaWiki:DiscordBanner.js',
 
scripts: 'MediaWiki:DiscordBanner.js',
 
exec: function () {
 
exec: function () {
  +
window.DiscordBannerSettings = {
  +
inviteLink: 'wPrVUj4'
  +
};
 
console.log('[DemoScripts] We\'re on the DiscordBanner page, so I hid the Discord rail module.');
 
console.log('[DemoScripts] We\'re on the DiscordBanner page, so I hid the Discord rail module.');
 
mw.util.addCSS('#WikiaRail .discord-module { display: none; }');
 
mw.util.addCSS('#WikiaRail .discord-module { display: none; }');
 
}
 
}
 
},
 
},
  +
 
  +
DiscordGlobalFooter: {
  +
page: 'DiscordGlobalFooter',
  +
styles: 'MediaWiki:DiscordGlobalFooter.css'
  +
},
  +
 
DiscordTheme: {
 
DiscordTheme: {
 
page: 'DiscordTheme',
 
page: 'DiscordTheme',
 
styles: 'MediaWiki:DiscordTheme.css'
 
styles: 'MediaWiki:DiscordTheme.css'
 
},
 
},
  +
 
DiscordGlobalFooter: {
+
DiscussionsActivity: {
page: 'DiscordGlobalFooter',
+
page: 'Special:DiscussionsActivity',
styles: 'MediaWiki:DiscordGlobalFooter.css'
+
scripts: 'MediaWiki:DiscussionsActivity.js'
 
},
 
},
  +
 
  +
DiscussionsFeed: {
  +
page: 'Special:DiscussionsFeed',
  +
scripts: 'MediaWiki:DiscussionsFeed.js'
  +
},
  +
  +
DiscussionsRC: {
  +
page: 'Special:DiscussionsRC',
  +
scripts: 'MediaWiki:DiscussionsRC.js'
  +
},
  +
  +
Doqs: {
  +
page: 'Doqs/demo',
  +
styles: 'MediaWiki:Doqs.css'
  +
},
  +
 
DropdownMenu: {
 
DropdownMenu: {
 
selector: '.custom-dropdown',
 
selector: '.custom-dropdown',
 
styles: 'MediaWiki:DropdownMenu.css'
 
styles: 'MediaWiki:DropdownMenu.css'
 
},
 
},
  +
 
  +
DynamicOldNav: {
EditcountTab: {
 
page: 'User:Puxlit',
+
page: 'DynamicOldNav',
scripts: 'MediaWiki:EditcountTab.js'
+
styles: 'MediaWiki:DynamicOldNav.css'
  +
},
},
 
  +
 
  +
EditcountTab: {
EditcountTag: {
 
page: 'User:Wikia',
+
page: 'User:Puxlit',
scripts: 'MediaWiki:EditcountTag/code.js'
+
scripts: 'MediaWiki:EditcountTab.js'
  +
},
},
 
  +
 
  +
EditcountTag: {
  +
page: 'User:Wikia',
  +
scripts: 'MediaWiki:EditcountTag/code.js'
  +
},
  +
  +
EditorColorPicker: {
  +
page: 'Special:EditorColorPicker',
  +
scripts: 'MediaWiki:EditorColorPicker.js'
  +
},
  +
 
EmeraldGlobalNav: {
 
EmeraldGlobalNav: {
 
page: 'EmeraldGlobalNav',
 
page: 'EmeraldGlobalNav',
 
styles: 'MediaWiki:EmeraldGlobalNav.css'
 
styles: 'MediaWiki:EmeraldGlobalNav.css'
 
},
 
},
  +
 
 
ExternalIcons: {
 
ExternalIcons: {
 
page: 'ExternalIcons',
 
page: 'ExternalIcons',
 
styles: 'MediaWiki:ExternalIcons.css'
 
styles: 'MediaWiki:ExternalIcons.css'
 
},
 
},
  +
 
 
FadedDropdowns: {
 
FadedDropdowns: {
 
page: 'FadedDropdowns',
 
page: 'FadedDropdowns',
 
styles: 'MediaWiki:FadedDropdowns.css'
 
styles: 'MediaWiki:FadedDropdowns.css'
 
},
 
},
  +
 
 
FandomIcons: {
 
FandomIcons: {
 
page: 'FandomIcons',
 
page: 'FandomIcons',
 
styles: 'MediaWiki:FandomIcons.css'
 
styles: 'MediaWiki:FandomIcons.css'
 
},
 
},
  +
 
 
Fandom95: {
 
Fandom95: {
 
page: 'Fandom95',
 
page: 'Fandom95',
styles: 'MediaWiki:Fandom95.css'
+
styles: 'MediaWiki:Fandom95.css',
  +
disabledByDefault: true
 
},
 
},
  +
 
 
FandomXP: {
 
FandomXP: {
 
page: 'FandomXP',
 
page: 'FandomXP',
 
styles: 'MediaWiki:FandomXP.css'
 
styles: 'MediaWiki:FandomXP.css'
 
},
 
},
  +
 
  +
FanFeedEnhancements: {
  +
page: 'FanFeedEnhancements',
  +
styles: 'MediaWiki:FanFeedEnhancements.css'
  +
},
  +
  +
FANSUN: {
  +
page: 'FANSUN',
  +
styles: 'MediaWiki:FANSUN.css'
  +
},
  +
 
FastFileDelete: {
 
FastFileDelete: {
 
page: 'FastFileDelete',
 
page: 'FastFileDelete',
Line 147: Line 236:
 
}
 
}
 
},
 
},
  +
 
 
FatButton: {
 
FatButton: {
 
page: 'FatButton',
 
page: 'FatButton',
 
styles: 'MediaWiki:FatButton.css'
 
styles: 'MediaWiki:FatButton.css'
 
},
 
},
  +
 
FileLogs: {
+
FileLogs: {
page: 'File:QQX_Oasis.png',
+
page: 'File:QQX_Oasis.png',
scripts: 'MediaWiki:FileLogs.js'
+
scripts: 'MediaWiki:FileLogs.js'
  +
},
},
 
  +
 
Flags: {
+
Flags: {
selector: '.flag-icon',
+
selector: '.flag-icon',
scripts: 'MediaWiki:Flags/code.js'
+
scripts: 'MediaWiki:Flags/code.js'
  +
},
},
 
  +
 
 
FloatingTitle: {
 
FloatingTitle: {
 
page: 'FloatingTitle',
 
page: 'FloatingTitle',
 
styles: 'MediaWiki:FloatingTitle.css'
 
styles: 'MediaWiki:FloatingTitle.css'
 
},
 
},
  +
 
  +
FusionButtonSet: {
  +
page: 'FusionButtonSet',
  +
styles: 'MediaWiki:FusionButtonSet.css'
  +
},
  +
  +
GamepediaTheme: {
  +
page: 'GamepediaTheme',
  +
scripts: 'MediaWiki:GamepediaNav.js',
  +
styles: ['MediaWiki:GamepediaNav.css','MediaWiki:GamepediaToolbar.css','MediaWiki:GamepediaDiscord.css'],
  +
exec: function() {
  +
$('body').addClass('is-gamepedia');
  +
}
  +
},
  +
  +
GlitchText: {
  +
page: 'GlitchText',
  +
styles: 'MediaWiki:GlitchText.css'
  +
},
  +
  +
GlobalNavDarkTheme: {
  +
page: 'GlobalNavDarkTheme',
  +
styles: 'MediaWiki:GlobalNavDarkTheme.css'
  +
},
  +
 
GlobalNavigationIcons: {
 
GlobalNavigationIcons: {
 
page: 'GlobalNavigationIcons',
 
page: 'GlobalNavigationIcons',
 
styles: 'MediaWiki:GlobalNavigationIcons.css'
 
styles: 'MediaWiki:GlobalNavigationIcons.css'
 
},
 
},
  +
 
  +
GradientHeader: {
  +
page: 'GradientHeader',
  +
styles: 'MediaWiki:GradientHeader.css'
  +
},
  +
  +
Grid: {
  +
page: 'Grid',
  +
styles: 'MediaWiki:Grid.css'
  +
},
  +
  +
Heimu: {
  +
page: 'Heimu',
  +
styles: 'MediaWiki:Heimu.css'
  +
},
  +
  +
HorizontalMCF: {
  +
page: 'HorizontalMCF',
  +
styles: 'MediaWiki:HorizontalMCF.css'
  +
},
  +
 
HydraRevived: {
 
HydraRevived: {
 
page: 'HydraRevived',
 
page: 'HydraRevived',
Line 178: Line 311:
 
styles: ['MediaWiki:HydraRevived/main.css', 'MediaWiki:HydraRevived/preload.css']
 
styles: ['MediaWiki:HydraRevived/main.css', 'MediaWiki:HydraRevived/preload.css']
 
},
 
},
  +
 
 
InfoWidgets: {
 
InfoWidgets: {
 
selector: '#infowidgets-demo',
 
selector: '#infowidgets-demo',
Line 184: Line 317:
 
scripts: 'MediaWiki:InfoWidgets/demo.js'
 
scripts: 'MediaWiki:InfoWidgets/demo.js'
 
},
 
},
  +
 
  +
InterlanguageFlags: {
  +
page: 'InterlanguageFlags',
  +
styles: 'MediaWiki:InterlanguageFlags.css'
  +
},
  +
  +
Ivory: {
  +
page: 'Ivory',
  +
styles: 'MediaWiki:Ivory.css'
  +
},
  +
 
Katsuragi: {
 
Katsuragi: {
 
page: 'Katsuragi',
 
page: 'Katsuragi',
 
styles: 'MediaWiki:Katsuragi.css'
 
styles: 'MediaWiki:Katsuragi.css'
 
},
 
},
  +
 
 
Less: {
 
Less: {
 
selector: 'body.page-MediaWiki_Custom-Less_test_less, body.page-MediaWiki_Custom-Less_test_css',
 
selector: 'body.page-MediaWiki_Custom-Less_test_less, body.page-MediaWiki_Custom-Less_test_css',
Line 209: Line 352:
 
}
 
}
 
},
 
},
  +
 
ListGroupMembers: {
+
LeafyStrap: {
page: 'Special:BlankPage',
+
page: 'LeafyStrap/demo',
scripts: 'MediaWiki:ListGroupMembers.js'
+
styles: 'MediaWiki:LeafyStrap.css'
  +
},
},
 
  +
 
  +
LegacyGlobalNavigation: {
ListSubpages: {
 
page: 'Special:BlankPage',
+
page: 'LegacyGlobalNavigation',
scripts: 'MediaWiki:ListSubpages.js'
+
styles: 'MediaWiki:LegacyGlobalNavigation.css'
  +
},
},
 
  +
 
  +
'Lightbox2.0': {
MastheadGender: {
 
page: 'User:Kirkburn',
+
page: 'Lightbox2.0',
scripts: 'MediaWiki:MastheadGender/code.js'
+
styles: 'MediaWiki:Lightbox2.0.css'
  +
},
},
 
  +
 
  +
ListGroupMembers: {
MastheadRightsBadge: {
 
page: 'User:Americhino',
+
page: 'Special:BlankPage',
scripts: 'MediaWiki:MastheadRightsBadge.js'
+
scripts: 'MediaWiki:ListGroupMembers.js'
  +
},
},
 
  +
 
  +
LocalNavExploreIcons: {
  +
page: 'LocalNavExploreIcons',
  +
scripts: 'MediaWiki:LocalNavExploreIcons.css'
  +
},
  +
  +
MastheadGender: {
  +
page: 'User:Kirkburn',
  +
scripts: 'MediaWiki:MastheadGender/code.js'
  +
},
  +
  +
MastheadRightsBadge: {
  +
page: 'User:Fandom',
  +
scripts: 'MediaWiki:MastheadRightsBadge.js'
  +
},
  +
 
Mbox: {
 
Mbox: {
 
selector: '.mbox',
 
selector: '.mbox',
 
styles: 'MediaWiki:Global_Lua_Modules/Mbox.css'
 
styles: 'MediaWiki:Global_Lua_Modules/Mbox.css'
 
},
 
},
  +
 
 
MiniComplete: {
 
MiniComplete: {
 
page: 'MiniComplete',
 
page: 'MiniComplete',
 
exec: function () {
 
exec: function () {
 
mw.loader.implement( 'minicomplete',
 
mw.loader.implement( 'minicomplete',
[ '/load.php?mode=articles&articles=u%3Acamtest%3AMediaWiki%3ATextareaHelper.js%7Cu%3Adev%3AColors%2Fcode.js%7Cu%3Adev%3AMiniComplete%2Fcode.js&only=scripts' ],
+
[ '/load.php?mode=articles&articles=u%3Acamtest%3AMediaWiki%3ATextareaHelper.js%7Cu%3Adev%3AMediaWiki%3AColors%2Fcode.js%7Cu%3Adev%3AMediaWiki%3AMiniComplete%2Fcode.js&only=scripts' ],
 
{}, {} );
 
{}, {} );
 
$( '#minicomplete-demo' )
 
$( '#minicomplete-demo' )
Line 263: Line 421:
 
}
 
}
 
},
 
},
  +
 
  +
MinimalScrollbar: {
  +
page: 'MinimalScrollbar',
  +
styles: 'MediaWiki:MinimalScrollbar.css'
  +
},
  +
  +
MinimalTestModeAlert: {
  +
page: 'MinimalTestModeAlert',
  +
scripts: 'MediaWiki:MinimalTestModeAlert.js',
  +
exec: function() {
  +
// This variable doesn't seem to affect anything else
  +
mw.config.set('wgIsTestModeEnabled', true);
  +
}
  +
},
  +
  +
MinutelyWider: {
  +
page: 'MinutelyWider',
  +
scripts: 'MediaWiki:MinutelyWider.css'
  +
},
  +
 
MisspelledPage: {
 
MisspelledPage: {
 
// Cannot be moved to JSON, does not match base page name.
 
// Cannot be moved to JSON, does not match base page name.
Line 269: Line 446:
 
scripts: 'MediaWiki:MisspelledPage/code.js'
 
scripts: 'MediaWiki:MisspelledPage/code.js'
 
},
 
},
  +
 
 
ModernWikiNavigation: {
 
ModernWikiNavigation: {
 
page: 'ModernWikiNavigation',
 
page: 'ModernWikiNavigation',
 
styles: 'MediaWiki:ModernWikiNavigation.css'
 
styles: 'MediaWiki:ModernWikiNavigation.css'
 
},
 
},
  +
 
MoreSocialLinks: {
+
MoreSocialLinks: {
page: 'User:KockaAdmiralac',
+
page: 'User:KockaAdmiralac',
scripts: 'MediaWiki:MoreSocialLinks.js'
+
scripts: 'MediaWiki:MoreSocialLinks.js'
  +
},
},
 
  +
 
  +
MovingWordmark: {
MultipleActivity: {
 
  +
page: 'MovingWordmark',
page: 'Special:MultipleActivity',
 
scripts: 'MediaWiki:MultipleActivity.js'
+
scripts: 'MediaWiki:MovingWordmark.css'
  +
},
},
 
  +
 
  +
MultipleActivity: {
  +
page: 'Special:MultipleActivity',
  +
scripts: 'MediaWiki:MultipleActivity.js'
  +
},
  +
 
Navbox: {
 
Navbox: {
 
page: 'Global_Lua_Modules/Navbox',
 
page: 'Global_Lua_Modules/Navbox',
 
styles: 'MediaWiki:Global_Lua_Modules/Navbox.css',
 
styles: 'MediaWiki:Global_Lua_Modules/Navbox.css',
 
},
 
},
  +
 
 
NavboxBuilder: {
 
NavboxBuilder: {
 
selector: '.navbox .navbox-table-wrapper',
 
selector: '.navbox .navbox-table-wrapper',
 
styles: 'MediaWiki:Global_Lua_Modules/NavboxBuilder.css'
 
styles: 'MediaWiki:Global_Lua_Modules/NavboxBuilder.css'
 
},
 
},
  +
 
 
NoGlobalNav: {
 
NoGlobalNav: {
page: 'NoGlobalNav',
+
page: 'NoGlobalNav',
styles: 'MediaWiki:NoGlobalNav.css',
+
styles: 'MediaWiki:NoGlobalNav.css',
scripts: 'MediaWiki:NoGlobalNav.js'
+
scripts: 'MediaWiki:NoGlobalNav.js'
 
},
 
},
  +
 
 
OasisRevived: {
 
OasisRevived: {
 
page: 'OasisRevived',
 
page: 'OasisRevived',
Line 307: Line 489:
 
disabledByDefault: true
 
disabledByDefault: true
 
},
 
},
  +
 
  +
OfficialWikisBadge: {
  +
page: 'OfficialWikisBadge',
  +
styles: 'MediaWiki:OfficialWikisBadge.css'
  +
},
  +
 
OldFandomColors: {
 
OldFandomColors: {
 
page: 'OldFandomColors',
 
page: 'OldFandomColors',
Line 313: Line 500:
 
scripts: 'MediaWiki:OldFandomColors.js'
 
scripts: 'MediaWiki:OldFandomColors.js'
 
},
 
},
  +
 
OldOasisTheme: {
 
page: 'OldOasisTheme',
 
styles: 'MediaWiki:OldOasisTheme.css'
 
},
 
 
 
OldWikiaBar: {
 
OldWikiaBar: {
 
page: 'OldWikiaBar',
 
page: 'OldWikiaBar',
 
styles: 'MediaWiki:OldWikiaBar.css'
 
styles: 'MediaWiki:OldWikiaBar.css'
 
},
 
},
  +
 
 
PortableNavbox: {
 
PortableNavbox: {
 
selector: '.portable-infobox.pi-theme-navbox',
 
selector: '.portable-infobox.pi-theme-navbox',
 
styles: 'MediaWiki:PortableNavbox.css'
 
styles: 'MediaWiki:PortableNavbox.css'
 
},
 
},
  +
 
ProfileTags: {
+
ProfileIconsTextless: {
page: 'User:Rappy',
+
page: 'ProfileIconsTextless',
scripts: 'MediaWiki:ProfileTags.js'
+
styles: 'MediaWiki:ProfileIconsTextless.css'
  +
},
},
 
  +
 
ProtectionIcons: {
+
ProfileTags: {
  +
selector: 'body.page-User_Rappy, body.page-MediaWiki_ProfileTags',
page: 'Module:Sandbox',
 
scripts: 'MediaWiki:ProtectionIcons.js'
+
scripts: 'MediaWiki:ProfileTags.js'
  +
},
},
 
  +
 
  +
ProtectionIcons: {
  +
page: 'Module:Sandbox',
  +
scripts: 'MediaWiki:ProtectionIcons.js'
  +
},
  +
 
ProgressBar: {
 
ProgressBar: {
 
page: 'ProgressBar',
 
page: 'ProgressBar',
 
styles: 'MediaWiki:ProgressBar.css'
 
styles: 'MediaWiki:ProgressBar.css'
 
},
 
},
  +
 
 
PseudoMonobook: {
 
PseudoMonobook: {
 
page: 'PseudoMonobook',
 
page: 'PseudoMonobook',
 
styles: 'MediaWiki:PseudoMonobook.css'
 
styles: 'MediaWiki:PseudoMonobook.css'
 
},
 
},
  +
 
 
QuickLogs: {
 
QuickLogs: {
 
page: 'Special:Contributions/Wikia',
 
page: 'Special:Contributions/Wikia',
 
scripts: 'MediaWiki:QuickLogs/code.js'
 
scripts: 'MediaWiki:QuickLogs/code.js'
 
},
 
},
  +
 
 
Quote: {
 
Quote: {
 
selector: '.pull-quote',
 
selector: '.pull-quote',
 
styles: 'MediaWiki:Global_Lua_Modules/Quote.css'
 
styles: 'MediaWiki:Global_Lua_Modules/Quote.css'
 
},
 
},
  +
 
 
ReferencePopups: {
 
ReferencePopups: {
 
page: 'ReferencePopups/demo',
 
page: 'ReferencePopups/demo',
Line 365: Line 552:
 
subpages: false
 
subpages: false
 
},
 
},
  +
 
 
ResponsiveMobile: {
 
ResponsiveMobile: {
 
page: 'ResponsiveMobile',
 
page: 'ResponsiveMobile',
 
styles: 'MediaWiki:ResponsiveMobile.css'
 
styles: 'MediaWiki:ResponsiveMobile.css'
 
},
 
},
  +
 
SearchSuggest: {
+
Ripples: {
page: 'Special:Search',
+
page: 'Ripple',
scripts: 'MediaWiki:SearchSuggest/code.js'
+
styles: ['MediaWiki:Ripple.css', 'MediaWiki:Ripple.css/demo.css'],
  +
scripts: 'MediaWiki:Ripple.js'
},
 
 
ShowHide: {
 
page: 'ShowHide',
 
scripts: 'MediaWiki:ShowHide/code.js',
 
styles: 'MediaWiki:ShowHide.css',
 
exec: function() {
 
// allow to show the banner on the doc page
 
window.ShowHideDisplayWarning = true;
 
// show the banner every time
 
try {
 
window.localStorage.removeItem('ShowHide-warning');
 
} catch (ex) {}
 
},
 
 
},
 
},
  +
 
  +
RoundedDesign: {
  +
page: 'RoundedDesign',
  +
styles: 'MediaWiki:RoundedDesign.css'
  +
},
  +
  +
SpoilerAlert: {
  +
page: 'SpoilerAlert/Demo',
  +
styles: 'MediaWiki:SpoilerAlert/code.js'
  +
},
  +
  +
SpoilerBlur: {
  +
page: 'SpoilerBlur',
  +
styles: 'MediaWiki:SpoilerBlur.css'
  +
},
  +
  +
SpoilerTags: {
  +
page: 'SpoilerTags',
  +
scripts: 'MediaWiki:SpoilerTags.js',
  +
styles: 'MediaWiki:SpoilerTags.css'
  +
},
  +
  +
SearchSuggest: {
  +
page: 'Special:Search',
  +
scripts: 'MediaWiki:SearchSuggest/code.js'
  +
},
  +
  +
SlightlyWider: {
  +
page: "SlightlyWider",
  +
styles: "MediaWiki:SlightlyWider.css",
  +
disabledByDefault: true
  +
},
  +
 
SnowStorm: {
 
SnowStorm: {
 
page: 'SnowStorm/Demo',
 
page: 'SnowStorm/Demo',
Line 395: Line 601:
 
styles: 'MediaWiki:SnowStorm/demo.css'
 
styles: 'MediaWiki:SnowStorm/demo.css'
 
},
 
},
  +
 
 
SnowStorm1: {
 
SnowStorm1: {
 
page: 'SnowStorm/Demo1',
 
page: 'SnowStorm/Demo1',
Line 401: Line 607:
 
styles: 'MediaWiki:SnowStorm/demo.css'
 
styles: 'MediaWiki:SnowStorm/demo.css'
 
},
 
},
  +
 
 
SnowStormCSS: {
 
SnowStormCSS: {
 
page: 'SnowStormCSS',
 
page: 'SnowStormCSS',
 
styles: 'MediaWiki:SnowStormCSS.css'
 
styles: 'MediaWiki:SnowStormCSS.css'
 
},
 
},
  +
 
  +
SolarizedSyntaxHighlight: {
  +
page: 'SolarizedSyntaxHighlight',
  +
styles: 'MediaWiki:SolarizedSyntaxHighlight.css'
  +
},
  +
 
Standard_Edit_Summary: {
 
Standard_Edit_Summary: {
 
page: 'Standard_Edit_Summary',
 
page: 'Standard_Edit_Summary',
Line 416: Line 627:
 
}
 
}
 
},
 
},
  +
 
  +
Stella: {
  +
page: 'Special:BlankPage',
  +
scripts: 'MediaWiki:Stella.js'
  +
},
  +
  +
StylizedDiff: {
  +
page: 'StylizedDiff',
  +
styles: 'MediaWiki:StylizedDiff.css'
  +
},
  +
  +
StylizedTabs: {
  +
page: 'StylizedTabs',
  +
styles: 'MediaWiki:StylizedTabs.css'
  +
},
  +
 
Tabber: {
 
Tabber: {
 
page: 'Global_Lua_Modules/Tabber',
 
page: 'Global_Lua_Modules/Tabber',
 
styles: 'MediaWiki:Global_Lua_Modules/Tabber.css'
 
styles: 'MediaWiki:Global_Lua_Modules/Tabber.css'
 
},
 
},
  +
 
  +
TabberLinks: {
  +
page: "TabberLinks",
  +
styles: 'MediaWiki:Global_Lua_Modules/Tabber.css',
  +
scripts: 'MediaWiki:TabberLinks.js'
  +
},
  +
 
TableHash: {
 
TableHash: {
 
page: 'TableHash',
 
page: 'TableHash',
Line 427: Line 659:
 
styles: 'MediaWiki:TableHash.css'
 
styles: 'MediaWiki:TableHash.css'
 
},
 
},
  +
 
  +
ThemeBasedStyling: {
  +
page: 'ThemeBasedStyling',
  +
styles: 'MediaWiki:ThemeBasedStyling.css'
  +
},
  +
 
ThemeColorClasses: {
 
ThemeColorClasses: {
page: 'ThemeColorClasses',
+
page: 'ThemeColorClasses',
styles: 'MediaWiki:ThemeColorClasses.css'
+
styles: 'MediaWiki:ThemeColorClasses.css'
 
},
 
},
  +
 
  +
ThemedFandomBranding: {
  +
page: 'ThemedFandomBranding',
  +
styles: 'MediaWiki:ThemedFandomBranding.css'
  +
},
  +
 
TimedSlider: {
 
TimedSlider: {
 
page: 'TimedSlider',
 
page: 'TimedSlider',
Line 438: Line 680:
 
styles: 'MediaWiki:TimedSlider.css'
 
styles: 'MediaWiki:TimedSlider.css'
 
},
 
},
  +
 
 
Tooltips: {
 
Tooltips: {
 
page: 'Tooltips',
 
page: 'Tooltips',
Line 456: Line 698:
 
}
 
}
 
},
 
},
  +
 
  +
TopGlobalNav: {
  +
page: 'TopGlobalNav',
  +
styles: 'MediaWiki:TopGlobalNav.css'
  +
},
  +
 
TZclock: {
 
TZclock: {
 
page: 'TZclock',
 
page: 'TZclock',
Line 462: Line 709:
 
styles: 'MediaWiki:TZclock.css'
 
styles: 'MediaWiki:TZclock.css'
 
},
 
},
  +
 
 
UpgradedToolbar: {
 
UpgradedToolbar: {
 
page: 'UpgradedToolbar',
 
page: 'UpgradedToolbar',
 
styles: 'MediaWiki:UpgradedToolbar.css'
 
styles: 'MediaWiki:UpgradedToolbar.css'
 
},
 
},
  +
 
 
UserActivityTab: {
 
UserActivityTab: {
 
page: 'User:' + mw.config.get('wgUserName'),
 
page: 'User:' + mw.config.get('wgUserName'),
 
scripts: 'MediaWiki:UserActivityTab/code.js'
 
scripts: 'MediaWiki:UserActivityTab/code.js'
 
},
 
},
  +
 
 
UserAnimations: {
 
UserAnimations: {
 
page: 'UserAnimations',
 
page: 'UserAnimations',
 
styles: 'MediaWiki:UserAnimations.css'
 
styles: 'MediaWiki:UserAnimations.css'
 
},
 
},
  +
 
 
UserAvatarLink: {
 
UserAvatarLink: {
 
page: 'UserAvatarLink',
 
page: 'UserAvatarLink',
 
scripts: ['MediaWiki:UserAvatarLink.js', 'MediaWiki:User_Avatar_Finder/code.js']
 
scripts: ['MediaWiki:UserAvatarLink.js', 'MediaWiki:User_Avatar_Finder/code.js']
 
},
 
},
  +
 
UserStatus: {
+
UserStatus: {
page: 'User:SapphireSonata',
+
page: 'User:SapphireSonata',
scripts: 'MediaWiki:UserStatus/demo.js'
+
scripts: 'MediaWiki:UserStatus/demo.js'
  +
},
},
 
  +
 
  +
UWStyle: {
  +
page: 'UWStyle',
  +
styles: 'MediaWiki:UWStyle.css'
  +
},
  +
 
/* // Disabled in Favour of ProfileTags
 
/* // Disabled in Favour of ProfileTags
 
UserTags: {
 
UserTags: {
Line 507: Line 759:
 
scripts: 'MediaWiki:WantedPagesFilter/code.js',
 
scripts: 'MediaWiki:WantedPagesFilter/code.js',
 
exec: function () {
 
exec: function () {
window.wgCanonicalSpecialPageName = 'Wantedpages';
+
mw.config.set('wgCanonicalSpecialPageName', 'Wantedpages');
 
}
 
}
 
},
 
},
  +
 
  +
WdsTooltips: {
  +
page: 'WdsTooltips',
  +
styles: ['MediaWiki:WdsTooltips.css', 'MediaWiki:WdsTooltips/demo.css']
  +
},
  +
 
WikiaCommunityCentralTheme: {
 
WikiaCommunityCentralTheme: {
page: 'WikiaCommunityCentralTheme',
+
page: 'WikiaCommunityCentralTheme',
scripts: 'MediaWiki:WikiaCommunityCentralTheme.css'
+
styles: 'MediaWiki:WikiaCommunityCentralTheme.css'
 
},
 
},
  +
 
WikiActivity: {
+
WikiActivity: {
page: 'Special:WikiActivity',
+
page: 'Special:WikiActivity',
scripts: 'MediaWiki:WikiActivity.js'
+
scripts: 'MediaWiki:WikiActivity.js'
},
+
},
  +
 
WikiaNotification: {
+
WikiaNavigationBarStyle: {
page: 'WikiaNotification',
+
page: 'WikiaNavigationBarStyle',
scripts: 'MediaWiki:WikiaNotification/code.js',
+
styles: 'MediaWiki:WikiaNavigationBarStyle.css'
exec: function () {
 
try {
 
window.localStorage.removeItem('ls-wikianotifications');
 
} catch (ex) {}
 
}
 
 
},
 
},
   
Line 543: Line 795:
 
}
 
}
 
},
 
},
  +
 
 
WikiForum: {
 
WikiForum: {
 
page: 'WikiForum',
 
page: 'WikiForum',
Line 562: Line 814:
 
},
 
},
 
},
 
},
  +
  +
ZHVariantFlags: {
  +
page: 'ZHVariantFlags',
  +
styles: 'MediaWiki:ZHVariantFlags.css'
  +
}
 
};
 
};
   

Latest revision as of 20:11, 30 December 2023

/* jshint curly:false, jquery:true, browser:true */
/* global mediaWiki:true, importArticles:true, importArticle:true, dev:true */

;(function ($, mw, cfg) {
    'use strict';

    var urlVars = new URLSearchParams(location.search);
    // killswitch & dblrun protection
    if (urlVars.get('nodemo') || cfg.loaded) return;
    cfg.loaded = true;

    var includes = {
        /**
         * a-z ordered
         * 
         * possible fields:
         *
         * - selector: element(s) to look for in the page
         * - page: name of the page
         * - subpages: exclude subpages when set to false (defaults to true)
         * - exec: callback to execute when selector or page are detected
         * - styles: stylesheet(s) to load when selector or page are detected
         * - scripts: script(s) to load when selector or page are detected
         * - disabledByDefault: demo only loads with a `demo` parameter in the URL
         *
         */

        AccentColorButtons: {
            page: 'AccentColorButtons',
            styles: 'MediaWiki:AccentColorButtons.css'
        },

        Accordion: {
            page: 'Global_Lua_Modules/Accordion',
            scripts: 'MediaWiki:Accordion.js'
        },

        ActivityFeedMimic: {
            page: 'ActivityFeedMimic',
            styles: 'MediaWiki:ActivityFeedMimic.css'
        },

        BackToTopButton: {
            page: 'BackToTopButton',
            scripts: 'MediaWiki:BackToTopButton/code.js',
            exec: function () {
                window.BackToTopModern = true;
            }
        },

        BalancedDiscord: {
            page: 'BalancedDiscord',
            styles: 'MediaWiki:BalancedDiscord.css'
        },

        BalancedGlobalNavigation: {
            page: 'BalancedGlobalNavigation',
            styles: 'MediaWiki:BalancedGlobalNavigation.css'
        },

        BalancedPageBottom: {
            page: 'BalancedPageBottom',
            styles: 'MediaWiki:BalancedPageBottom.css'
        },

        BalancedScrollbar: {
            page: 'BalancedScrollbar',
            styles: 'MediaWiki:BalancedScrollbar.css'
        },

        BalancedUCX: {
            page: 'BalancedUCX',
            styles: 'MediaWiki:BalancedUCX.css'
        },

        BringExternalLinkIconsBack: {
            page: 'BringExternalLinkIconsBack',
            styles: 'MediaWiki:BringExternalLinkIconsBack.css'
        },

        CalendarWidget: {
            page: 'Global_Lua_Modules/Calendar_widget',
            styles: 'MediaWiki:Global_Lua_Modules/Calendar_widget.css'
        },

        ClassicDevWikiTheme: {
            page: 'ClassicDevWikiTheme',
            styles: 'MediaWiki:ClassicDevWikiTheme.css'
        },

        CheapTooltip: {
        	page: 'CheapTooltip',
        	styles: 'MediaWiki:CheapTooltip.css'
        },

        CodeblockLineNumbers: {
            page: 'MediaWiki:CodeblockLineNumbers/code.js',
            styles: 'MediaWiki:CodeblockLineNumbers/code.js'
        },

        CollapsedGlobalNavigation: {
            page: 'CollapsedGlobalNavigation',
            styles: 'MediaWiki:CollapsedGlobalNavigation.css'
        },

        Contextlink: {
            selector: '.context-link',
            styles: 'MediaWiki:Global_Lua_Modules/Context-link.css'
        },

        CSS3Tooltip: {
            page: 'CSS3Tooltip',
            styles: 'MediaWiki:CSS3Tooltip.css',
            scripts: 'MediaWiki:CSS3Tooltip/code-2/demo.js'
        },

        DataTables: {
            selector: '.datatable',
            scripts: 'MediaWiki:DataTables.js'
        },

        DiscordBanner: {
            page: 'DiscordBanner',
            scripts: 'MediaWiki:DiscordBanner.js',
            exec: function () {
                window.DiscordBannerSettings = {
                    inviteLink: 'wPrVUj4'
                };
                console.log('[DemoScripts] We\'re on the DiscordBanner page, so I hid the Discord rail module.');
                mw.util.addCSS('#WikiaRail .discord-module { display: none; }');
            }
        },

        DiscordGlobalFooter: {
            page: 'DiscordGlobalFooter',
            styles: 'MediaWiki:DiscordGlobalFooter.css'
        },

        DiscordTheme: {
            page: 'DiscordTheme',
            styles: 'MediaWiki:DiscordTheme.css'
        },

        DiscussionsActivity: {
            page: 'Special:DiscussionsActivity',
            scripts: 'MediaWiki:DiscussionsActivity.js'
        },

        DiscussionsFeed: {
            page: 'Special:DiscussionsFeed',
            scripts: 'MediaWiki:DiscussionsFeed.js'
        },

        DiscussionsRC: {
            page: 'Special:DiscussionsRC',
            scripts: 'MediaWiki:DiscussionsRC.js'
        },

        Doqs: {
            page: 'Doqs/demo',
            styles: 'MediaWiki:Doqs.css'
        },

        DropdownMenu: {
            selector: '.custom-dropdown',
            styles: 'MediaWiki:DropdownMenu.css'
        },

        DynamicOldNav: {
            page: 'DynamicOldNav',
            styles: 'MediaWiki:DynamicOldNav.css'
        },

        EditcountTab: {
            page: 'User:Puxlit',
            scripts: 'MediaWiki:EditcountTab.js'
        },

        EditcountTag: {
            page: 'User:Wikia',
            scripts: 'MediaWiki:EditcountTag/code.js'
        },

        EditorColorPicker: {
            page: 'Special:EditorColorPicker',
            scripts: 'MediaWiki:EditorColorPicker.js'
        },

        EmeraldGlobalNav: {
            page: 'EmeraldGlobalNav',
            styles: 'MediaWiki:EmeraldGlobalNav.css'
        },

        ExternalIcons: {
            page: 'ExternalIcons',
            styles: 'MediaWiki:ExternalIcons.css'
        },

        FadedDropdowns: {
            page: 'FadedDropdowns',
            styles: 'MediaWiki:FadedDropdowns.css'
        },

        FandomIcons: {
            page: 'FandomIcons',
            styles: 'MediaWiki:FandomIcons.css'
        },

        Fandom95: {
            page: 'Fandom95',
            styles: 'MediaWiki:Fandom95.css',
            disabledByDefault: true
        },

        FandomXP: {
            page: 'FandomXP',
            styles: 'MediaWiki:FandomXP.css'
        },

        FanFeedEnhancements: {
            page: 'FanFeedEnhancements',
            styles: 'MediaWiki:FanFeedEnhancements.css'
        },

        FANSUN: {
            page: 'FANSUN',
            styles: 'MediaWiki:FANSUN.css'
        },

        FastFileDelete: {
            page: 'FastFileDelete',
            scripts: 'MediaWiki:FastFileDelete.js',
            exec: function () {
                (window.dev = window.dev || {}).fastFileDelete = window.dev.fastFileDelete || {};
                window.dev.fastFileDelete.groups = '\\*';
            }
        },

        FatButton: {
            page: 'FatButton',
            styles: 'MediaWiki:FatButton.css'
        },

        FileLogs: {
            page: 'File:QQX_Oasis.png',
            scripts: 'MediaWiki:FileLogs.js'
        },

        Flags: {
            selector: '.flag-icon',
            scripts: 'MediaWiki:Flags/code.js'
        },

        FloatingTitle: {
            page: 'FloatingTitle',
            styles: 'MediaWiki:FloatingTitle.css'
        },

        FusionButtonSet: {
            page: 'FusionButtonSet',
            styles: 'MediaWiki:FusionButtonSet.css'
        },

        GamepediaTheme: {
            page: 'GamepediaTheme',
            scripts: 'MediaWiki:GamepediaNav.js',
            styles: ['MediaWiki:GamepediaNav.css','MediaWiki:GamepediaToolbar.css','MediaWiki:GamepediaDiscord.css'],
            exec: function() {
                $('body').addClass('is-gamepedia');
            }
        },

        GlitchText: {
        	page: 'GlitchText',
        	styles: 'MediaWiki:GlitchText.css'
        },

        GlobalNavDarkTheme: {
            page: 'GlobalNavDarkTheme',
            styles: 'MediaWiki:GlobalNavDarkTheme.css'
        },

        GlobalNavigationIcons: {
            page: 'GlobalNavigationIcons',
            styles: 'MediaWiki:GlobalNavigationIcons.css'
        },

        GradientHeader: {
            page: 'GradientHeader',
            styles: 'MediaWiki:GradientHeader.css'
        },

        Grid: {
            page: 'Grid',
            styles: 'MediaWiki:Grid.css'
        },

        Heimu: {
            page: 'Heimu',
            styles: 'MediaWiki:Heimu.css'
        },

        HorizontalMCF: {
            page: 'HorizontalMCF',
            styles: 'MediaWiki:HorizontalMCF.css'
        },

        HydraRevived: {
            page: 'HydraRevived',
            scripts: 'MediaWiki:HydraRevived.js',
            styles: ['MediaWiki:HydraRevived/main.css', 'MediaWiki:HydraRevived/preload.css']
        },

        InfoWidgets: {
            selector: '#infowidgets-demo',
            styles: 'MediaWiki:InfoWidgets/demo.css',
            scripts: 'MediaWiki:InfoWidgets/demo.js'
        },

        InterlanguageFlags: {
            page: 'InterlanguageFlags',
            styles: 'MediaWiki:InterlanguageFlags.css'
        },

        Ivory: {
            page: 'Ivory',
            styles: 'MediaWiki:Ivory.css'
        },

        Katsuragi: {
            page: 'Katsuragi',
            styles: 'MediaWiki:Katsuragi.css'
        },

        Less: {
            selector: 'body.page-MediaWiki_Custom-Less_test_less, body.page-MediaWiki_Custom-Less_test_css',
            scripts: 'MediaWiki:Less/code.2.js',
            exec: function () {
                // example config used for testing
                window.lessOpts = [{
                    target: 'MediaWiki:Custom-Less/test.css',
                    source: 'MediaWiki:Custom-Less/test.less',
                    load: [
                        'MediaWiki:Custom-Less/test.css',
                        'MediaWiki:Custom-Less/test.less'
                    ],
                    header: 'MediaWiki:Custom-less-header'
                }];
                window.lessConfig = {
                    allowed: ['user']
                };
            }
        },

        LeafyStrap: {
            page: 'LeafyStrap/demo',
            styles: 'MediaWiki:LeafyStrap.css'
        },

        LegacyGlobalNavigation: {
            page: 'LegacyGlobalNavigation',
            styles: 'MediaWiki:LegacyGlobalNavigation.css'
        },

        'Lightbox2.0': {
            page: 'Lightbox2.0',
            styles: 'MediaWiki:Lightbox2.0.css'
        },

        ListGroupMembers: {
            page: 'Special:BlankPage',
            scripts: 'MediaWiki:ListGroupMembers.js'
        },

        LocalNavExploreIcons: {
            page: 'LocalNavExploreIcons',
            scripts: 'MediaWiki:LocalNavExploreIcons.css'
        },

        MastheadGender: {
            page: 'User:Kirkburn',
            scripts: 'MediaWiki:MastheadGender/code.js'
        },

        MastheadRightsBadge: {
            page: 'User:Fandom',
            scripts: 'MediaWiki:MastheadRightsBadge.js'
        },

        Mbox: {
            selector: '.mbox',
            styles: 'MediaWiki:Global_Lua_Modules/Mbox.css'
        },

        MiniComplete: {
            page: 'MiniComplete',
            exec: function () {
                mw.loader.implement( 'minicomplete',
                    [ '/load.php?mode=articles&articles=u%3Acamtest%3AMediaWiki%3ATextareaHelper.js%7Cu%3Adev%3AMediaWiki%3AColors%2Fcode.js%7Cu%3Adev%3AMediaWiki%3AMiniComplete%2Fcode.js&only=scripts' ],
                        {}, {} );
                $( '#minicomplete-demo' )
                .empty()
                .append(
                    $( '<textarea>' )
                    .attr( {
                        id: 'minicomplete-textarea',
                        placeholder: 'Try the MiniComplete demo here!'
                    } )
                    .css( {
                        // 100% forces the far right edge to be cut off by
                        // .WikiaArticle {overflow:hidden;} (set in oasis.scss)
                        width: '98.3%',
                        height: '80px',
                        resize: 'none',
                        padding: '2px 5px'
                    } )
                );
                mw.loader.using( [ 'mediawiki.api', 'minicomplete' ], function () {
                    dev.minicomplete.load( '#minicomplete-textarea' );
                } );
            }
        },

        MinimalScrollbar: {
            page: 'MinimalScrollbar',
            styles: 'MediaWiki:MinimalScrollbar.css'
        },

        MinimalTestModeAlert: {
            page: 'MinimalTestModeAlert',
            scripts: 'MediaWiki:MinimalTestModeAlert.js',
            exec: function() {
                // This variable doesn't seem to affect anything else
                mw.config.set('wgIsTestModeEnabled', true);
            }
        },

        MinutelyWider: {
            page: 'MinutelyWider',
            scripts: 'MediaWiki:MinutelyWider.css'
        },

        MisspelledPage: {
            // Cannot be moved to JSON, does not match base page name.
            page: 'MisspelledPlge',
            scripts: 'MediaWiki:MisspelledPage/code.js'
        },

        ModernWikiNavigation: {
            page: 'ModernWikiNavigation',
            styles: 'MediaWiki:ModernWikiNavigation.css'
        },

        MoreSocialLinks: {
            page: 'User:KockaAdmiralac',
            scripts: 'MediaWiki:MoreSocialLinks.js'
        },

        MovingWordmark: {
            page: 'MovingWordmark',
            scripts: 'MediaWiki:MovingWordmark.css'
        },

        MultipleActivity: {
            page: 'Special:MultipleActivity',
            scripts: 'MediaWiki:MultipleActivity.js'
        },

        Navbox: {
            page: 'Global_Lua_Modules/Navbox',
            styles: 'MediaWiki:Global_Lua_Modules/Navbox.css',
        },

        NavboxBuilder: {
            selector: '.navbox .navbox-table-wrapper',
            styles: 'MediaWiki:Global_Lua_Modules/NavboxBuilder.css'
        },

        NoGlobalNav: {
            page: 'NoGlobalNav',
            styles: 'MediaWiki:NoGlobalNav.css',
            scripts: 'MediaWiki:NoGlobalNav.js'
        },

        OasisRevived: {
            page: 'OasisRevived',
            styles: 'MediaWiki:OasisRevived.css',
            scripts: 'MediaWiki:OasisRevived.js',
            disabledByDefault: true
        },

        OfficialWikisBadge: {
            page: 'OfficialWikisBadge',
            styles: 'MediaWiki:OfficialWikisBadge.css'
        },

        OldFandomColors: {
            page: 'OldFandomColors',
            styles: 'MediaWiki:OldFandomColors.css',
            scripts: 'MediaWiki:OldFandomColors.js'
        },

        OldWikiaBar: {
            page: 'OldWikiaBar',
            styles: 'MediaWiki:OldWikiaBar.css'
        },

        PortableNavbox: {
            selector: '.portable-infobox.pi-theme-navbox',
            styles: 'MediaWiki:PortableNavbox.css'
        },

        ProfileIconsTextless: {
            page: 'ProfileIconsTextless',
            styles: 'MediaWiki:ProfileIconsTextless.css'
        },

        ProfileTags: {
            selector: 'body.page-User_Rappy, body.page-MediaWiki_ProfileTags',
            scripts: 'MediaWiki:ProfileTags.js'
        },

        ProtectionIcons: {
            page: 'Module:Sandbox',
            scripts: 'MediaWiki:ProtectionIcons.js'
        },

        ProgressBar: {
            page: 'ProgressBar',
            styles: 'MediaWiki:ProgressBar.css'
        },

        PseudoMonobook: {
            page: 'PseudoMonobook',
            styles: 'MediaWiki:PseudoMonobook.css'
        },

        QuickLogs: {
            page: 'Special:Contributions/Wikia',
            scripts: 'MediaWiki:QuickLogs/code.js'
        },

        Quote: {
            selector: '.pull-quote',
            styles: 'MediaWiki:Global_Lua_Modules/Quote.css'
        },

        ReferencePopups: {
            page: 'ReferencePopups/demo',
            scripts: 'MediaWiki:ReferencePopups/custom.js',
            styles: 'MediaWiki:ReferencePopups/demo.css',
            subpages: false
        },

        ResponsiveMobile: {
            page: 'ResponsiveMobile',
            styles: 'MediaWiki:ResponsiveMobile.css'
        },

        Ripples: {
            page: 'Ripple',
            styles: ['MediaWiki:Ripple.css', 'MediaWiki:Ripple.css/demo.css'],
            scripts: 'MediaWiki:Ripple.js'
        },

        RoundedDesign: {
            page: 'RoundedDesign',
            styles: 'MediaWiki:RoundedDesign.css'
        },

        SpoilerAlert: {
            page: 'SpoilerAlert/Demo',
            styles: 'MediaWiki:SpoilerAlert/code.js'
        },

        SpoilerBlur: {
            page: 'SpoilerBlur',
            styles: 'MediaWiki:SpoilerBlur.css'
        },

        SpoilerTags: {
            page: 'SpoilerTags',
            scripts: 'MediaWiki:SpoilerTags.js',
            styles: 'MediaWiki:SpoilerTags.css'
        },

        SearchSuggest: {
            page: 'Special:Search',
            scripts: 'MediaWiki:SearchSuggest/code.js'
        },

        SlightlyWider: {
            page: "SlightlyWider",
            styles: "MediaWiki:SlightlyWider.css",
            disabledByDefault: true
        },

        SnowStorm: {
            page: 'SnowStorm/Demo',
            scripts: 'MediaWiki:SnowStorm.js',
            styles: 'MediaWiki:SnowStorm/demo.css'
        },

        SnowStorm1: {
            page: 'SnowStorm/Demo1',
            scripts: ['MediaWiki:SnowStorm.js/DemoSettings1.js' , 'MediaWiki:SnowStorm.js'],
            styles: 'MediaWiki:SnowStorm/demo.css'
        },

        SnowStormCSS: {
            page: 'SnowStormCSS',
            styles: 'MediaWiki:SnowStormCSS.css'
        },

        SolarizedSyntaxHighlight: {
            page: 'SolarizedSyntaxHighlight',
            styles: 'MediaWiki:SolarizedSyntaxHighlight.css'
        },

        Standard_Edit_Summary: {
            page: 'Standard_Edit_Summary',
            scripts: 'MediaWiki:Standard_Edit_Summary/code.js',
            exec: function() {
                (window.dev = window.dev || {}).editSummaries = {
                    select: 'MediaWiki:Custom-StandardEditSummaries'
                };
            }
        },

        Stella: {
            page: 'Special:BlankPage',
            scripts: 'MediaWiki:Stella.js'
        },

        StylizedDiff: {
            page: 'StylizedDiff',
            styles: 'MediaWiki:StylizedDiff.css'
        },

        StylizedTabs: {
            page: 'StylizedTabs',
            styles: 'MediaWiki:StylizedTabs.css'
        },

        Tabber: {
            page: 'Global_Lua_Modules/Tabber',
            styles: 'MediaWiki:Global_Lua_Modules/Tabber.css'
        },

        TabberLinks: {
            page: "TabberLinks",
            styles: 'MediaWiki:Global_Lua_Modules/Tabber.css',
            scripts: 'MediaWiki:TabberLinks.js'
        },

        TableHash: {
            page: 'TableHash',
            scripts: 'MediaWiki:TableHash.js',
            styles: 'MediaWiki:TableHash.css'
        },

        ThemeBasedStyling: {
            page: 'ThemeBasedStyling',
            styles: 'MediaWiki:ThemeBasedStyling.css'
        },

        ThemeColorClasses: {
            page: 'ThemeColorClasses',
            styles: 'MediaWiki:ThemeColorClasses.css'
        },

        ThemedFandomBranding: {
            page: 'ThemedFandomBranding',
            styles: 'MediaWiki:ThemedFandomBranding.css'
        },

        TimedSlider: {
            page: 'TimedSlider',
            scripts: 'MediaWiki:TimedSlider/code.js',
            styles: 'MediaWiki:TimedSlider.css'
        },

        Tooltips: {
            page: 'Tooltips',
            scripts: 'MediaWiki:Tooltips.js',
            styles: 'MediaWiki:Tooltips.css',
            exec: function () {
                window.tooltips_list = [
                    {
                        classname: 'custom-tooltip-text',
                        text: "Parameter: <#parameter#><br/>This is just text and HTML - wikitext '''won't''' be parsed"
                    }, {
                        classname: 'custom-tooltip-parse',
                        parse: '{|style="white-space:nowrap;"\n!Parameter:\n|<#parameter#>\n|-\n!Lc:\n|{'+'{lc:<#parameter#>}}\n|-\n!Uc:\n|{'+'{uc:<#parameter#>}}\n|-\n!PAGENAME:\n|{'+'{PAGENAME}}\n|}'
                    }
                ];
                window.tooltips_config = { offsetX: 15, offsetY: 15 };
            }
        },

        TopGlobalNav: {
            page: 'TopGlobalNav', 
            styles: 'MediaWiki:TopGlobalNav.css'
        },

        TZclock: {
            page: 'TZclock',
            scripts: 'MediaWiki:TZclock.js',
            styles: 'MediaWiki:TZclock.css'
        },

        UpgradedToolbar: {
            page: 'UpgradedToolbar',
            styles: 'MediaWiki:UpgradedToolbar.css'
        },

        UserActivityTab: {
            page: 'User:' + mw.config.get('wgUserName'),
            scripts: 'MediaWiki:UserActivityTab/code.js'
        },

        UserAnimations: {
            page: 'UserAnimations',
            styles: 'MediaWiki:UserAnimations.css'
        },

        UserAvatarLink: {
            page: 'UserAvatarLink',
            scripts: ['MediaWiki:UserAvatarLink.js', 'MediaWiki:User_Avatar_Finder/code.js']
        },

        UserStatus: {
            page: 'User:SapphireSonata',
            scripts: 'MediaWiki:UserStatus/demo.js'
        },

        UWStyle: {
            page: 'UWStyle',
            styles: 'MediaWiki:UWStyle.css'
        },

        /* // Disabled in Favour of ProfileTags
        UserTags: {
            exec: function () {
                window.UserTagsJS = {
                    modules: {
                        mwGroups: ['bureaucrat', 'rollback', 'sysop', 'bot', 'bot-global'],
                        metafilter: {
                            sysop: ['bureaucrat']
                        }
                    }
                };
            },
            scripts: 'MediaWiki:UserTags/code.js'
        },*/

        WantedPagesFilter: {
            page: 'WantedPagesFilter',
            scripts: 'MediaWiki:WantedPagesFilter/code.js',
            exec: function () {
                mw.config.set('wgCanonicalSpecialPageName', 'Wantedpages');
            }
        },

        WdsTooltips: {
            page: 'WdsTooltips',
            styles: ['MediaWiki:WdsTooltips.css', 'MediaWiki:WdsTooltips/demo.css']
        },

        WikiaCommunityCentralTheme: {
            page: 'WikiaCommunityCentralTheme',
            styles: 'MediaWiki:WikiaCommunityCentralTheme.css'
        },

        WikiActivity: {
            page: 'Special:WikiActivity',
            scripts: 'MediaWiki:WikiActivity.js'
        },

        WikiaNavigationBarStyle: {
            page: 'WikiaNavigationBarStyle',
            styles: 'MediaWiki:WikiaNavigationBarStyle.css'
        },

        Wikificator: {
            page: 'Wikificator',
            scripts: 'MediaWiki:Wikificator.js',
            exec: function () {
                if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) return;
                mw.loader.load('jquery.textSelection');
                window.wikificator = window.wikificator || {};
                window.wikificator.forced = true;
                var t = $('#wpTextbox1').text();
                $('#wpTextbox1').replaceWith($('<textarea>', {id: 'wpTextbox1', value: t, text: t, style: 'width:inherit;min-width:50%;height:inherit;min-height:100px;'}));
            }
        },

        WikiForum: {
            page: 'WikiForum',
            scripts: [
                'MediaWiki:WikiForum/core.js',
                'MediaWiki:WikiForum/theme/default.js',
                'MediaWiki:WikiForum/loader/default.js'
            ],
            exec: function () {
                mw.hook('WikiForum').add(function (Core) {
                    var conf = mw.config.get();
                    if (
                      !conf.wgPageName.startsWith('WikiForum/demo') ||
                      conf.wgAction !== 'view'
                    ) return;
                    Core.renderer.fromPage(conf.wgPageName);
                });
            },
        },

        ZHVariantFlags: {
            page: 'ZHVariantFlags',
            styles: 'MediaWiki:ZHVariantFlags.css'
        }
    };

    function merge (other) {
        /*jshint validthis:true*/
        var self = this;

        if (Array.isArray(other)) {
            other.forEach(function (elem) {
                if (self.indexOf(elem) === -1) {
                    self.push(elem);
                }
            });
        } else {
            self.push(other);
        }
    }

    $.get(mw.util.wikiScript('api'), {
        action: 'query',
        format: 'json',
        titles: 'MediaWiki:Custom-DemoScripts.json',
        prop: 'revisions',
        rvprop: 'content',
        rvslots: 'main',
        indexpageids: 1
    }).always(function(data) {
        if (typeof data === 'object') {
            data = JSON.parse(data.query.pages[data.query.pageids[0]].revisions[0].slots.main['*']);
            $.each(data, function() {
                this.restricted = 1;
            });
            // keep includes on top and preserve it from overwriting by data
            includes = $.extend(true, {}, includes, data, includes);
        }
        $(function () {
            var scripts = [],
                styles = [],
                page = mw.config.get('wgPageName'),
                basepage = page.replace(/\/.*/, '');

            scripts.merge = merge;
            styles.merge = merge;

            $.each(includes, function (name, actions) {
                var pageRestriction = new RegExp('^MediaWiki:' + basepage + '(/.*)*\\.js$');
                if (actions.restricted) {
                    actions.selector = '#mw-content-text ' + (actions.selector || '').split(',')[0];
                    if (actions.scripts) {
                        if (actions.scripts instanceof Array) {
                            actions.disabled = actions.disabled || !actions.scripts.every(function(v) {
                                return (!/\|/.test(v) && pageRestriction.test(v));
                            });
                        } else {
                            actions.disabled = actions.disabled ||
                                (!(!/\|/.test(actions.scripts) && pageRestriction.test(actions.scripts)));
                        }
                    }
                }

                if (actions.disabled) {
                    return;
                }

                if (actions.disabledByDefault && !urlVars.get('demo')) {
                    return;
                }

                if (actions.selector && !$(actions.selector).length) {
                    return;
                }

                if (actions.page && actions.page !== page && (actions.subpages === false || actions.page !== basepage)) {
                    return;
                }

                if (actions.exec && !actions.restricted) {
                    actions.exec();
                }

                if (actions.styles && !actions.restricted) {
                    styles.merge(actions.styles);
                }

                if (actions.scripts) {
                    scripts.merge(actions.scripts);
                }
            });
            if (scripts.length) {
                importArticles({ type: 'script', articles: scripts });
            }
            if (styles.length) {
                importArticles({ type: 'style', articles: styles });
            }
        });
    });
}(jQuery, mediaWiki, (window.dev = window.dev || {}).demoscripts = window.dev.demoscripts || {}));