108393daf1
The collapsible sidebar adds a new JavaScript dependency and behavior to Latest mode only. There are a number of ways of to make the deviation but we think now is the time to start splitting by module. This patch adds a new ResourceLoader module, skins.vector.legacy.js, and moves the existing JavaScript into it. The old module, skins.vector.js, has been given a currently matching index.js entry point that references the collapsible tabs' files by reaching across directories. It's not quite ideal as usually ResourceLoader modules and directory structures strive for 1:1 correspondence but this patch makes the bold assertions that it's better than a file copy, better than a new "skins.vector.common.js" ResourceLoader module, more compatible than a symlink, and the existing jQuery tabs implementation will eventually be replaced in Latest mode. A "Legacy" module was added instead of a "Latest" with the assumption that active development should generally be considered "latest" and Legacy an intentional distinction. Bug: T246419 Change-Id: I9980403f1ee5897c27ac0331f0b51a5bcbdff778 |
||
---|---|---|
.phan | ||
.storybook | ||
dev-scripts | ||
i18n | ||
includes | ||
resources | ||
screenshots | ||
skinStyles | ||
stories | ||
tests/phpunit | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.gitreview | ||
.phpcs.xml | ||
.stylelintignore | ||
.stylelintrc.json | ||
.svgo.yml | ||
CODE_OF_CONDUCT.md | ||
COPYING | ||
Doxyfile | ||
README.md | ||
composer.json | ||
hooks.txt | ||
jsdoc.json | ||
package-lock.json | ||
package.json | ||
skin.json | ||
tsconfig.json | ||
variables.less |
README.md
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
useskinversion
: Likeuseskin
but for overriding the Vector skin version user preference and configuration. E.g., http://localhost:8181?useskin=vector&useskinversion=2.
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.
Hooks
See hooks.txt.