mediawiki-skins-MinervaNeue/skin.json
Moh'd Khier Abualruz cd95f34687 Replace codex-search-styles with CodexModule
Enhance MinervaNeue Skin with Codex Integration and Style Refinements. This update to the MinervaNeue skin introduces enhancements aimed at integrating with Codex UI components and the optimisation of skin-specific styles. These changes are in direct response to the objectives set forth in Phabricator task T356678, focusing on modernising the skin's aesthetics and functionality.

Changes:
- Enhanced skin.json to include new 'scripts' and 'styles' configurations, incorporating Codex UI components such as 'CdxButton' and a variety of Minerva-specific styles like 'skins.minerva.base.styles' and 'skins.minerva.content.styles.images'.
- Refined `includes/Skins/SkinMinerva.php` by restructuring the method of loading skin and feature-specific styles. The update simplifies style management, allowing for a more granular approach to style application. This includes separating page-specific styles from feature-specific styles.

Rationale:
The implementation of Codex UI components within the MinervaNeue skin is to leverage modern web design principles, enhancing usability and aesthetic appeal. By refining the skin's style loading mechanism, we aim to at least maintain if not reduce the overhead, improve page load times, and offer a more customisable appearance, ultimately benefiting both end-users and developers.

Bug: T356678
Change-Id: Ia96f58397c23126e940cc9263b30e0da88c90a29
2024-04-03 13:28:02 +00:00

651 lines
17 KiB
JSON

{
"name": "MinervaNeue",
"namemsg": "skinname-minerva",
"descriptionmsg": "minerva-skin-desc",
"author": [
"[https://www.mediawiki.org/wiki/Readers/Web/Team Readers Web Team]",
"Alex Hollender",
"Bahodir Mansurov",
"Florian Schmidt",
"Jan Drewniak",
"Joaquin Hernandez",
"Jon Robson",
"Juliusz Gonera",
"Piotr Miazga",
"Ryan Kaldari",
"Nick Ray",
"Sam Smith",
"Stephen Niedzielski",
"Volker E."
],
"type": "skin",
"url": "https://www.mediawiki.org/wiki/Skin:MinervaNeue",
"license-name": "GPL-2.0-or-later",
"requires": {
"MediaWiki": ">= 1.42.0"
},
"config": {
"MinervaDonateLink": {
"value": {
"base": false
}
},
"MinervaDownloadNamespaces": {
"value": [
0
]
},
"MinervaEnableSiteNotice": {
"value": true
},
"MinervaApplyKnownTemplateHacks": {
"value": true
},
"MinervaAlwaysShowLanguageButton": {
"value": true
},
"MinervaTalkAtTop": {
"value": {
"base": false,
"beta": false,
"loggedin": true
}
},
"MinervaAdvancedMainMenu": {
"value": {
"base": false,
"beta": false,
"amc": true
}
},
"MinervaPersonalMenu": {
"value": {
"base": false,
"beta": false,
"amc": true
}
},
"MinervaHistoryInPageActions": {
"value": {
"base": false,
"beta": false,
"loggedin": true
}
},
"MinervaOverflowInPageActions": {
"value": {
"base": false,
"beta": false,
"amc": true,
"loggedin": true
}
},
"MinervaShowCategories": {
"value": {
"base": false,
"loggedin": false,
"amc": true
}
},
"MinervaPageIssuesNewTreatment": {
"value": {
"base": true,
"beta": true
}
},
"MinervaABSamplingRate": {
"value": 0
},
"MinervaNightMode": {
"value": {
"base": false
}
},
"MinervaNightModeOptions": {
"value": {
"exclude": {
"mainpage": false,
"querystring": {},
"namespaces": [],
"pagetitles": []
}
},
"description": "options for configuring where Night Mode should and should not apply. More details can be found in Hooks::shouldDisableNightMode PHP documentation."
}
},
"ValidSkinNames": {
"minerva": {
"class": "MediaWiki\\Minerva\\Skins\\SkinMinerva",
"services": [
"GenderCache",
"LinkRenderer",
"Minerva.LanguagesHelper",
"Minerva.Menu.Definitions",
"Minerva.Permissions",
"Minerva.SkinOptions",
"Minerva.SkinUserPageHelper",
"NamespaceInfo",
"RevisionLookup",
"UserIdentityUtils",
"UserOptionsManager"
],
"args": [
{
"name": "minerva",
"templateDirectory": "includes/Skins",
"templateSectionLinks": "SectionLinks",
"tempUserBanner": true,
"scripts": [
"skins.minerva.scripts"
],
"styles": [
"skins.minerva.base.styles",
"skins.minerva.content.styles.images",
"mediawiki.hlist",
"skins.minerva.codex.styles",
"skins.minerva.icons.wikimedia",
"skins.minerva.mainMenu.icons",
"skins.minerva.mainMenu.styles"
],
"messages": [
"variants",
"mobile-frontend-languages-not-available",
"minerva-page-actions-language-switcher",
"sitetitle",
"mainpage",
"searchbutton",
"minerva-user-navigation",
"mobile-frontend-main-menu-button-tooltip",
"mobile-frontend-footer-sitename"
],
"menus": [
"notifications",
"associated-pages"
],
"clientPrefEnabled": true,
"responsive": true,
"link": {
"text-wrapper": {
"tag": "span"
}
}
}
]
}
},
"SkinCodexThemes": {
"minerva": "experimental"
},
"AutoloadNamespaces": {
"MediaWiki\\Minerva\\": "includes/"
},
"ConfigRegistry": {
"minerva": "GlobalVarConfig::newInstance"
},
"HookHandlers": {
"main": {
"class": "MediaWiki\\Minerva\\Hooks",
"services": [
"ConfiguredReadOnlyMode",
"Minerva.SkinOptions",
"UserOptionsLookup"
],
"optional_services": [
"MobileFrontend.Context"
]
},
"mobilefrontend": {
"class": "MediaWiki\\Minerva\\MobileFrontendHooks",
"services": [
"ConfigFactory",
"Minerva.SkinOptions"
]
}
},
"Hooks": {
"DifferenceEngineViewHeader": "main",
"ResourceLoaderRegisterModules": "main",
"SkinPageReadyConfig": "main",
"UserLogoutComplete": "main",
"FetchChangesList": "main",
"MobileFrontendFeaturesRegistration": "mobilefrontend",
"RequestContextCreateSkinMobile": "mobilefrontend",
"GetPreferences": "main",
"PreferencesGetLayout": "main",
"SpecialPageBeforeExecute": "main",
"ResourceLoaderGetConfigVars": "main",
"OutputPageBodyAttributes": "main"
},
"SkinLessImportPaths": {
"minerva": "resources/mediawiki.less"
},
"MessagesDirs": {
"MinervaNeue": [
"i18n"
]
},
"ResourceFileModulePaths": {
"localBasePath": "",
"remoteSkinPath": "MinervaNeue"
},
"ResourceModuleSkinStyles": {
"minerva": {
"ext.echo.styles.badge": [
"skinStyles/ext.echo.styles.badge.less"
],
"mobile.init.styles": [
"skinStyles/mobile.init.styles/mobile.less"
],
"mobile.mediaViewer": [
"skinStyles/mobile.mediaViewer.less"
],
"mobile.special.nearby.styles": [
"skinStyles/mobile.special.nearby.styles.less"
],
"mediawiki.diff.styles": [
"skinStyles/mediawiki.diff.styles.less"
],
"mediawiki.searchSuggest": [
"skinStyles/mediawiki.searchSuggest/index.less"
],
"mediawiki.rcfilters.filters.ui": [
"skinStyles/mediawiki.rcfilters.filters.ui.less"
],
"mediawiki.action.history.styles": [
"skinStyles/mediawiki.action.history.styles.less"
],
"mediawiki.interface.helpers.styles": [
"skinStyles/mediawiki.interface.helpers.styles.less"
],
"mediawiki.rcfilters.highlightCircles.seenunseen.styles": [],
"ext.confirmEdit.fancyCaptcha.styles": [
"skinStyles/ext.confirmEdit.fancyCaptcha.styles/minerva.less"
],
"mobile.special.mobileoptions.styles": [
"skinStyles/mobile.special.mobileoptions.styles/minerva.less"
],
"mediawiki.page.gallery.styles": [
"skinStyles/mediawiki.page.gallery.styles/tablet.less"
],
"mediawiki.special.search.styles": [
"skinStyles/mediawiki.special.search.styles/minerva.less"
],
"mediawiki.special.search.interwikiwidget.styles": [
"skinStyles/mediawiki.special.search.interwikiwidget.styles/minerva.less"
],
"mediawiki.skinning.content.parsoid": [
"skinStyles/mediawiki.skinning.content.parsoid/minerva.less"
],
"mediawiki.hlist": [
"skinStyles/mediawiki.hlist/minerva.less"
],
"mobile.languages.structured": [
"skinStyles/mobile.languages.structured/LanguageSearcher.less"
],
"mobile.startup": [
"skinStyles/mobile.startup/mobile.startup.less"
],
"mediawiki.special": [
"skinStyles/mobile.special.styles/minerva.less"
],
"mediawiki.special.preferences.styles.ooui": [
"skinStyles/mediawiki.special.preferences.styles.ooui/minerva.less"
],
"mobile.special.styles": [
"skinStyles/mobile.special.styles/minerva.less"
],
"mediawiki.editfont.styles": [
"skinStyles/mediawiki.editfont.styles/minerva.css"
],
"mediawiki.notification": [
"skinStyles/mobile.startup/drawers.less",
"skinStyles/mobile.startup/toast.less",
"skinStyles/mediawiki.watchstar.widgets.css"
],
"mediawiki.action.edit.styles": [
"skinStyles/mediawiki.action.edit.styles/minerva.less"
],
"mediawiki.content.json": [
"skinStyles/mediawiki.content-json/minerva.less"
],
"mediawiki.special.changeslist": [
"skinStyles/mediawiki.special.changeslist.less",
"skinStyles/mediawiki.special.changeslist.watchlistexpiry.less"
],
"mediawiki.special.changeslist.legend": [
"skinStyles/mediawiki.special.changeslist.legend.less"
],
"mobile.special.pagefeed.styles": [
"skinStyles/mobile.special.pagefeed.styles.less"
]
}
},
"ResourceModules": {
"skins.minerva.base.styles": {
"class": "MediaWiki\\Minerva\\ResourceLoaderSkinModule",
"features": [
"normalize",
"accessibility",
"i18n-ordered-lists",
"content-body",
"content-tables",
"content-links",
"interface-core"
],
"styles": [
"resources/skins.minerva.base.styles/CSSCustomProperties.less",
"resources/skins.minerva.base.styles/skin.less"
]
},
"skins.minerva.content.styles.images": {
"class": "MediaWiki\\ResourceLoader\\ImageModule",
"selectorWithoutVariant": "{name}",
"selectorWithVariant": "{name}--{variant}",
"defaultColor": "#36c",
"useDataURI": false,
"variants": {
"reference": {
"color": "#69f"
}
},
"images": {
"toast.mw-notification-type-error, .mw-notification.mw-notification-type-error": "resources/skins.minerva.content.styles.images/error.svg",
"a.external, .mw-parser-output a.external": {
"file": {
"ltr": "resources/skins.minerva.content.styles.images/link-external-ltr.svg",
"rtl": "resources/skins.minerva.content.styles.images/link-external-rtl.svg"
},
"variants": [
"reference"
]
}
}
},
"skins.minerva.amc.styles": {
"styles": [
"resources/skins.minerva.amc.styles/index.less"
]
},
"skins.minerva.overflow.icons": {
"selectorWithoutVariant": ".minerva-icon--{name}",
"useDataURI": false,
"defaultColor": "#54595d",
"class": "MediaWiki\\ResourceLoader\\OOUIIconPackModule",
"icons": [
"block",
"ellipsis",
"articleRedirect",
"infoFilled",
"link",
"move",
"lock",
"trash",
"listBullet",
"logoWikidata",
"qrCode",
"quotes",
"unBlock",
"unLock",
"userAvatarOutline",
"userTalk",
"userAvatar",
"userAdd",
"userGroup"
]
},
"skins.minerva.icons.wikimedia": {
"selectorWithVariant": ".minerva-icon--{name}-{variant}",
"selectorWithoutVariant": ".minerva-icon--{name}-base20, .minerva-icon--{name}",
"useDataURI": false,
"defaultColor": "#54595d",
"variants": {
"progressive": {
"color": "#36c",
"global": true
},
"invert": {
"color": "#fff",
"global": true
},
"warning": {
"color": "#fc3",
"global": true
}
},
"class": "MediaWiki\\ResourceLoader\\OOUIIconPackModule",
"icons": [
"edit",
"wikiText",
"editLock",
"history",
"language",
"menu",
"search",
"userAvatar",
"userTalk",
"star",
"halfStar",
"unStar"
]
},
"skins.minerva.mainPage.styles": {
"class": "MediaWiki\\Minerva\\ResourceLoaderSkinModule",
"styles": [
"resources/skins.minerva.mainPage.styles/common.less"
]
},
"skins.minerva.userpage.styles": {
"styles": [
"resources/skins.minerva.userpage.styles/userpage.less"
]
},
"skins.minerva.personalMenu.icons": {
"class": "MediaWiki\\ResourceLoader\\OOUIIconPackModule",
"selectorWithoutVariant": ".minerva-icon--{name}",
"defaultColor": "#54595d",
"icons": [
"sandbox"
],
"variants": [],
"useDataURI": false
},
"skins.minerva.mainMenu.advanced.icons": {
"class": "MediaWiki\\ResourceLoader\\OOUIIconPackModule",
"selectorWithoutVariant": ".minerva-icon--{name}",
"defaultColor": "#54595d",
"icons": [
"recentChanges",
"specialPages",
"speechBubbles"
],
"variants": [],
"useDataURI": false
},
"skins.minerva.mainMenu.icons": {
"class": "MediaWiki\\ResourceLoader\\OOUIIconPackModule",
"variants": [],
"selectorWithoutVariant": ".minerva-icon--{name}",
"defaultColor": "#54595d",
"useDataURI": false,
"icons": [
"die",
"heart",
"home",
"logIn",
"logOut",
"mapPin",
"settings",
"userContributions",
"unStar",
"watchlist"
]
},
"skins.minerva.mainMenu.styles": {
"styles": [
"resources/skins.minerva.mainMenu.styles/index.less"
]
},
"skins.minerva.loggedin.styles": {
"styles": [
"resources/skins.minerva.loggedin.styles/styles.less"
]
},
"skins.minerva.scripts": {
"dependencies": [
"skins.minerva.mainMenu.icons",
"skins.minerva.mainMenu.styles",
"mediawiki.cookie",
"skins.minerva.messageBox.styles",
"mediawiki.util",
"mediawiki.router",
"mediawiki.Title",
"mediawiki.Uri",
"mobile.startup",
"mediawiki.user",
"mediawiki.storage",
"mediawiki.experiments",
"mediawiki.page.watch.ajax"
],
"messages": [
"skin-minerva-night-mode-unavailable",
"skin-minerva-time-ago-seconds",
"skin-minerva-time-ago-minutes",
"skin-minerva-time-ago-hours",
"skin-minerva-time-ago-days",
"skin-minerva-time-ago-months",
"skin-minerva-time-ago-years",
"echo-badge-count",
"mobile-frontend-notifications-filter",
"skin-minerva-issue-learn-more",
"mobile-frontend-meta-data-issues",
"minerva-meta-data-issues-section-header",
"mobile-frontend-meta-data-issues-categories",
"mobile-frontend-meta-data-issues-header",
"mobile-frontend-languages-not-available",
"mobile-frontend-cookies-required",
"mobile-frontend-editor-redlink-create",
"mobile-frontend-editor-redlink-leave",
"mobile-frontend-editor-redlink-explain",
"minerva-download",
"minerva-watchlist-cta",
"mobile-frontend-redirected-from"
],
"styles": [
"resources/skins.minerva.scripts/styles.less"
],
"templates": {
"IssueNotice.mustache": "resources/skins.minerva.scripts/page-issues/overlay/IssueNotice.mustache"
},
"packageFiles": [
"resources/skins.minerva.scripts/setup.js",
"resources/skins.minerva.scripts/reportIfNightModeWasDisabledOnPage.js",
"resources/skins.minerva.scripts/addPortletLink.js",
"resources/skins.minerva.scripts/initMobile.js",
"resources/skins.minerva.scripts/searchSuggestReveal.js",
"resources/skins.minerva.scripts/drawers.js",
"resources/skins.minerva.scripts/ctaDrawers.js",
"resources/skins.minerva.scripts/menu.js",
"resources/skins.minerva.scripts/preInit.js",
"resources/skins.minerva.scripts/downloadPageAction.js",
"resources/skins.minerva.scripts/page-issues/parser.js",
"resources/skins.minerva.scripts/AB.js",
"resources/skins.minerva.scripts/page-issues/overlay/IssueNotice.js",
"resources/skins.minerva.scripts/page-issues/overlay/IssueList.js",
"resources/skins.minerva.scripts/page-issues/overlay/pageIssuesOverlay.js",
"resources/skins.minerva.scripts/page-issues/page/PageIssueLearnMoreLink.js",
"resources/skins.minerva.scripts/page-issues/page/PageIssueLink.js",
"resources/skins.minerva.scripts/page-issues/page/pageIssueFormatter.js",
"resources/skins.minerva.scripts/page-issues/index.js",
"resources/skins.minerva.scripts/UriUtil.js",
"resources/skins.minerva.scripts/TitleUtil.js",
"includes/Skins/ToggleList/ToggleList.js",
"resources/skins.minerva.scripts/TabScroll.js",
"resources/skins.minerva.scripts/Toolbar.js",
"resources/skins.minerva.scripts/mobileRedirect.js",
"resources/skins.minerva.scripts/search.js",
"resources/skins.minerva.scripts/references.js",
"resources/skins.minerva.scripts/watchstar.js"
]
},
"skins.minerva.messageBox.styles": {
"class": "MediaWiki\\ResourceLoader\\SkinModule",
"features": [
"interface-message-box"
]
},
"skins.minerva.categories.styles": {
"class": "MediaWiki\\ResourceLoader\\SkinModule",
"features": [
"interface-category"
]
},
"skins.minerva.codex.styles": {
"class": "MediaWiki\\ResourceLoader\\CodexModule",
"codexStyleOnly": true,
"codexComponents": [
"CdxButton"
]
}
},
"QUnitTestModule": {
"localBasePath": "",
"remoteSkinPath": "MinervaNeue",
"dependencies": [
"mediawiki.cookie",
"skins.minerva.messageBox.styles",
"mobile.startup",
"mediawiki.user",
"mediawiki.experiments",
"mediawiki.Uri"
],
"packageFiles": [
"tests/qunit/skins.minerva.scripts/index.js",
"tests/qunit/skins.minerva.scripts/integration.test.js",
"resources/skins.minerva.scripts/page-issues/parser.js",
"resources/skins.minerva.scripts/downloadPageAction.js",
"resources/skins.minerva.scripts/AB.js",
"resources/skins.minerva.scripts/page-issues/overlay/IssueNotice.js",
"resources/skins.minerva.scripts/page-issues/overlay/IssueList.js",
"resources/skins.minerva.scripts/page-issues/overlay/pageIssuesOverlay.js",
"resources/skins.minerva.scripts/page-issues/page/PageIssueLearnMoreLink.js",
"resources/skins.minerva.scripts/page-issues/page/PageIssueLink.js",
"resources/skins.minerva.scripts/page-issues/page/pageIssueFormatter.js",
"resources/skins.minerva.scripts/page-issues/index.js",
"resources/skins.minerva.scripts/UriUtil.js",
"resources/skins.minerva.scripts/TitleUtil.js",
"resources/skins.minerva.scripts/watchstar.js",
"tests/qunit/skins.minerva.scripts/downloadPageAction.test.js",
"tests/qunit/skins.minerva.scripts/page-issues/parser.test.js",
"tests/qunit/skins.minerva.scripts/AB.test.js",
"tests/qunit/skins.minerva.scripts/page-issues/index.test.js",
"tests/qunit/skins.minerva.scripts/UriUtil.test.js",
"tests/qunit/skins.minerva.scripts/TitleUtil.test.js",
"tests/qunit/skins.minerva.scripts/watchstar.test.js"
]
},
"ServiceWiringFiles": [
"includes/ServiceWiring.php"
],
"attributes": {
"DarkMode": {
"Disabled": [
"minerva"
]
},
"MobileFrontend": {
"EditorAvailableSkins": [
"minerva"
]
},
"VisualEditor": {
"IconSkins": [
"minerva"
]
}
},
"DefaultUserOptions": {
"minerva-theme": "day"
},
"manifest_version": 2
}