Version of vector used on wiki.jon-e.net
Go to file
Sam Smith b46751d4ed hooks: Don't use SkinVersionLookup directly
The feature manager abstracts away how a feature is enabled from the
consumer of that feature. Accordingly, replace direct instantiation of
SkinVersionLookup with usage of the Vector.FeatureManager service.

Supporting changes:

- Add Vector\VectorServices, a simple wrapper around
  MediaWiki\MediaWikiServices that allows us to both document and
  type-hint services specific to Vector

- Add Vector\Hooks::isSkinVersionLegacy to minimise repetition

Additional changes:

- Make the MakeGlobalVariablesScript hook handler return early if the
  user isn't using the Vector skin like the other hook handlers

Bug: T256100
Change-Id: I93b5ef39802323c7ac658af8fa7cc312fff68aa7
2020-08-18 11:40:48 +01:00
.phan Upgrade to newer phan 2019-03-20 19:37:59 -07:00
.storybook Add storybook to Vector 2020-01-31 16:59:15 +08:00
dev-scripts [dev][Storybook] move to start script; report errors not status 2020-05-12 13:42:01 -07:00
i18n Localisation updates from https://translatewiki.net. 2020-08-17 08:47:54 +02:00
includes hooks: Don't use SkinVersionLookup directly 2020-08-18 11:40:48 +01:00
resources Apply @min-width-supported to .mw-page-container 2020-08-13 17:11:48 -06:00
screenshots Add skin screenshot for the installer 2017-08-11 15:37:34 -04:00
skinStyles Replace deprecated @colorFieldBorder variable and use others 2020-04-28 01:42:09 +00:00
stories Merge "Remove VectorBeforeFooter hook" 2020-08-13 22:36:09 +00:00
tests hooks: Don't use SkinVersionLookup directly 2020-08-18 11:40:48 +01:00
.eslintignore Replace Grunt tasks with npm scripts in package.json 2020-02-27 16:32:12 +01:00
.eslintrc.json [dev] [JS] Move JavaScript to package modules 2020-04-10 09:39:25 -06:00
.gitignore Drop wgVectorResponsive support from modern Vector 2020-07-02 22:08:37 +03:00
.gitreview Use track=1 instead of defaultbranch=master in .gitreview 2016-10-24 17:30:32 -07:00
.nvmrc [build] Add NVM configuration 2020-07-31 02:25:21 +00:00
.phpcs.xml Add method scope visibility 2018-11-01 21:01:32 +01:00
.stylelintignore Replace Grunt tasks with npm scripts in package.json 2020-02-27 16:32:12 +01:00
.stylelintrc.json build: Bump devDependencies to latest 2018-02-26 10:29:23 -08:00
.svgo.yml build: Add 'svgo', SVG minifier script and unify SVGO rules 2020-03-07 19:47:58 -08:00
bundlesize.config.json Move the personal tools and search into header 2020-08-11 23:36:01 +00:00
CODE_OF_CONDUCT.md build: Updating mediawiki/mediawiki-codesniffer to 22.0.0 2018-09-04 01:45:34 +00:00
composer.json build: Updating npm dependencies 2020-06-12 05:51:50 +00:00
COPYING Use the plain-text GPL and fix 'license-name' to match SPDX conventions 2015-01-29 17:04:29 +01:00
Doxyfile docs: Generate documentation with Doxygen 2020-02-24 16:49:38 +00:00
jsdoc.json Vector manages search functionality and provides config flag 2020-08-04 00:06:31 +00:00
package-lock.json build: Updating npm dependencies 2020-08-11 23:39:47 +00:00
package.json Merge "[build] Fold NPM build script into test" 2020-08-03 19:54:52 +00:00
README.md [build] Make the pre-commit hook optional 2020-08-03 18:23:42 +00:00
skin.json Move the personal tools and search into header 2020-08-11 23:36:01 +00:00
tsconfig.json [JavaScript] Validate types 2020-03-16 09:10:08 -06:00
variables.less less: Remove duplicated variables from mediawiki.ui 2020-07-15 17:55:59 -07:00

Vector Skin

Installation

See https://www.mediawiki.org/wiki/Skin:Vector.

Configuration options

See skin.json.

Development

Coding conventions

We strive for compliance with MediaWiki conventions:

https://www.mediawiki.org/wiki/Manual:Coding_conventions

Additions and deviations from those conventions that are more tailored to this project are noted at:

https://www.mediawiki.org/wiki/Reading/Web/Coding_conventions

URL query parameters

Skin preferences

Vector defines skin-specific user preferences. These are exposed on Special:Preferences when the VectorShowSkinPreferences configuration is enabled. The user's preference state for skin preferences is used for skin previews and any other operation unless specified otherwise.

Version

Vector defines a "version" preference to enable users who prefer the December 2019 version of Vector to continue to do so without any visible changes. This version is called "Legacy Vector." The related preference defaults are configurable via the configurations prefixed with VectorDefaultSkinVersion. Version preference and configuration may be overridden by the useskinversion URL query parameter.

Pre-commit tests

A pre-commit hook is installed when executing npm install. By default, it runs npm test which is useful for automatically validating everything that can be in a reasonable amount of time. If you wish to defer these tests to be executed by continuous integration only, set the PRE_COMMIT environment variable to 0:

$ export PRE_COMMIT=0
$ git commit

Or more succinctly:

$ PRE_COMMIT=0 git commit

Skipping the pre-commit tests has no impact on Gerrit change identifier hooks.

Hooks

See hooks.txt.