mediawiki-skins-Vector/skin.json
Stephen Niedzielski a0d2c2497b [fix][RTL] flip menu collapse button icon
Fix the icon button directionality in right-to-left languages.
Previously, the button was hardcoded to support left-to-right only.

- Replace the skin.vector.icons' `.mw-ui-icon-wikimedia-{name}:before`
  `selector` in skin.json with a placeholder, `{name}`. I don't think
  this selector should be needed but it seems to be erroneous not have
  one. I believe this issue of wanting a null selector was encountered
  in Minerva or MobileFrontend but am unable to locate the past
  discourse.

- Add check and unchecked menu button selectors to skin.json that set
  the appropriate background image. This shards some of the styles out
  of Less and into ResourceLoader-land but it's worthwhile.

- Revise the name of horizontal collapse icon to describe its form not
  function, "collapseHorizontal" to "chevronHorizontal". This has been
  an established convention that was missed a couple patches back.

- Add a flipped chevronHorizontal for RTL. I used Inkscape to do the
  flip and tried to match the style of the original by hand. Feel free
  to edit further.

- Drop the now unnecessary icon flipping JavaScript and initial Mustache
  class. This enables a real CSS-only solution for the icons.

Bug: T246419
Change-Id: I60f65b3c595bf18d309b667d9a0b066691b90c97
2020-06-03 17:09:38 -06:00

165 lines
5.7 KiB
JSON

{
"name": "Vector",
"author": [
"Trevor Parscal",
"Roan Kattouw",
"..."
],
"url": "https://www.mediawiki.org/wiki/Skin:Vector",
"descriptionmsg": "vector-skin-desc",
"namemsg": "skinname-vector",
"license-name": "GPL-2.0-or-later",
"type": "skin",
"requires": {
"MediaWiki": ">= 1.35.0"
},
"ValidSkinNames": {
"vector": "Vector"
},
"MessagesDirs": {
"Vector": [
"i18n"
]
},
"AutoloadClasses": {
"SkinVector": "includes/SkinVector.php",
"VectorTemplate": "includes/VectorTemplate.php"
},
"AutoloadNamespaces": {
"Vector\\": "includes/"
},
"ConfigRegistry": {
"vector": "GlobalVarConfig::newInstance"
},
"Hooks": {
"BeforePageDisplayMobile": "Vector\\Hooks::onBeforePageDisplayMobile",
"GetPreferences": "Vector\\Hooks::onGetPreferences",
"PreferencesFormPreSave": "Vector\\Hooks::onPreferencesFormPreSave",
"SkinTemplateNavigation": "Vector\\Hooks::onSkinTemplateNavigation",
"LocalUserCreated": "Vector\\Hooks::onLocalUserCreated"
},
"@note": "When modifying skins.vector.styles definition, make sure the installer still works",
"ResourceModules": {
"skins.vector.styles.legacy": {
"class": "ResourceLoaderSkinModule",
"features": [ "elements", "content", "interface", "logo", "legacy" ],
"targets": [
"desktop",
"mobile"
],
"styles": [ "resources/skins.vector.styles/skin-legacy.less" ]
},
"skins.vector.styles": {
"class": "ResourceLoaderSkinModule",
"features": [ "elements", "content", "interface", "legacy" ],
"targets": [
"desktop",
"mobile"
],
"styles": [ "resources/skins.vector.styles/skin.less" ]
},
"skins.vector.icons": {
"class": "ResourceLoaderImageModule",
"selector": "{name}",
"images": {
"#mw-navigation .mw-checkbox-hack-button:before": {
"file": {
"ltr": "resources/skins.vector.icons/chevronHorizontal-ltr.svg",
"rtl": "resources/skins.vector.icons/chevronHorizontal-rtl.svg"
}
},
"#mw-navigation .mw-checkbox-hack-checkbox:not( :checked ) ~ .mw-checkbox-hack-button:before": "resources/skins.vector.icons/menu.svg"
}
},
"skins.vector.styles.responsive": {
"targets": [
"desktop",
"mobile"
],
"styles": [ "resources/skins.vector.styles.responsive.less" ]
},
"skins.vector.js": {
"packageFiles": [
"resources/skins.vector.js/skin.js",
"resources/skins.vector.legacy.js/collapsibleTabs.js",
"resources/skins.vector.legacy.js/vector.js"
],
"dependencies": [
"mediawiki.util",
"mediawiki.page.ready"
]
},
"skins.vector.legacy.js": {
"packageFiles": [
"resources/skins.vector.legacy.js/skin-legacy.js",
"resources/skins.vector.legacy.js/collapsibleTabs.js",
"resources/skins.vector.legacy.js/vector.js"
],
"dependencies": [
"mediawiki.util"
]
}
},
"ResourceFileModulePaths": {
"localBasePath": "",
"remoteSkinPath": "Vector"
},
"ResourceModuleSkinStyles": {
"vector": {
"jquery.tipsy": "skinStyles/jquery.tipsy.less",
"jquery.ui": [
"skinStyles/jquery.ui/jquery.ui.core.css",
"skinStyles/jquery.ui/jquery.ui.theme.css",
"skinStyles/jquery.ui/jquery.ui.accordion.css",
"skinStyles/jquery.ui/jquery.ui.autocomplete.css",
"skinStyles/jquery.ui/jquery.ui.button.css",
"skinStyles/jquery.ui/jquery.ui.datepicker.css",
"skinStyles/jquery.ui/jquery.ui.dialog.css",
"skinStyles/jquery.ui/jquery.ui.menu.css",
"skinStyles/jquery.ui/jquery.ui.progressbar.css",
"skinStyles/jquery.ui/jquery.ui.resizable.css",
"skinStyles/jquery.ui/jquery.ui.selectable.css",
"skinStyles/jquery.ui/jquery.ui.slider.css",
"skinStyles/jquery.ui/jquery.ui.tabs.css",
"skinStyles/jquery.ui/jquery.ui.tooltip.css"
],
"+mediawiki.action.view.redirectPage": "skinStyles/mediawiki.action.view.redirectPage.less",
"+mediawiki.notification": "skinStyles/mediawiki.notification.less",
"+oojs-ui-core.styles": "skinStyles/ooui.less",
"mediawiki.special": "skinStyles/mediawiki.special.less",
"+ext.relatedArticles.readMore": "skinStyles/ext.relatedArticles.readMore.less"
}
},
"config": {
"VectorUseSimpleSearch": {
"value": true
},
"VectorUseIconWatch": {
"value": true
},
"VectorResponsive": {
"value": false
},
"VectorShowSkinPreferences": {
"value": true,
"description": "@var boolean Show skin-specific user preferences on the Special:Preferences appearance tab when true and hide them otherwise."
},
"VectorDefaultSkinVersion": {
"value": "1",
"description": "@var string:['2'|'1'] The version ('2' for latest, '1' for legacy) of the Vector skin to use for anonymous users and as a fallback. The value is _not_ persisted."
},
"VectorDefaultSkinVersionForExistingAccounts": {
"value": "1",
"description": "@var string:['2'|'1'] The version ('2' for latest, '1' for legacy) of the Vector skin to use when an existing user has not specified a preference. This configuration is not used for new accounts (see VectorDefaultSkinVersionForNewAccounts) and is impermanent. In the future, this field may contains versions such as \"beta\" which when specified and the BetaFeatures extension is installed, and the user is enrolled, the latest version is used otherwise legacy. The value is _not_ persisted."
},
"VectorDefaultSkinVersionForNewAccounts": {
"value": "1",
"description": "@var string:['2'|'1'] The version ('2' for latest, '1' for legacy) of the Vector skin to **set** for newly created user accounts. **The value is persisted as a user preference.** This configuration is not used for preexisting accounts (see VectorDefaultSkinVersionForExistingAccounts) and only ever executed once at new account creation time."
}
},
"ServiceWiringFiles": [
"includes/ServiceWiring.php"
],
"manifest_version": 2
}