Commit Graph

1235 Commits

Author SHA1 Message Date
jdlrobson ea2bcd44f2 Add storybook to Vector
- Update package.json with the new dependencies.
- A script storybook.sh pulls down CSS and LESS imports from external
dependencies. This copies the approach taken in Popups and MobileFrontend.
- Icons from external repos are maintained within the repo in SVG-only form.
Using load.php modules is also possible, but will pull down other unnecessary icons
and break if any of these modules are changed. Decided that we should manually maintain
these for the time being given there are only 3 icons.
- Several LESS files now import the variables file. I think it's useful for stories
to only import the CSS they use as this encourages us to modularise our CSS. Before these
imports were not necessary as they inherit imports from index.less. This will have no impact
on the bundle size as the LESS compiler silently discards duplicate imports
- stories/utils.js provides a useful placeholder function for generalising our hook entry
points.

Bug: T242674
Change-Id: I722e84d2fb57653a2f96142dc3e5248043261746
2020-01-31 16:59:15 +08:00
jdlrobson 12e2287894 Simplify logo generation
Use a template variable only for html attributes of the logo
Move static HTML into Navigation.mustache

Change-Id: If37015b9ce4f37e264b6f25956e4d0ca35e8cdff
2020-01-30 02:11:05 +00:00
jdlrobson 0cdf0c238a Dev: Complete initial porting of Vector to Mustache
Bug: T240062
Change-Id: I18cb1fda6850646a38314a7d2dd356103f04ec28
2020-01-29 13:21:34 +00:00
Translation updater bot 052b26f684 Localisation updates from https://translatewiki.net.
Change-Id: I4eada4bdb013b6401333af5f3711d993f36925f4
2020-01-29 07:57:13 +01:00
jenkins-bot 4d18966973 Merge "Dev: Vector is rearranged like other skins and extensions" 2020-01-28 10:54:11 +00:00
jdlrobson 58457f8ae8 Dev: Vector is rearranged like other skins and extensions
A resources folder is the defacto-standard across mediawiki repos.
Vector now mirrors those by describing where files served by ResourceLoader
are located.

Change-Id: Ib7d8575112e8afaaa84221a6f30a15b34b51eb24
2020-01-28 16:57:38 +08:00
polishdeveloper efe0ec6356 Deprecation: Deprecate Vector specific hooks
Vector provides two vector specific hooks:
 - VectorAfterToolbox
 - VectorBeforeToolbox

Instead of supporting Vector specific stuff we should aim
for a nice global skin api and allow other 3rd party to
extend MediaWiki functionality no matter which skin is currently
on.

Bug: T240062
Change-Id: I245f1316e79f814ba04f4e0a0223d4f0596cf39e
2020-01-24 16:20:50 +00:00
jenkins-bot c46dbb573f Merge "Dev: Break Footer out into template" 2020-01-22 18:54:36 +00:00
James D. Forrester 84a95ae650 composer: Stop claiming this skin supports PHP 5.5+, it uses PHP 7.1+ features
Change-Id: I04429c4754d2c13ade8d84e2bcb129be9c644ac9
2020-01-21 08:45:44 -08:00
Translation updater bot 183fef57cb Localisation updates from https://translatewiki.net.
Change-Id: I6b0254a0fb474c1e4b369a1387632f5f3a993aa1
2020-01-21 08:01:51 +01:00
Translation updater bot eedf2f582b Localisation updates from https://translatewiki.net.
Change-Id: I9bc149025518f06128df77e68135ce5f810d1cb4
2020-01-20 08:05:56 +01:00
jdlrobson 80b5ccc634 Dev: Break Footer out into template
Add a new Footer template for modelling the footer of
Vector.

Bug: T240062
Change-Id: I60a243abeb5650542ca6f6fac8401a622faaabac
2020-01-17 13:10:37 -08:00
Stephen Niedzielski 11d60dd88a [hygiene] [skin.json] simplify BeforePageDisplayMobile hook
Since only one hook is specified for the BeforePageDisplayMobile hook,
replace the array of hooks with the single hook used.

Change-Id: Ic89a262f3fdba93c3ee10387b3b05137ce9dc4ad
2020-01-17 20:08:01 +00:00
jdlrobson 9f82f58ea9 Dev: Include closed body and html tags in getTrail
This will allow us to render in Storybook without having issues
with unclosed tags. it also mirrors how html-headelement works
(obscuring the opening of the body and html tags)

Bug: T240062
Bug: T242674
Change-Id: I216a920c68bf3da9de55a75fc53451c68c9cc753
2020-01-17 19:16:32 +00:00
Translation updater bot 746c05a0d1 Localisation updates from https://translatewiki.net.
Change-Id: Ic4bce80e3d543ce4ebcd6fc3df7facb568730b3c
2020-01-16 09:12:02 +01:00
jenkins-bot 4ce1e8c1f2 Merge "SkinTemplateToolboxEnd hook output not displaying in Vector" 2020-01-14 22:58:53 +00:00
jdlrobson f416e21bc5 SkinTemplateToolboxEnd hook output not displaying in Vector
Broken in I882db161e5462cf88aa48c9cfd91448eb97a4a77

Bug: T240062
Change-Id: I94bbf79c6c2743a5769935287593aa48780bfb71
2020-01-14 14:37:12 -08:00
jenkins-bot f1aaa1ec91 Merge "Replaces $user->isWatching call with WatchedItemStore isWatching service call" 2020-01-14 22:30:09 +00:00
Jan Drewniak 361e0d6f71 Extract Portal mustache component from VectorTemplate.php
A Portal (or portlet) in the Vector context is a section of the
sidebar menu (e.g. Tools, Languges etc.).

The hook that places content between the portals (or portlets?)
such as `SkinTemplateToolboxEnd` and `otherlanguages` has been
enclosed inside of an output buffer so that any content it
produces can be passed to a template.

Bug: T239248, T240062
Change-Id: I882db161e5462cf88aa48c9cfd91448eb97a4a77
2020-01-14 22:44:58 +01:00
Jan Drewniak 093cc20ee0 Extract VectorMenu.mustache component from VectorTemplate
Extracts a new VectorMenu mustache component from VectorTemplate.
VectorMenu is the "more" menu that appears at small widths instead of the
Read/Edit/View History menu near the top of the Vector skin.

Bug: T239248, T240062
Change-Id: I41b1ec949d81303abddadb981741445572c939e3
2020-01-14 10:38:46 -08:00
jenkins-bot 9cf4eb0e7e Merge "Hygiene: remove vectorConfig and use the getConfig" 2020-01-13 22:43:12 +00:00
Piotr Miazga 02d4e4929f Hygiene: remove vectorConfig and use the getConfig
The SkinVector implements IContextSource, thus it has to provide
the getConfig() method. Vector skin is currently using
it's own `vectorConfig` in one place and it passes the VectorConfig
to the VectorTemplate class. Sadly the VectorConfig is the same
thing what $this->getConfig() provides. There is no need to make
this code more complex by handling two different config containers
which at the end are the same GlobalVarConfig instances.

If we decide to handle VectorConfigs differently, let's thing it
through, for now we should simplify code and remove all uncessary
logic. Thanks to that, there is also no need to override the
setupTemplate().

Change-Id: I89c8a77f7d96f867c8c72e61f9e104e14d9512d9
2020-01-13 23:01:42 +01:00
jenkins-bot f40247a9d4 Merge "Hygiene: remove SkinVector::setupSkinUserCss" 2020-01-13 19:38:35 +00:00
jenkins-bot 68af887faf Merge "Convert $templateParser in VectorTemplate.php into an instance variable" 2020-01-13 19:37:56 +00:00
jenkins-bot d4bfcd02ce Merge "build: Updating mediawiki/mediawiki-codesniffer to 29.0.0" 2020-01-13 17:07:55 +00:00
Jan Drewniak a706618a9d Convert $templateParser in VectorTemplate.php into an instance variable
Change-Id: Iaebfaefdd0722d1e63cb73585e0148f54fcdd77e
2020-01-13 15:40:57 +01:00
Piotr Miazga 8a8a44ca00 Hygiene: remove SkinVector::setupSkinUserCss
Tthe SkinVector::steupSkinUserCss is deprecated and
we should use the ::getDefaultModules instead.

Change-Id: I359049d0f159a0dfc374d1c0124e8989aeb4182d
2020-01-13 14:14:39 +01:00
libraryupgrader b1978d572f build: Updating mediawiki/mediawiki-codesniffer to 29.0.0
Change-Id: I336d23b2d322d1ae1a4c3101e69088c11eb9f43c
2020-01-13 06:06:46 +00:00
Ammar Abdulhamid 672dd7b9a8 Upgrade skin.json schema to manifest_version 2
Bug: T242469
Change-Id: Idb96560efc8517ee8d353e856eb3a272af51ed4c
2020-01-13 04:40:02 +01:00
libraryupgrader 24b72c8bfa build: Updating npm dependencies
* grunt-stylelint: 0.12.0 → 0.13.0
* stylelint-config-wikimedia: 0.7.0 → 0.8.0

Additional changes:
* Also sorted "composer fix" command to run phpcbf last.

Change-Id: I59abf3b90868ae225a70bc3c0ba287f2c2335c8b
2020-01-10 18:36:03 +00:00
Jan Drewniak d29adb5dcc Fix uerlangattributes echoing output from PersonalMenu component
Followup to 4f471bfa5e

Bug: T240062
Change-Id: I13c099befc98b42f28e58a669df495b9324190f4
2020-01-10 13:15:17 +01:00
Vedmaka 2fce68778c Replaces $user->isWatching call with WatchedItemStore isWatching service call
Bug: T208766
Change-Id: I178b1a1aa0106d82f1b336f2bda5c6371468d741
2020-01-09 21:50:40 +00:00
Jan Drewniak 4f471bfa5e Extract PersonalMenu,mustache component from VectorTemplate
PersonalMenu is the login/logout notifications etc. menu at the very
top of the Vector skin.

Bug: T239248, T240062
Change-Id: Iae224cbd838e44669a9f27e6dd303c6c3b402d41
2020-01-09 16:01:46 +01:00
Translation updater bot 05aab42559 Localisation updates from https://translatewiki.net.
Change-Id: Ifc5454f72af675170317630447a40b8f2db74dac
2020-01-06 08:21:20 +01:00
Translation updater bot 6abb5bffc2 Localisation updates from https://translatewiki.net.
Change-Id: I08b11aa759a21186847b0ca97f89e058382bdf80
2020-01-03 08:22:32 +01:00
Translation updater bot 14567269b7 Localisation updates from https://translatewiki.net.
Change-Id: I6037449a8ed1a106d23420d96d2bdc4524c59daa
2020-01-02 08:32:21 +01:00
libraryupgrader cfe2ff0864 build: Updating mediawiki/mediawiki-phan-config to 0.9.0
Additional changes:
* Added .eslintcache to .gitignore.

Add check for unset 'class' attribute.

Change-Id: Ib5b8993e89f4cb8f2f5325cbbc1e02401dd19d81
2019-12-22 20:11:34 +01:00
libraryupgrader 36f3475c52 build: Updating mediawiki/minus-x to 0.3.2
Additional changes:
* Added .eslintcache to .gitignore.
* Removing manual reportUnusedDisableDirectives for eslint.

Change-Id: I3de49aad51738d3c0af1cef9af0b714a597a3e2a
2019-12-19 03:47:15 +00:00
Translation updater bot 52a272216b Localisation updates from https://translatewiki.net.
Change-Id: I683e3f1e7cdea2bc71431546aca26c3150977c62
2019-12-16 11:21:35 +01:00
Volker E bf365aa1ac Fix CSS selector in 'print.less'
Change-Id: I630132f551fa49513058f937ee4a845c02acdc2a
2019-12-13 16:43:42 -08:00
Translation updater bot 470870cd6d Localisation updates from https://translatewiki.net.
Change-Id: Ic625474a2ca63ff60f06998f998c2aa5078b3805
2019-12-12 08:55:08 +01:00
Stephen Niedzielski 9d427dcb30 [Hygiene] [Mustache] rename SearchComponent to SearchBox
For consistency with VectorTabs, rename SearchComponent to only imply
component. At least two word names seems like a good target (instead of
just "Search") for grepability and standard component style conventions.

Bug: T239248
Change-Id: I1e4f7270ba29c2f35f08e92f8a28cd8a2ec8fe87
2019-12-06 17:00:42 -07:00
Stephen Niedzielski 60148a1a92 [Hygiene] [Mustache] improve template parameters and docs
Add typing expectations to search box template parameters. Add context
expectations to search box and tabs templates.

Bug: T239248
Change-Id: I4ff1920f5489b68ef73a219ceeceb1f5511fc9e8
2019-12-06 17:00:42 -07:00
Stephen Niedzielski e0b29624d1 Fix: tab attributes
The tab attributes were mistakenly being echoed instead of passed by
value. E.g., http://localhost:8181/wiki/A?uselang=he.

Bug: T239248
Change-Id: Ia0af96df717948743a2d66f8432b47e6f8a9c8f1
2019-12-06 17:00:39 -07:00
jenkins-bot 11ad91633f Merge "Move namespace & view tabs into a VectorTabs.mustache component" 2019-12-04 15:44:38 +00:00
Jan Drewniak c12c5f06db Move namespace & view tabs into a VectorTabs.mustache component
Creates a new VectorTabs.mustache component and uses it to render
the namespace & view tabs.

Bug: T239248
Change-Id: I859e4e95a2a12470f66564db547679c9f0a16727
2019-12-04 15:51:02 +01:00
jenkins-bot 72e5a640f0 Merge "Fix: search header attribute escaping" 2019-12-03 23:37:17 +00:00
Stephen Niedzielski 71672d60b3 Fix: search header attribute escaping
Broken in my previous commit, d6f4aaa. This causes attributes to be
doubly escaped. For example,
http://localhost:8181/wiki/Main_Page?uselang=he.

Change-Id: I9776a3c355081dc5fec7753edf256f55dfe6045b
2019-12-03 16:05:56 -07:00
Fomafix 4102f69d0e Restore arrow flipping for menu indicator
Bug: T239718
Change-Id: I3ff5c40d99aa9bab4d930881a1a4d13f2f18109f
2019-12-03 17:29:14 +01:00
Translation updater bot f790133284 Localisation updates from https://translatewiki.net.
Change-Id: I3b721a7b6fa8bd02316c5813f865d2e10618c271
2019-11-29 08:44:40 +01:00