2015-04-07 19:52:32 +00:00
{
"name" : "Vector" ,
"author" : [
"Trevor Parscal" ,
"Roan Kattouw" ,
"..."
] ,
"url" : "https://www.mediawiki.org/wiki/Skin:Vector" ,
"descriptionmsg" : "vector-skin-desc" ,
2015-09-28 09:42:39 +00:00
"namemsg" : "skinname-vector" ,
2018-02-16 18:41:02 +00:00
"license-name" : "GPL-2.0-or-later" ,
2015-04-07 19:52:32 +00:00
"type" : "skin" ,
2015-09-23 15:31:56 +00:00
"requires" : {
2020-04-15 17:26:19 +00:00
"MediaWiki" : ">= 1.35.0"
2015-09-23 15:31:56 +00:00
} ,
2015-04-07 19:52:32 +00:00
"ValidSkinNames" : {
"vector" : "Vector"
} ,
"MessagesDirs" : {
"Vector" : [
"i18n"
]
} ,
"AutoloadClasses" : {
2018-03-12 23:52:48 +00:00
"SkinVector" : "includes/SkinVector.php" ,
2019-11-12 19:09:26 +00:00
"VectorTemplate" : "includes/VectorTemplate.php"
2015-04-07 19:52:32 +00:00
} ,
2020-02-20 16:37:33 +00:00
"AutoloadNamespaces" : {
2020-04-18 02:59:38 +00:00
"Vector\\" : "includes/"
2020-02-20 16:37:33 +00:00
} ,
[Special:Preferences] [PHP] Add skin version user preference and configs
Add a Vector-specific user preference to Special:Preferences for
toggling skin version, either Legacy Vector or the latest Vector.
The presentation of the new preference section and the default values
for anonymous, new, and existing accounts are configurable via
$wgVectorShowSkinPreferences, $wgVectorDefaultSkinVersion (to be used by
the feature manager in T244481),
$wgVectorDefaultSkinVersionForExistingAccounts, and
$wgVectorDefaultSkinVersionForNewAccounts. These configurations default
to the fullest experience so that third-party configuration is minimal.
See skin.json for details. The configurations are each tested in
VectorHooksTest.php.
When presentation is enabled, the new preference appears as a checkbox;
enabled is Legacy mode and disable is latest. There are a number of
unfortunate details:
- Showing and hiding a checkbox is supported by OOUI. Showing and hiding
a whole section (Vector skin preferences, in this case) is not so this
additional client JavaScript functionality is added in Core (see
Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377).
- Stylization as a checkbox is wanted. However, the implied storage type
for OOUI checkboxes is a boolean. This is not wanted in the event that
another skin version is added (e.g., '3' or 'alpha'). As a workaround,
the preference is converted from a boolean to a version string ('1' or
'2') on save in Hooks::onPreferencesFormPreSave() and from a version
string to a checkbox enable / disable string ('1' or '0') in
onGetPreferences(). There a number of test cases to help cover these
concerning details.
Documentation for overriding the skin version as a URL query parameter
is provided in anticipation of T244481.
Bug: T242381
Bug: T245793
Depends-On: Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377
Depends-On: Ifc2863fca9cd9efd11ac30c780420e8d89e8cb22
Change-Id: I177dad88fc982170641059b6a4f53fbb38eefad6
2020-01-23 21:53:09 +00:00
"ConfigRegistry" : {
"vector" : "GlobalVarConfig::newInstance"
} ,
2017-06-30 19:21:16 +00:00
"Hooks" : {
[Special:Preferences] [PHP] Add skin version user preference and configs
Add a Vector-specific user preference to Special:Preferences for
toggling skin version, either Legacy Vector or the latest Vector.
The presentation of the new preference section and the default values
for anonymous, new, and existing accounts are configurable via
$wgVectorShowSkinPreferences, $wgVectorDefaultSkinVersion (to be used by
the feature manager in T244481),
$wgVectorDefaultSkinVersionForExistingAccounts, and
$wgVectorDefaultSkinVersionForNewAccounts. These configurations default
to the fullest experience so that third-party configuration is minimal.
See skin.json for details. The configurations are each tested in
VectorHooksTest.php.
When presentation is enabled, the new preference appears as a checkbox;
enabled is Legacy mode and disable is latest. There are a number of
unfortunate details:
- Showing and hiding a checkbox is supported by OOUI. Showing and hiding
a whole section (Vector skin preferences, in this case) is not so this
additional client JavaScript functionality is added in Core (see
Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377).
- Stylization as a checkbox is wanted. However, the implied storage type
for OOUI checkboxes is a boolean. This is not wanted in the event that
another skin version is added (e.g., '3' or 'alpha'). As a workaround,
the preference is converted from a boolean to a version string ('1' or
'2') on save in Hooks::onPreferencesFormPreSave() and from a version
string to a checkbox enable / disable string ('1' or '0') in
onGetPreferences(). There a number of test cases to help cover these
concerning details.
Documentation for overriding the skin version as a URL query parameter
is provided in anticipation of T244481.
Bug: T242381
Bug: T245793
Depends-On: Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377
Depends-On: Ifc2863fca9cd9efd11ac30c780420e8d89e8cb22
Change-Id: I177dad88fc982170641059b6a4f53fbb38eefad6
2020-01-23 21:53:09 +00:00
"BeforePageDisplayMobile" : "Vector\\Hooks::onBeforePageDisplayMobile" ,
"GetPreferences" : "Vector\\Hooks::onGetPreferences" ,
"PreferencesFormPreSave" : "Vector\\Hooks::onPreferencesFormPreSave" ,
2020-05-11 22:09:21 +00:00
"SkinTemplateNavigation" : "Vector\\Hooks::onSkinTemplateNavigation" ,
[Special:Preferences] [PHP] Add skin version user preference and configs
Add a Vector-specific user preference to Special:Preferences for
toggling skin version, either Legacy Vector or the latest Vector.
The presentation of the new preference section and the default values
for anonymous, new, and existing accounts are configurable via
$wgVectorShowSkinPreferences, $wgVectorDefaultSkinVersion (to be used by
the feature manager in T244481),
$wgVectorDefaultSkinVersionForExistingAccounts, and
$wgVectorDefaultSkinVersionForNewAccounts. These configurations default
to the fullest experience so that third-party configuration is minimal.
See skin.json for details. The configurations are each tested in
VectorHooksTest.php.
When presentation is enabled, the new preference appears as a checkbox;
enabled is Legacy mode and disable is latest. There are a number of
unfortunate details:
- Showing and hiding a checkbox is supported by OOUI. Showing and hiding
a whole section (Vector skin preferences, in this case) is not so this
additional client JavaScript functionality is added in Core (see
Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377).
- Stylization as a checkbox is wanted. However, the implied storage type
for OOUI checkboxes is a boolean. This is not wanted in the event that
another skin version is added (e.g., '3' or 'alpha'). As a workaround,
the preference is converted from a boolean to a version string ('1' or
'2') on save in Hooks::onPreferencesFormPreSave() and from a version
string to a checkbox enable / disable string ('1' or '0') in
onGetPreferences(). There a number of test cases to help cover these
concerning details.
Documentation for overriding the skin version as a URL query parameter
is provided in anticipation of T244481.
Bug: T242381
Bug: T245793
Depends-On: Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377
Depends-On: Ifc2863fca9cd9efd11ac30c780420e8d89e8cb22
Change-Id: I177dad88fc982170641059b6a4f53fbb38eefad6
2020-01-23 21:53:09 +00:00
"LocalUserCreated" : "Vector\\Hooks::onLocalUserCreated"
2017-06-30 19:21:16 +00:00
} ,
2015-07-24 00:05:26 +00:00
"@note" : "When modifying skins.vector.styles definition, make sure the installer still works" ,
2015-04-07 19:52:32 +00:00
"ResourceModules" : {
2020-03-11 22:35:38 +00:00
"skins.vector.styles.legacy" : {
"class" : "ResourceLoaderSkinModule" ,
2020-03-19 03:13:41 +00:00
"features" : [ "elements" , "content" , "interface" , "logo" , "legacy" ] ,
2020-03-11 22:35:38 +00:00
"targets" : [
"desktop" ,
"mobile"
] ,
2020-05-14 20:54:15 +00:00
"styles" : [ "resources/skins.vector.styles/skin-legacy.less" ]
2020-03-11 22:35:38 +00:00
} ,
2015-07-24 00:05:26 +00:00
"skins.vector.styles" : {
2019-11-12 19:09:26 +00:00
"class" : "ResourceLoaderSkinModule" ,
[modern] A new version of Vector with a new logo
Changes to support feature:
* ResourceLoaderSkinModule logo features are dropped
* New layout provided given the fork in layout between legacy and new.
* Legacy sidebar styles now pulled out
* breakpoint styles are not carried over from legacy Vector
The new Vector layout for now has one breakpoint.
Changes to storybook:
* The storybook script now pulls down image assets so that the logos can
be shown in storybook. The script is adjusted to make use of a static folder to
serve these images.
Note:
* The legacy mode is not touched as part of this patchset.
* The personal menu is unaffected by this patch and is out of scope.
* The alignment issue is noted, but will be solved at a later date.
* Changes to portal are out of scope.
* Adding storybook for modern descoped, given its not possible to load
both legacy layout and modern layout inside a storybook at current time.
Sample config:
$wgLogos = [
'icon' => 'https://di-logo-sandbox.firebaseapp.com/img/globe.png',
'tagline' => [
'src' => 'https://di-logo-sandbox.firebaseapp.com/img/tagline/en-tagline-117-13.svg',
'width' => 117,
'height' => 13,
],
'1x' => 'https://en.wikipedia.org/static/images/project-logos/enwiki.png',
'wordmark' => [
'src' => 'https://en.wikipedia.org/static/images/mobile/copyright/wikipedia-wordmark-en.svg',
'width' => 116,
'height' => 18,
],
];
Coauthor: Aron Manning
Bug: T246170
Change-Id: Ibc4b055150761388a6b78f9127da342c451ce0e7
2020-03-09 05:51:00 +00:00
"features" : [ "elements" , "content" , "interface" , "legacy" ] ,
2020-01-11 04:40:49 +00:00
"targets" : [
"desktop" ,
"mobile"
] ,
2020-05-14 20:54:15 +00:00
"styles" : [ "resources/skins.vector.styles/skin.less" ]
2015-07-24 00:05:26 +00:00
} ,
2020-03-30 20:07:35 +00:00
"skins.vector.icons" : {
"class" : "ResourceLoaderImageModule" ,
2020-06-02 03:09:42 +00:00
"selector" : "{name}" ,
2020-03-30 20:07:35 +00:00
"images" : {
2020-06-02 03:09:42 +00:00
"#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"
2020-03-30 20:07:35 +00:00
}
} ,
2015-07-24 00:05:26 +00:00
"skins.vector.styles.responsive" : {
2020-01-11 04:40:49 +00:00
"targets" : [
"desktop" ,
"mobile"
] ,
2020-03-10 21:01:09 +00:00
"styles" : [ "resources/skins.vector.styles.responsive.less" ]
2015-07-24 00:05:26 +00:00
} ,
2015-04-07 19:52:32 +00:00
"skins.vector.js" : {
2020-04-10 15:24:13 +00:00
"packageFiles" : [
2020-05-14 20:54:15 +00:00
"resources/skins.vector.js/skin.js" ,
2020-05-11 21:29:56 +00:00
"resources/skins.vector.legacy.js/collapsibleTabs.js" ,
"resources/skins.vector.legacy.js/vector.js"
] ,
"dependencies" : [
2020-03-30 20:07:35 +00:00
"mediawiki.util" ,
"mediawiki.page.ready"
2020-05-11 21:29:56 +00:00
]
} ,
"skins.vector.legacy.js" : {
"packageFiles" : [
2020-05-14 20:54:15 +00:00
"resources/skins.vector.legacy.js/skin-legacy.js" ,
2020-05-11 21:29:56 +00:00
"resources/skins.vector.legacy.js/collapsibleTabs.js" ,
"resources/skins.vector.legacy.js/vector.js"
2015-04-07 19:52:32 +00:00
] ,
"dependencies" : [
2019-10-04 00:06:46 +00:00
"mediawiki.util"
2015-04-07 19:52:32 +00:00
]
}
} ,
"ResourceFileModulePaths" : {
"localBasePath" : "" ,
"remoteSkinPath" : "Vector"
} ,
"ResourceModuleSkinStyles" : {
"vector" : {
"jquery.tipsy" : "skinStyles/jquery.tipsy.less" ,
2019-10-16 22:44:40 +00:00
"jquery.ui" : [
2015-04-07 19:52:32 +00:00
"skinStyles/jquery.ui/jquery.ui.core.css" ,
2019-10-16 22:44:40 +00:00
"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"
2015-04-07 19:52:32 +00:00
] ,
2017-06-15 13:05:39 +00:00
"+mediawiki.action.view.redirectPage" : "skinStyles/mediawiki.action.view.redirectPage.less" ,
2015-05-04 16:29:18 +00:00
"+mediawiki.notification" : "skinStyles/mediawiki.notification.less" ,
2016-02-29 16:59:59 +00:00
"+oojs-ui-core.styles" : "skinStyles/ooui.less" ,
2019-06-20 18:14:27 +00:00
"mediawiki.special" : "skinStyles/mediawiki.special.less" ,
"+ext.relatedArticles.readMore" : "skinStyles/ext.relatedArticles.readMore.less"
2015-04-07 19:52:32 +00:00
}
} ,
"config" : {
2020-01-11 04:40:49 +00:00
"VectorUseIconWatch" : {
"value" : true
} ,
"VectorResponsive" : {
"value" : false
[Special:Preferences] [PHP] Add skin version user preference and configs
Add a Vector-specific user preference to Special:Preferences for
toggling skin version, either Legacy Vector or the latest Vector.
The presentation of the new preference section and the default values
for anonymous, new, and existing accounts are configurable via
$wgVectorShowSkinPreferences, $wgVectorDefaultSkinVersion (to be used by
the feature manager in T244481),
$wgVectorDefaultSkinVersionForExistingAccounts, and
$wgVectorDefaultSkinVersionForNewAccounts. These configurations default
to the fullest experience so that third-party configuration is minimal.
See skin.json for details. The configurations are each tested in
VectorHooksTest.php.
When presentation is enabled, the new preference appears as a checkbox;
enabled is Legacy mode and disable is latest. There are a number of
unfortunate details:
- Showing and hiding a checkbox is supported by OOUI. Showing and hiding
a whole section (Vector skin preferences, in this case) is not so this
additional client JavaScript functionality is added in Core (see
Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377).
- Stylization as a checkbox is wanted. However, the implied storage type
for OOUI checkboxes is a boolean. This is not wanted in the event that
another skin version is added (e.g., '3' or 'alpha'). As a workaround,
the preference is converted from a boolean to a version string ('1' or
'2') on save in Hooks::onPreferencesFormPreSave() and from a version
string to a checkbox enable / disable string ('1' or '0') in
onGetPreferences(). There a number of test cases to help cover these
concerning details.
Documentation for overriding the skin version as a URL query parameter
is provided in anticipation of T244481.
Bug: T242381
Bug: T245793
Depends-On: Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377
Depends-On: Ifc2863fca9cd9efd11ac30c780420e8d89e8cb22
Change-Id: I177dad88fc982170641059b6a4f53fbb38eefad6
2020-01-23 21:53:09 +00:00
} ,
"VectorShowSkinPreferences" : {
"value" : true ,
"description" : "@var boolean Show skin-specific user preferences on the Special:Preferences appearance tab when true and hide them otherwise."
} ,
"VectorDefaultSkinVersion" : {
2020-05-04 13:25:38 +00:00
"value" : "1" ,
2020-04-28 21:02:15 +00:00
"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."
[Special:Preferences] [PHP] Add skin version user preference and configs
Add a Vector-specific user preference to Special:Preferences for
toggling skin version, either Legacy Vector or the latest Vector.
The presentation of the new preference section and the default values
for anonymous, new, and existing accounts are configurable via
$wgVectorShowSkinPreferences, $wgVectorDefaultSkinVersion (to be used by
the feature manager in T244481),
$wgVectorDefaultSkinVersionForExistingAccounts, and
$wgVectorDefaultSkinVersionForNewAccounts. These configurations default
to the fullest experience so that third-party configuration is minimal.
See skin.json for details. The configurations are each tested in
VectorHooksTest.php.
When presentation is enabled, the new preference appears as a checkbox;
enabled is Legacy mode and disable is latest. There are a number of
unfortunate details:
- Showing and hiding a checkbox is supported by OOUI. Showing and hiding
a whole section (Vector skin preferences, in this case) is not so this
additional client JavaScript functionality is added in Core (see
Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377).
- Stylization as a checkbox is wanted. However, the implied storage type
for OOUI checkboxes is a boolean. This is not wanted in the event that
another skin version is added (e.g., '3' or 'alpha'). As a workaround,
the preference is converted from a boolean to a version string ('1' or
'2') on save in Hooks::onPreferencesFormPreSave() and from a version
string to a checkbox enable / disable string ('1' or '0') in
onGetPreferences(). There a number of test cases to help cover these
concerning details.
Documentation for overriding the skin version as a URL query parameter
is provided in anticipation of T244481.
Bug: T242381
Bug: T245793
Depends-On: Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377
Depends-On: Ifc2863fca9cd9efd11ac30c780420e8d89e8cb22
Change-Id: I177dad88fc982170641059b6a4f53fbb38eefad6
2020-01-23 21:53:09 +00:00
} ,
"VectorDefaultSkinVersionForExistingAccounts" : {
2020-05-04 13:25:38 +00:00
"value" : "1" ,
2020-04-28 21:02:15 +00:00
"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."
[Special:Preferences] [PHP] Add skin version user preference and configs
Add a Vector-specific user preference to Special:Preferences for
toggling skin version, either Legacy Vector or the latest Vector.
The presentation of the new preference section and the default values
for anonymous, new, and existing accounts are configurable via
$wgVectorShowSkinPreferences, $wgVectorDefaultSkinVersion (to be used by
the feature manager in T244481),
$wgVectorDefaultSkinVersionForExistingAccounts, and
$wgVectorDefaultSkinVersionForNewAccounts. These configurations default
to the fullest experience so that third-party configuration is minimal.
See skin.json for details. The configurations are each tested in
VectorHooksTest.php.
When presentation is enabled, the new preference appears as a checkbox;
enabled is Legacy mode and disable is latest. There are a number of
unfortunate details:
- Showing and hiding a checkbox is supported by OOUI. Showing and hiding
a whole section (Vector skin preferences, in this case) is not so this
additional client JavaScript functionality is added in Core (see
Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377).
- Stylization as a checkbox is wanted. However, the implied storage type
for OOUI checkboxes is a boolean. This is not wanted in the event that
another skin version is added (e.g., '3' or 'alpha'). As a workaround,
the preference is converted from a boolean to a version string ('1' or
'2') on save in Hooks::onPreferencesFormPreSave() and from a version
string to a checkbox enable / disable string ('1' or '0') in
onGetPreferences(). There a number of test cases to help cover these
concerning details.
Documentation for overriding the skin version as a URL query parameter
is provided in anticipation of T244481.
Bug: T242381
Bug: T245793
Depends-On: Iaf68b238a8ac7a4fb22b9ef5d6c5a3394ee2e377
Depends-On: Ifc2863fca9cd9efd11ac30c780420e8d89e8cb22
Change-Id: I177dad88fc982170641059b6a4f53fbb38eefad6
2020-01-23 21:53:09 +00:00
} ,
"VectorDefaultSkinVersionForNewAccounts" : {
2020-05-04 13:25:38 +00:00
"value" : "1" ,
2020-05-01 13:58:16 +00:00
"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."
2020-01-11 04:40:49 +00:00
}
2015-06-08 20:20:52 +00:00
} ,
2020-02-20 16:37:33 +00:00
"ServiceWiringFiles" : [
"includes/ServiceWiring.php"
] ,
2020-01-11 04:40:49 +00:00
"manifest_version" : 2
2015-04-07 19:52:32 +00:00
}