While dropping support of smart logout in favour of core ready.js
logout, we noticed that the logout selector is a little bit too weak.
Editors could make a link on a page that would work as a logout
button. The easiest way to prevent this (and any other possible
problems) is to add `data-mw="interface"` attribute to all generated
menu entries.
Change-Id: I22611b9641d82328623beb3f693bf7cddb2289ff
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
As of db3c8ea16b3 the mediawiki.toc.styles module is no longer
loaded by the skin, so Minerva no longer needs to remove it.
Bug: T252774
Change-Id: Ia2df978e2d0349a55620ef45f8c0827134b7c74d
The following sniffs are failing and were disabled:
* MediaWiki.Commenting.PropertyDocumentation.WrongStyle
The following sniffs now pass and were enabled:
* MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName
Change-Id: Ib605f800c2ae0e521c034c1f49d98cbca546b720
The data already provided by SkinMustache makes the existing
Minerva code redundant.
* html-after-content functionality equivalent to dataAfterContent value
* Rename license and last modified to have html-minerva prefixes and promote
to top level data object. This allows us to distingusih Minerva values from core
values.
Note: previously the logo used srcset to ship a 1x logo but these
were dropped during the desktop improvements work.
Bug: T256083
Change-Id: I7b2cd5181eae67b345f6686e3389a76a12e3b1a1
* prebodyhtml is never defined
* isSpecialMobileMenuPage is never used and the Special:MobileMenu
page no longer exists
Change-Id: I6481ef08f9d88e9be3cb5568bfa6693b1b3f1b8f
This begins the migration of Minerva to SkinMustache with the smallest
possible change.
In future, we'll be able to eventually wean ourselves off of the
MinervaTemplate class and considerably reduce the code in Minerva
Bug: T256083
Change-Id: Id0f617cfdb698754addc79b26491b9d846513c87
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
This reverts commit ae8e3ad58b.
Reason for revert: This led to T260155 as the internal class uses
isSubPage which is not available on LinkTarget
Bug: T260155
Change-Id: I783f41e70cf1cf3b91737bce9cbf9ac729a778df
SkinUserPageHelper::__construct() should be able to consume a LinkTarget
too as NamespaceInfo::getSubjectPage() method returns a LinkTarget and
the Title::getSubjectPage() is deprecated.
Change-Id: I08bfc9bb21772b450798b6354bee2ab09d5dba4d
Hooks are global, hence any and all skin-specific OutputPageBodyAttributes hooks need to check first that the correct skin (or skins) is used, otherwise the class or classes get applied for *all* skins when only one skin is supposed to be targeted.
Also fixed a tiny code style issue in the same hook subscriber while at it.
Change-Id: I626b0e050c614687b31f1ffbaea92e371dee4574
I6e69b482cdbc adds a viewport with the same value as defined by Minerva.
Bug: T258290
Depends-On: I6e69b482cdbc49c09adc6f7cee54f5e17b7c92c4
Change-Id: Ie8ed80f734b20a16bc1c70a94d40290909180c3b
Disable sortable and collapsible during mediawiki.page.ready initialisation
Add onSkinPageReadyConfig hook that overrides sortable and collapsible values.
Adds 1.74kb of JS to all page loads.
Bug: T257265
Bug: T250851
Depends-On: I0dc38e74052027f26a70d58b5f520e5830e0d55d
Change-Id: I81ff55d080c8c4a40f425ca7d0fc4fda322055dd
OutputPage has similar method and they are being used
interchangeably here. Let's stick with one.
Bug: T257992
Change-Id: Ia5a0fbf114f6a1fec6fb85e01a408edae8a5badb
This means dropping usage of Skin::addToBodyAttributes method from
parent Skin class to pave way for its deprecation/removal.
Bug: T255698
Change-Id: Idab13c37002ac5663f292e4f4b4ff51eb7573fda
This reverts commit 33e5c1eb79.
I talked to Gergo (tgr) about this and he's convinced me
that probably I want to be more conservative
and incremently roll the sitenotices
out first. With that in mind I'm going to revert this change
and do a config flag instead.
Bug: T254391
Change-Id: If0f214d23a012fb4ae3e1dff1728f746a22f142a
This will make site notices display across the site as intended. The config
flag doesn't seem warranted - site notices should display across all skins
as they may contain important information.
This is preventing wikidata page banners from displaying in Minerva.
If this is controversial I can do a config-only change for Wikivoyages
Bug: T254391
Change-Id: I34c5e762b967ea94e33025e87f3446e8e029bc91
The implicit in Mesage::__toString, as called when the object
is accepted by a method that needs a string, is to format
with parse(). Call that explicitly instead, or use escaped()
in places where it seems like elaborate wikitext isn't expected.
Change-Id: I9f1de3a0047d1f26d30c8607a0a79543d166176f
Rather than rely on something being set on MinervaTemplate go
straight to the source of the license message
This change will allow us to deprecate usage of
SkinTemplateOutputPageBeforeExec inside MobileFrontend
Bug: T60137
Depends-On: Id83ef2f2cba1dce940f89125b5cd26a29421ee48
Change-Id: I5317cd707418350847085d406c3749f19106d6ba
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
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