This reverts commit b308c91b50.
Reason for revert: Partial revert. CSS is no longer needed
with I2dbc88331c1a43441f4944cba9b0a51ad41d0025
Bug: T292452
Change-Id: Ida335774231eb66d56cde6baa5da0745fbb982d3
This results in log events for clicking the following on a talk page:
* Read as wiki page
* Section headings
* the "add section" button
To test install WikimediaEvents and set
$wgWMEMobileWebUIActionsTracking = 1;
Bug: T294738
Change-Id: I8dbad7f4e72cfd081896480ba142b4e1e3029bcd
- Move new header styles to header.less
- Remove unnecessary styles
- Update search overlay to be aligned with the heading searchbox on all screen sizes
- Add temporary skin style to ensure no regressions in mobile VE
Bug: T294033
Change-Id: Ib9867d1b76b602f3355e9f2689f137bc84b0c929
With this change, long disclaimer links can be wrapped into new line
instead of clipped in single line.
Bug: T282314
Change-Id: I6a4fc4f62a9e593aa990de5d578059facb9b87d9
After this change, in desktop Minerva the copyright
text in the footer should match desktop Minerva.
In mobile Minerva the copyright text in the footer
is shortened and doesn't contain terms of use.
It should match Vector mobile
?useskin=vector&useformat=mobile
Depends-On: I3473908e08f643b4c60aafc470dd124516955323
Change-Id: I2895975aaa1d09d228f80aff74381e88034a0137
Bug: T289401
In b4fd1498bc we set a variant, which dropped the default global
progressive and invert variants. This is turn, made the mobile
watchstar on search disappear when selected.
Here we restore those icon variants, and take the time to refactor
the code so its more resilient against future icon changes.
Change-Id: I1423fbf69dce87715c159877b5f536b4e8e13390
These styles conflict with the new max-width on mw-ui-button so
don't behave as they were originally intended.
Bug: T294286
Change-Id: I9a55fb28d422ebf45ec84d399ae05be54a117df5
Follow up to I4c2e115451c0a76c742734730712814c1f1d838d.
This will allow us to load the templates directly into skin.mustache
via {{>PartialName}}
Templates partials can only be resolved relative to the folder given
to the TemplateParser.
Change-Id: I5783d49c25d2efcf4781dd912500bf8b413b8cb6
It's extremely annoying to not know if the link you're about to click in
a Minerva tab is a link to an existing page or not.
So, make the new link red, as is customary in all other skins.
Bug: T236608
Change-Id: I3445f91fe0bcf1ddb305f8c350753e10c2dda0b0
* Move method to SkinMinerva
* Turn preparePageContent into a getter that returns the subject
page
* Use getSubjectPage in template
For mobile special pages this now means the page has two .content elements
On those pages I've disabled the initial content element. It also means
various .content <heading> and .content ul rules now apply that need to be
disabled.
While testing several other issues were taken care of - for example
the h2 in errors
Depends-On: I7761396d6a33830f279742be01240796573556a7
Bug: T291871
Change-Id: I13bc4b5dae7aed86eca31ef306212365e1759481
For skins, all templates should be in the same folder. This
is for security reasons, to limit access of templates to files
that are not templates. This also adds consistency with other skins
where templates are all in the same subdirectory. It also allows
us to reduce the creation of TemplateParser instances.
Note: All styles and scripts should be in the resources folder but this
is not rectified by this patchset. Will be done in follow ups following
more discussion.
This begins this work in the least disruptive way possible and drops
the README note to avoid this pattern growing.
Bug: T292558
Change-Id: I4c2e115451c0a76c742734730712814c1f1d838d
- reserve space for the icons
- break long urls in the ToC
- fix right margin on the ToC
- support without JS
Bug: T292338
Change-Id: Ic279047f297fa132b87b77b6d7127b797015f92a
The 27525d0bff change renamed header to minerva-header, but neglected
the fact that this class was being used in the Overlay as well.
Bug: T292071
Change-Id: I05c1589723b68cf07c874f299f1960548f53e8ff
Follow up to
9833b2d853
- Rename timeout to printSetTimeoutReference
- Remove redundant function
- update documentation to mention side effects
Change-Id: I4c1b356da3ba53e805d126642f0b2da915b988e5
If addPortletLink is called prior to setup.js only the last
link will be enhanced. To avoid this problem, check existing links
when registering the hook.
Bug: T240910
Change-Id: Ifd46b26401b8eb20686882577edf404a15eaf155
* Use skin registration and set skin options as and when needed
* Set link text-wrapper
* Simplify addPortletLink hook
* Update modifications to apply to items added prior to the hook
Bug: T240910
Change-Id: Ic806adf3de6490ba9da11e8968a61b3d0acd93bc
* Adds alt attribute with a value of the `mobile-frontend-sitename`
(previously called `mobile-frontend-footer-sitename`). The message was
changed because this affects both the footer and the header's logo.
* Adds a `minerva-footer-logo` class to the logo in footer.mustache in
preparation for changing that element from an h2 to a div. Given caching
issues (old CSS with new HTML; new CSS with old HTML are both
possibilities), we need to do this in two separate deploy cycles.
Bug: T288362
Change-Id: I3ecbf8fdcae72a0ded7f60c559259f312b8ef15d
Making Minerva use the `elements` feature is not
practical at the current time. In lieu of that, we
update the link colors to use the core definition.
The red links and external link colors
can come from the "content-links" module.
This also adds support for the underlining user link preference
and better plain link support.
Bug: T274717
Change-Id: I600257e6f4430f166331c4ea4f3a72d87aa377d8
Placing the text overflow on the span instead of the anchor element
prevents issues like T287522#7272991 from occurring.
Additionally:
* Uses the `text-overflow` mixin on every toggle list item label instead
of just the user link item as it simplifies the logic and presumably
we'd want any text that overflows the menu to be handled the same.
* Changes the anchor element to use flexbox/align-items to vertically
center instead of relying on `vertical-align` both the span and the
icon. Eventually, this should be put into core (see
I029f97ba9d5e7f46c8aa175d9a6bbb45ef9615df) but we have to remove all the
overrides that use vertical-align first.
Bug: T287522
Change-Id: Ie0fbff9dfaf8444c76125df52931a687730b4ad1
Note: This menu already has text-overflow: ellipsis, but didn't have a
max-width applied.
Bug: T287522
Change-Id: I51fd7f4b822410190290bef6c962997bb5e47e4f
Content using `header` as a CSS class was affected by skin styles
in Minerva being insufficiently specific to the skin‑specific elements.
This changes Minerva to use `class="minerva‑header"`, thus avoiding
the conflict and matching what Vector does.
Bug: T172626
Change-Id: Id8fbe61b2d1d4a89ec11ddfdf7837be797b3bd20
These styles are also applied inside MobileFrontend as they should apply
to all skins, not just Minerva.
Several styles for desktop Minerva are amended with a comment.
Bug: T253370
Change-Id: Ib23024d192f331ef76007dbd9ef54596cc1adb0c
A comment says that the line of code can be removed after cached
HTML is not a problem. This code for ui.less was added in April 2019, so is
not a problem. The code for footer.less was added in April 2020 so is also
not a problem.
Another comment says external link unsetting can be removed after
a ticket has been resolved, which has been resolved and I can confirm
is no longer needed.
The header > div a rule only matches the link wrapping the logo
inside the branding-box. It no longer matches the hamburger or notifications
icon which make use of nav elements, and to make matters worse
interferes with the goal in T282473
Bug: T285261
Change-Id: Ie7777b4b53355cf0dc48d6447f63299156254b6c
This could be made even simpler by not using a LESS varialbe for
hacks.less, but loading it conditionally through the moduel def.
But, as a first step we can merge the two as-is.
Given that the subject and target are always referenced together
in page views, there is no need to keep an alias around. However,
I'm keeping it anyway so as to not produce any
`/* {"skins.foo":"missing"} */` appendix to the stylesheet response
for these cached URLs.
Bug: T266361
Change-Id: I8578faab8ca32bd49be90711cbd5e182763b8065
Remove the searchLogger as part of the bigger cleanup to remove MobileWebSearch schema in MobileFrontend
Bug: T282167
Change-Id: I13db335859adc93d92acf3228bf381fc4c81898d
This styles parser errors, which were previously unstyled.
It removes the need for the clear for the table of contents
on stub pages
Additional change:
* The base styles module increases with this change
* While testing bundlesizes I noticed that the bundlesize for the
content styles is outdated and have updated it (this is unrelated
to the inclusion of the new feature)
Bug: T281228
Change-Id: I8e099b18f0866201cba378f6110913cdab478c4c
This is important, as text alignment is inherited and often
overwritten in wikicode by the table element, with the expectation
that the header alignment remains, as other skins have the text
alignment for headers as a fixed property.
Bug: T240106
Change-Id: Ifc6a2bbc47ce8c6d5b1fa9d98a4d3278716993d2
Droping the unused .navigation-full-screen class and the unused MobileMenu Skin style. This is a follow-up work on: I30b1af8b88dd146d62f0de7a6352c4117a7cdd90
Bug: T252005
Change-Id: Ia1698b5477a159f17a16a6591ee774920f403b79
Upgrading to SVGO v2.3.0 and changing over to new JS config.
Also amending svg check shell script and re-crushing
all SVGs.
Bug: T278656
Change-Id: Ic52d7eb595073e5bde166e5cf5767772c5eb60ce
Just as before styles for message boxes will be
kept off the critical path of most page views and
loaded on special pages, old revisions and action= URIs,
however unlike before the CSS will come from the definition
in core.
It must also be loaded in JavaScript for compatibility
with the use of warnings in JavaScript, for example
MobileFrontend overlays.
This change will allow us to remove the
mobile.messageBox.styles module in MobileFrontend
I8b6bdfceaf33b9527dbe6790d2a39e335fb692b2
Bug: T233160
Change-Id: I7d8d1d34621c36c26ec03a3773d4d1e67bd14f2e
Removing historically grown code and icon and replace by latest
'search' icon. It is slightly smaller 18x18dp on 20x20dp canvas, and aligns with
icon guidelines of Design Style Guide.
Bug: T213580
Bug: T275563
Depends-On: I752ea81aaff51059af942daa008a1b898dbc2d06
Change-Id: Ia7f50ec7534e303dcfd311b301a764936f7729df
Make sure the table of contents doesn't change size when it is
enhanced by JavaScript.
Take opportunity to fix alignment of table of contents based on
20x20 icons (previously 24x24) and icon/heading alignment.
Bug: T268787
Change-Id: I4ac26068687579484381af5b08e680e3a65f8f1e
MediaWiki core added support of overrideLogoutSelector skin
config variable which allows us to define the logout button
selector. Thanks to that we do not have to ship our
custom/duplicated smart logout handler as we can use the
one shipped with ready.js.
Depends-On: Id313337c85229a5e8d0aada3a67d722048709597
Bug: T259200
Change-Id: Ie0192a176dfa8be994a544221aa71de75028d502
Previously overlay manager required an Overlay or Deferred return
type, now it must be an Overlay.
On top of this, the media viewer must consider URIs that cannot
be decoded, so a try/catch is required.
Bug: T262703
Change-Id: Iac4bcfedba87c61021d7887155612c451f8e83b4
A new rule resetting padding-right and background-image on
a.external inside footer is added.
Additional change:
* Merge all styles relating to the last modified bar into a single
component file for consistency with Vector and easier lookup.
Bug: T267464
Change-Id: I558f0756264e92ca757a99e47a53564c3ecd8b71
For now, only define:
- @font-family-sans (unused in MinervaNeue, but for possible future use)
- @border-radius-base
With current implementation before this patch, MinervaNeue is relying on core's default
`@border-radius` which is set to `0` to be close to HTML default.
MinervaNeue is currently not applying correct skin's `border-radius`.
Bug: T263270
Change-Id: I9a149eefd15efede27416ada4db07072e53628ec
MobileFrontend extension is currently tracking watched/temp-watch
css classes and applying animations to the "watch" event.
This patch starts adding temp-watched accordingly now that the
expiry is part of the event's data.
Note: this patch does not fix the lack of animation when transitioning
from half-star to empty-star or on page-load when the page is
temporarily watched but it fixes the awkward angle the half-star
icon was left in when transitioning from a full-star to a half-star
Bug: T262862
Change-Id: I1c8cb9c33cda76b87b6a9f15e408d88edbf61d93
The watchpage.mw event triggered on core now sends in the expiry value
if the watchlist is being watched temporarily. This patch is to
handle the star icon accordingly.
Bug: T261970
Depends-On: I9e31e41e3438ebc5e6e462f5136af5c36ba34194
Change-Id: Ia47190c1aaf4492a6cc31873a5b3bec75f2fec86
This does not complete watchlist expiry support in MinervaNeue. It only
instructs the skin to show a half star instead of a full star on page
load if the page is being temporarily watched.
Bug: T251690
Change-Id: Ib5c479dcfe49041152ba662c56cc630c32eb220e
In MobileFrontend, we have code that provides the ability to load the
language info overlay without suggestions.
Currently /languages/all shows all languages without suggestions.
This patch will show suggestions on /languages/all but omit them
inside a new route: /languages/all/no-suggestions
Bug: T232410
Depends-On: Icce2631b2d5d80defc2287fb83f58f97a82a1b1e
Change-Id: Ide8e39b167f09842dd05eae7c26aeb741c29cd64
`lazy-image-placeholder` is needed only when MobileFrontend is enabled.
So it makes sense to move those styles to mobile.init css. See more details here: T199351#6380240
Bug: T260406
Change-Id: I16ca734af33fb0f3c4c67f20bbca8631279d7778
All images in MinervaNeue skin are vertically aligned `middle`,
so placeholder for them should be consistent.
Bug: T199351
Change-Id: I5fa00bd0c02e67059543389e4bbd07b073a2c5e0
I don't think it will fix the failing browser tests
but it will rule out Minerva / MobileFrontend as the cause in the
analysis.
This mirrors the codepath in Minerva that's triggering the warning.
Bug: T258096
Change-Id: Idd1c224c02e3d300889b6735fa1b9800212690ff
Previously they were just inheriting from `table`, but
now we don't require .infobox to use a specific element
they should be applied separately.
Fix table max-width override to use !important as this
too could be specified inline.
Bug: T258011
Change-Id: I4f28414fd965ae9f608b5e52047b9d474427853a
MoveLeadParagraphTransform treats div.infobox the same as table.infobox,
and should be fixed to match any element too.
Fix specificity of tablet overrides.
Bug: T258011
Change-Id: I9ada6d1b8b19b46dba6527f1f66edd2547fa0c88
One IP address, logged 3,029 errors across 2 pages
This is not helpful as it makes the error seem more widespread
than it really is so let's not logged errors after the first 5.
Change-Id: I8abfc3c3852827ab84a06740356e9b9f659a2d03
The color of the children will not apply back to the parent.
This was removed in I0c151ba under the assumption that elements
is loaded by the Minerva ResourceLoaderSkinModule which it is not.
Bug: T256503
Change-Id: Iffb4b623de61088871c82aa5f02344d765611398
Relying on core's 'elements.less' `.new` color without overriding it.
Also renaming variable to apply to standard naming scheme.
Depends-On: If9ce056ef1a186db86584897707b7bcf890137a6
Change-Id: I0c151ba95c4b51bb857dba69fa7e9eeec8a96263
Lazy loading images is now untangled from the Skin code so there is
no reason to call this anymore.
Lazy loading image is a MobileFrontend responsibility not a Minerva.
Minerva doesn't need to know anything about it.
Bug: T246838
Depends-On: Ibeee7cae4b85ba888d0fecccdeec232ddd4cde0f
Change-Id: I4c4ef896b81ee494637a64d1087faa62a6f7c589
This is a very general style rule and there are lots of tables with a
border that are NOT 100% by default and as such do not expect to need
box-sizing: border-box. So apply here by default.
Change-Id: I86458c87f5871e7c3a858f93aa9d4156bbefc8ac
The MobileFrontend section numbers that were used here only count
top-level sections, but this value was passed to code in
MobileFrontend's TalkSectionOverlay#onSaveClick, which uses an API
expecting the standard MediaWiki section numbers.
Extract the section number from the section edit link, like we do
in mobile.init/editor.js in MobileFrontend.
Also, disable the special talk page view unless we're viewing the
latest revision of the page. That could also lead to posting in the
wrong section, as sections are often added and removed, which changes
the numbers.
Bug: T252828
Change-Id: I553a508658804dd8672f2268b7118f77458a9dba
Use a variable to rely on opacity value close to `#54595d` similar
to icons in the header.
Bug: T251135
Change-Id: Ie3eaad9ac86f8c3827e0a41f0b73b694d8f8f2fc
Use a variable consistent with Wikimedia UI base instead of
a hard-coded opacity value.
Bug: T251135
Change-Id: I883d3b122c3a0206fe83365a7818929d74f86459
Additional changes:
* Address a fixme relating to the overflow icon and move some AMC styles
out of the critical path for non-AMC pages
Note about ellipsis:
The class mf-mw-ui-icon-rotate-clockwise cannot be used as it's part of
MobileFrontend and loaded via JS. Minerva must work without MobileFrontend
and this rotation is needed without JS.
Bug: T244444
Change-Id: Ifd02c50305cf036dd6df640d778678668507e5eb
When enchancing the watchlist items with the "time ago"
feature, the "last-modified-bar__text" class is added
to the element, which could have unexpected consequences.
That class is removed from the watchlist and instead
of using it as a JS selector, the `modified-enhancement`
class is used for both the watchlist and last-modified
bar.
Change-Id: I4a157adf51b9ed45bcba977f4f6622c7991471ba
They have been introduced in I0ef9c4cf3ea6 but have since been replaced
by OOUI modules. Time to say goodbye.
Change-Id: Id36e60780287f27fa5a99c6b10b1ac61647f3b93
Reducing (currently) unnecessary `last-modified-bar` context nesting,
which isn't done consistently across stylesheet files.
Additionally adding new `mw-footer` class, but not yet using it
exclusively due to caching.
Change-Id: I6b9caa42c1907ec1a7f8c8b67334fb7f08705848
Removing MinervaNeue's own mixin now that it's possible.
Also unify code instances to use new mixin.
Depends-On: Ia8d6e7229b49598b0f4cb19dff463ffe2f11a43d
Change-Id: Iaffcefcb7a239d5ddecbe17097573d06099de88e
The icon pack wikimedia.ui was strangely using a non-standard
icon class using empty strings as a way to disable the default behaviour
of setIcon. Instead of fighting APIs - use the methods available.
The icon pack is also renamed to reflect what it's actually used for -
providing icons for overflow menus and it is no longer loaded as a dependency
by skins.minerva.scripts
Fixes issues with:
* History icon with AMC disabled and user is logged in
* Table of contents icon
* Language icon when it appears in overflow menu on user pages
when logged in where AMC is disabled
* listBullet appears in 2 modules as it is used in 2 places - the AMC
overflow menu (log icon on user overflow menu) and for table of contents
(JS only)
Bug: T232383
Change-Id: I05220ffa56195be6a594e3a8a57ae16858088444
Renaming to WikimediaUI standard naming and adding to module
skins.minerva.icons.wikimedia which is loaded via addModuleStyles
'edit' → 'editLock'
'edit-enabled' → 'edit'
'toc' → 'listBullet' (already included in wikimedia.ui module)
'mainmenu' → 'menu'
'language-switcher' → 'language'
'clock' → 'history'
Icon `page-actions-overflow` which is only needed on AMC is moved out of the stable icon
pack and added to skins.minerva.mainMenu.advanced.icons temporarily which is loaded on AMC pages only:
'page-actions-overflow'
Additional changes:
* Renaming 'clockIconClass' to 'historyIconClass' to stay on name.
* Module `skins.minerva.icons.images` is deprecated and shipped for old
HTML markup. It will be removed in 2 weeks.
Bug: T232383
Change-Id: Ia3bafc74a85293c2414c0ef4ccf3bb20c75135d1
Non-hyphenated links according to T230860 were added for
infoboxes but the default is no hyphens so these no
longer should be needed. It was likely working around
a recently removed bit of CSS in MediaWiki:Minerva.css
(See T248415)
The new selector is needed for Special:Contributions
Bug: T237230
Change-Id: I500ca1a6182f505ceb31441c49e4dcacd597a5d3
Since we are dealing with arrays here with the value of classes
but using native DOMElement we need to convert the array to a string
Follow up to I331912a1cd6cd4293c22a1a48bb32cdec48bd37d
Change-Id: If08d68af8cebecaea02cc29bf779d25d58c0c6c3
Has been introduced in I8d11e655cc and after removal of
cleanuptemplates.js left behind.
Bug: T244444
Change-Id: I47ba73bc528241d98e8f593dcaec3948273fc819
When we built the new main menu we started using a `nav` element.
Update selectors to hide the `nav` element when printing from
mobile.
When printing from tablet or desktop make sure the header is displayed.
Bug: T244181
Change-Id: I7f60fd11d969a48e1c7926ad8acc4213f9affed4
Remove disabling 'collapseGroups' and 'mergePaths' rules, as they have been
successfully been part of wide SVG optimizations in various different products
and are part of the exemplified safe configuration of Wikimedia SVG coding
convention.
Bring standard 'editLocked' icon with correct size to MN.
Bug: T245296
Change-Id: I385e176a647a799176a6f59e364d165387137224
For all mainMenu icons pull from OOUI icon packs.
We make the necessary changes to Definitions.php, ToolbarBuilder
and LogoutMenuEntry to ensure to update icon glyph names.
There are caching implications for icons that show to anonymous users -
these have been fixed for grade A browsers running JS by appending the
new class to impacted elements.
Grade C browsers being served cached HTML will not benefit from this
emporary fix as available solutions are costly.
As a result these users will not see icons until the cache
expires (maximum of 4 weeks but likely 1 week) or is flushed via
action=purge.
This is acceptable given the amount of impacted users and the fact that
icons are not essential for using the main menu.
Note: The communityportal.svg icon while in the resources folder was
not referenced anywhere in the codebase so its removal is safe.
Please note the same icon in skins.minerva.mainMenu.advanced.icons which
is used for the community portal menu item.
Bug: T244444
Change-Id: I0f929f2f3b11362e02f0d02f57b90b34b5c93d24
Unifying XML declaration for markup parity and to align to SVG coding
conventions.
Also manually optimizing several others.
Change-Id: I5dc71dc3cea6dde054d3e60ca3337e20ed661568
KSS is no longer in use anywhere. The only official style guide is
at https://design.wikimedia.org/style-guide.
Depends-On: I688a78e9a71a082c499af55bd01e8fd615130486
Change-Id: I21663c7b48465b0f23f1b40520e8cee9be71c4bc
Our eslintrc file extends "wikimedia/client" which already includes all
of the previously listed jsdoc rules [1]. Therefore, we were clobbering
this much more thorough list.
This commit removes this clobbering and enables a much more extensive
list of jsdoc rules. Additionally, downloadPageActions was made to
conform to the rules.
[1] 07320f16ae/common.json (L99-L137)
Bug: T239269
Change-Id: I19c09054ba0bf2746ac78befc1b44426352113ec
It's called 'markup'. Since this icon only ever shows to logged in
users there are no caching implications.
Bug: T244444
Change-Id: I75f5365ccb5a41f1c0628532e81b5ec63804a2a8
This reverts commit 7b4b65a30f, which
caused a regression in the user menu part of Advanced Mobile
Contributions mode.
Bug: T244436
Change-Id: Ifce627dac35b2cd05e1c5ebe658534b6b8d0de88
This also means we can now get rid of the rlModuleLoader module
and make all OverlayManager routes synchronous form now on.
Depends-On: Iacea45ea5ac7332d61a33041bbd25ea4830e1375
Bug: T214641
Change-Id: I73cb622bbda44f4cfe51d08189419e15003b9d91
* Drop non-existent pointer-overlay selector
* Drop redundant icon class for arrow
* Drop unnecessary !important
* Drop transparent-shield class
* Reword an existing FIXME about a contensious decision and
add a new FIXME for moving some code to a more appropriate place.
* Move an image into a ResourceLoaderImage module (test with
`mw.notify('error', { type: 'error'} )`)
Change-Id: I6e38f07772afae6f13c4851ca17a67d52ca7d331