d4903b8e57
Follow up to I3484a790ce8ebadf21054ac1d222d5632b2dc5a4 __Template__ The template is not particularly useful - it is only ever used once in this context and features a static ID which means it can never be reused. It is also tied to the #vector-toc-collapsed-checkbox element. In current form it doesn't make sense to have this template. Maybe in future, I could see an argument for a PinnableTableOfContents component that wrapped the checkbox and nav element, and generalized the IDs but currently there's no pressing need or value for that. __Layouts__ The existing Pinned and Unpinned stylesheets are concerned with how the table of contents is layed out holistically with regards to other components and features enabled on the page. I think these should therefore be organized as such. The way I reason with this, is these styles would be irrelevant in a component library if the component was rendered in isolation. Bug: T328719 Change-Id: I9ff0e0eeb35f215a8cae5950d08dc1277b662a71 |
||
---|---|---|
.phan | ||
.storybook | ||
dev-scripts | ||
i18n | ||
includes | ||
resources | ||
screenshots | ||
skinStyles | ||
stories | ||
tests | ||
.eslintignore | ||
.eslintrc.json | ||
.eslintrcEs6.json | ||
.gitignore | ||
.gitreview | ||
.nvmrc | ||
.phpcs.xml | ||
.stylelintignore | ||
.stylelintrc.json | ||
.svgo.config.js | ||
bundlesize.config.json | ||
CODE_OF_CONDUCT.md | ||
composer.json | ||
COPYING | ||
Doxyfile | ||
jest.config.js | ||
jest.setup.js | ||
jsdoc.json | ||
package-lock.json | ||
package.json | ||
README.md | ||
skin.json | ||
tsconfig.json |
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.