Go to file
bwang e1d1de809f Use JS to move the ToC into page title to fix a11y issues and simplify styles
- The collapsible ToC absolute positioning solution has been preserved to be used on no-js mobile resolutions
- The collapsible ToC grid based positioning solution has been removed
- ToC styles have been refactored and organzied

This patch involves HTML changes. In order to avoid additional complexity, this patch disables the collapsible ToC feature for users above the mobile viewport with cached HTML. The ToC continues to be automatically collapsed on mobile viewports for cached HTML users.

This patch results in 9 expected visual changes. In order to see them you need to take the following steps:
1. Run `./pixel.js reference`
2. Checkout the following PR in pixel https://github.com/wikimedia/pixel/pull/149
3. Run ./pixel.js test -c 859143
It should look like this: https://jmp.sh/ZVQqDZw7

Bug: T318013
Change-Id: Iea0d73005b91589c58ae38a3a640fa90c18a860d
2022-12-05 17:24:55 -06:00
.phan Upgrade to newer phan 2019-03-20 19:37:59 -07:00
.storybook Replace incorrectly mw- prefixed classes 2022-10-25 10:28:31 -05:00
dev-scripts [Storybook] Add Header component 2021-09-14 18:33:10 +00:00
i18n Localisation updates from https://translatewiki.net. 2022-12-05 08:36:54 +01:00
includes Use JS to move the ToC into page title to fix a11y issues and simplify styles 2022-12-05 17:24:55 -06:00
resources Use JS to move the ToC into page title to fix a11y issues and simplify styles 2022-12-05 17:24:55 -06:00
screenshots Add skin screenshot for the installer 2017-08-11 15:37:34 -04:00
skinStyles Restore z-index of mw-notification-area 2022-12-01 01:09:11 +00:00
stories [Refactor] Rename Portal component to MainMenuGroup 2022-12-01 14:45:52 -08:00
tests Convert LimitedWidthRequirement to UserPreferenceRequirement 2022-12-01 16:31:47 -07:00
.eslintignore a11y: create report in LOG_DIR or 'a11y/' 2022-05-05 11:46:13 -05:00
.eslintrc.json [eslint] Disable mediawiki/class-doc 2022-02-11 16:31:33 +00:00
.eslintrcEs6.json Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
.gitignore build: Updating dependencies 2022-05-20 11:41:53 +00:00
.gitreview Use track=1 instead of defaultbranch=master in .gitreview 2016-10-24 17:30:32 -07:00
.nvmrc Update Node version 2022-03-15 14:26:04 -07:00
.phpcs.xml build: Updating mediawiki/mediawiki-codesniffer to 33.0.0 2020-11-17 23:33:50 +01:00
.stylelintignore Setup jest unit tests and add basic test cases for AB.js and App.vue 2022-01-31 20:50:33 +00:00
.stylelintrc.json build: Update stylelint-config-wikimedia to 0.13.0 2022-05-16 17:44:12 +01:00
.svgo.config.js build: Update 'svgo' to latest v2.8.0 & re-crush images 2022-02-28 00:00:05 +00:00
bundlesize.config.json Update TOC to use PinnableHeader 2022-11-15 16:37:50 -06:00
CODE_OF_CONDUCT.md build: Updating mediawiki/mediawiki-codesniffer to 22.0.0 2018-09-04 01:45:34 +00:00
composer.json Allow composer/installers plugin 2022-07-18 19:24:19 -07:00
COPYING
Doxyfile docs: Generate documentation with Doxygen 2020-02-24 16:49:38 +00:00
jest.config.js Limited width toggle 2022-11-01 16:29:43 +00:00
jest.setup.js Limited width toggle 2022-11-01 16:29:43 +00:00
jsdoc.json Move REST search client out of WVUI into Vector 2022-02-10 10:17:10 -06:00
package-lock.json build: Upgrade Codex from 0.1.0-alpha.10 to 0.2.2 2022-10-26 10:47:51 -04:00
package.json [Technical] Split up Menu.template, restrict decoratePortletData to legacy Vector 2022-11-02 21:22:50 +00:00
README.md End migration mode 2022-03-23 16:46:42 +00:00
skin.json Generalize Pinnable functionality to not be limited to dropdowns, make Pinnable templates composable 2022-11-30 17:17:20 -06:00
tsconfig.json Setup jest unit tests and add basic test cases for AB.js and App.vue 2022-01-31 20:50:33 +00:00

Vector Skin

Installation

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

Configuration options

See skin.json.

Development

Node version

It is recommended to use nvm to use the version of node defined in .nvmrc during local development. This ensures consistency amongst development environments.

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

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.