Per https://phabricator.wikimedia.org/T197932#4417319
Note that given talk/category overlay does not use or
display section issues, to simplify things any section other
than 0 or all will use this heading.
Bug: T197932
Change-Id: I737fb07aaadcea7772d0b08f8b0652dcf2f4623d
Parse all issues inside a page, and load them into the issues overlay.
In group A, given issues inside later sections are hidden, it will not be possible
to navigate to these new overlay screens. In group A, lead section issues will continue
to only show lead section issues.
Changes:
* The /issues route is replaced by the more specific /issues/all and
/issues/{section num}, issues are stored in an "allIssues" module object.
* Begin using constants for namespaces for better readability
* Drop width 100% - this breaks display on tablet devices of issues within
sections
* Improve createBanner documentation to explain different treatments
* Set the issues overlay header inside initPageIssues when setting up
the route.
Bug: T197932
Change-Id: I21470648a61d57cfa4befceec596cf0f6e2110ec
All of the uses are unnecessary or harmful:
* 'skins.minerva.toggling'
This module has no messages, parsed or otherwise.
* 'skins.minerva.editor'
* 'mobile-frontend-editor-redlink-explain'
This message has no formatting to be parsed. In the past, it
included the '{{SITENAME}}' magic word, which is still present
in some translations, but it is supported by the client-side
jqueryMsg parser anyway.
* 'mobile-frontend-editor-blocked-info-loggedin'
This message only uses '{{GENDER}}', which is supported by
the client-side jqueryMsg parser. More importantly, it uses
a parameter for it, which is actually not supported by
MinervaResourceLoaderParsedMessageModule. The message would
always use the default gender, regardless of the parameter.
Change-Id: I0c597febf9051670228dd144b53521a121f3a220
This rule has a lot of selectors (note the fix me)
It's not clear what each of them are needed for so make that
clearer in the code.
Change-Id: I80f07118977f465b7d09efad28f94917dd962a3d
Instead max them to the threshold.
Note restricting them is a problem on pages
like en:Ulaanbaatar - in particular the panoramas
inside the "Urga and the Kyakhta trade" section
Change-Id: I28636c62d3545632d3b025b29d154136a81d8218
From TypeScript's do's and don'ts:[0]
Don’t ever use the types Number, String, Boolean, or Object. These
types refer to non-primitive boxed objects that are almost never used
appropriately in JavaScript code.
Although Minerva only uses JSDocs at this time which seemingly doesn't
care about casing[1], we should endeavor to use the proper return types.
This patch lowercases typing to indicate primitive / boxed type as
appropriate.[2] As a special case, function types are uppercased for
compatibility with TypeScript type checking.
Also, JQuery types are of type "JQuery". The global JQuery object's
identifier is "jQuery". This patch uppercases J's where appropriate.
Lastly, replace unsupported type "Integer" with "number" and a comment.
[0] https://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html#general-types
[1] https://github.com/jsdoc3/jsdoc/issues/1046#issuecomment-126477791
[2] find resources tests -iname \*.js|
xargs -rd\\n sed -ri '
s%\{\s*(number|string|boolean|object|null|undefined)%{\L\1%gi;
s%\{\s*function%{Function%g;
s%\{\s*jquery%{JQuery%gi;
s%\{\s*integer\s*\}%{number} An integer.%gi
'
Change-Id: I6cbac15940e4501aee7ede8f421b77ffd027170d
The readme describes all of Minerva's configs and includes a type and
what the default value is at the end of each section. Since the
descriptions for some configs is lengthy, moving the type and default
next to each config's name gives a consistent location for the
information and allows for quick look up without parsing.
Change-Id: I1583c11c80d9b775d93f59302eb2666b754fb412
The profile icon is necessary for logged in users. This is known when
parsing skin.json but was not added in MinervaHooks.php. This patch adds
the dependency unconditionally although it is only needed for the server
render of Special:MobileMenu for logged in users.
Bug: T196893
Change-Id: I2a8485299162c01d28ca1b07e7071ad0c0ef44fc
The previous lot of link icons look great on high DPI displays but not
as nice as they could on standard resolution displays. According to
Volker, this is because the SVG paths must appear on integer coordinates
and scale up instead of down. The new assets have been designed with
this consideration in mind.
Also, workaround redundant CSS by adding commenting out the "unvaried"
black SVG background-image selector, selectorWithoutVariant.
Bug: T190549
Bug: T197909
Change-Id: Id341d383018a436401541e82cc75d826688eaaae
* Grade C browsers on mobile will now check checkbox
* Grade A browsers will not see it and it will be ticked by default
* On tablet the checkbox will be visible to both grade A and C.
Change-Id: I2c77916097afef8eb6a1b3ea28eb0e50c1dff7f4
Depends-On: I5f646b5c939e498eda9bec249658a969f3f91c5d
Bug: T196947
This is currently showing up on sisterbox templates e.g.
the one on Category:Beekeeping
Bug: T197728
Change-Id: Idaf4aeb4a9efb668e5c06e19ce1eddace121e741
Changes:
* Introduce Jan's beautifully documented $wgMinervaABSamplingRate
Set to 1 to A/B test 50% of the population
* Split out ambox template styles into a separate file referenced
by hacks.less
* Update cleanuptemplates setup script to consider two buckets
Test pages:
* Shqiponja_Partizane
* World_War_II_in_Albania
* Liberation_of_Tirana
* French_Consulate
* Abd_ar-Rahman_IV
* M109_howitzer
* Aimoin
* Transport_in_Brazil
* Transport_in_Cape_Verde
Bug: T191303
Change-Id: I8d11e655ccb847b7999e64dda57b225ad8b1c23a