59 Commits (b49a7575be39f0ba4fac7fcb5242562f5dab2a94)

Author SHA1 Message Date
AronDemian 73388405c3 Add and use `.mw-footer` & `.mw-footer-container` CSS classes
Adding `.mw-footer` & `.mw-footer-container` CSS classes & replacing 
`#mw-footer`,`#mw-footer-container` selectors with them.

`#mw-footer` & `#mw-footer-container` ids are kept for JS, gadgets 
compatibility and backwards compatibility with user styles.

Bug: T248137
Change-Id: I6e262cb5fa1838a22c3c6de8866d0324e83f84b3
5 years ago
Umherirrender a0ab76479f Use MediaWikiServices::getRepoGroup
This required MediaWiki 1.34 (already set in skin.json)

Change-Id: I5666c637baaf9a93ede4322731e39946d9379766
5 years ago
libraryupgrader 15b4549f5a build: Updating composer dependencies
* mediawiki/minus-x: 0.3.2 → 1.0.0
* mediawiki/mediawiki-phan-config: 0.9.0 → 0.9.1

Change-Id: I45125aebf577934f481bdd1ee51faea777a1e0d8
5 years ago
James D. Forrester cf3a511071 Follow-up 688fff1: Fix the other use of Sanitizer::escapeId()
Change-Id: I964f83ce88fb9c66a7c59037c6066f4567bcf4c9
5 years ago
C. Scott Ananian 688fff1a3e Replace usage of Sanitizer::escapeId(), deprecated in MW 1.30
Change-Id: I7d5ba4930688ed7f011a4babed5986b8e40910a0
5 years ago
Umherirrender 6e5892b93f build: Updating dependencies
composer:
* mediawiki/minus-x: 0.3.1 → 0.3.2
* jakub-onderka/php-console-highlighter: 0.3.2 -> 0.4.0
* mediawiki/mediawiki-phan-config: 0.8.0 -> 0.9.0

npm:
* grunt-banana-checker: 0.6.0 -> 0.8.1

Change-Id: I7c78fdbc2f5702f1d51af6dd93bea9ecac08e3ce
5 years ago
Umherirrender c92bea0b44 Add int cast for File::createThumb
createThumb needs a int
There are some more int cast on multiply with 1.5 in this code

Change-Id: If8356523ef89a29855dcf9bf390d16890c70f1c8
5 years ago
Umherirrender 93dd4042cf build: Updating mediawiki/mediawiki-phan-config to 0.8.0
Cast division and multiply to int, because that is what needed later

Bug: T235049
Change-Id: I70855b4674e69c332b73ed0fd28c4d1fd79f8da5
5 years ago
jenkins-bot f9bbb4c0ee Merge "Clean up ProofreadPage page tabs a bit" 5 years ago
Isarra f9a7111b73 Render unnecessarily large 2x logos to ensure we support unnecessarily high-res devices
Only does this with wordmarks; desktop devices are a lot less likely to merit this, and
the larger desktop logos are probably a rather bad idea to make unnecessarily large
anyway. Whereas the wordmarks should still be pretty small in terms of filesize as
they're going to be pretty simple, and are all we normally show on mobile.

Bug: T232540
Change-Id: I1932a99d8784eadf02f2711d9557425de0db0100
5 years ago
jenkins-bot 30505c31e5 Merge "Create wrapper for all junk below firstHeading, including nav stuff" 5 years ago
Isarra 62c2eb0760 Create wrapper for all junk below firstHeading, including nav stuff
And put the position:relative on that. Keeps the sticky header out of
it, regardless, and let folks do their weird non-content voodoo on
stuff like the siteSub more consistently, I guess...

Bug: T231400
Change-Id: I7ac35f741210a0c54976f43d2294af8f123967a1
5 years ago
jenkins-bot c8ace13b6a Merge "Revert "Add settings to use a particular layout even at higher resolutions"" 5 years ago
Krinkle ee5a9fc043 Revert "Add settings to use a particular layout even at higher resolutions"
This reverts commit 49a2ab3417.

Change-Id: I78c0c7e6c0ae46e24e076752b07b1370b0f2bc29
5 years ago
Isarra 728c3eb1a7 Clean up ProofreadPage page tabs a bit
Basically, move a bunch of the logic to ProofreadPage itself, and only
do some timeless-specific reordering/styling as due to its Special
nature. Because timeless is Special.

Bug: T231250
Depends-On: Ifd8be387cef671b2aaa2a482c145bccf2e6d1543
Change-Id: I6fd7b648e459fee60569a06ffa1f0a5eb179c9ba
5 years ago
jenkins-bot 51b19c4e84 Merge "Add settings to use a particular layout even at higher resolutions" 5 years ago
Isarra 649a9f133e Add arrows for extension:proofreadpage pages and sort tabs appropriately
Currently js-only due to the default (only) vector styles requiring js. Fixed in
Ifd8be387cef671b2aaa2a482c145bccf2e6d1543, with a followup to clean up a bit after
that assuming that doesn't mess up too much to be merged, but this works regardless.

Bug: T231250
Change-Id: I4cadcbc3e51672fb075c884b2d2cc1d799b1b1b0
5 years ago
Isarra 49a2ab3417 Add settings to use a particular layout even at higher resolutions
(Cap at single column or single-sidebar instead of the default three-
column mode.)

Adds user preference options and a $wgTimelessDefaultLayout config to
change the default wiki-wide. Intended for people who hate change and
prefer the same navigation layout (sort of) as we've had forever, and
for people who are really bad at change and just keep getting confused
when everything keeps moving around across different sized devices, as
well as anyone else who just likes... options, I guess? Whatever the
case, this is seriously up there in the running for 'most requested
feature'.

Uses three separate modules to avoid sending all users the same styles
twice regardless of what they'll even use, as each set is mostly the
same, just with slightly different breakpoints. Not seeing any saner
ways to do this, however, as even with LESS we can only use mixins/
includes/& afters to avoid the duplication in terms of what we work on,
not what is generated.

Bug: T131803
Change-Id: I0538d36c2ed7a5009b2a0f75952671ac9447fd56
5 years ago
Isarra c16be2f4dd Fix languages/variants stuff some more
Messed up a couple of things:
* Nojs variants toggle
* Order of sorting out language/project stuff fixed so it should correctly occur

Fixed.

Change-Id: I9a55848ca50884594035949e5aa855d98ddff77c
5 years ago
Isarra a4900353b1 Use flex for logo container width and to show some username on small screens
* No columns, so no point aligning anything to column-widths here.
* Add some IE9 fallbacks because the entire header is now flex.
* Clean up, consolidate same styles, etc

Bug: T184998
Change-Id: Iecf99d093a689d3c32932b2603f16939127ce7bd
5 years ago
Isarra ba13e4513a Only move special page namespace caction to sidebar if only one
As in, it's not associated with an actual page with a talkpage and stuff.

Change-Id: I22dcea00efe27011881529f4b2d9dce1642f294d
5 years ago
Isarra f0fc1a4362 Custom logo rendering, including text wordmark images
Use a file upload onwiki for simplest approach, or specify srcset info in an
array if that's not an option or otherwise not desired.

For instance to just reuse a $wgLogo and $wgLogoHD already set for a 160x160px
logo, but where the HD versions actually come out the right size:
$wgTimelessLogo = [
	'1x' => $wgLogo,
	'1.5x' => $wgLogoHD['1.5x']",
	'2x' => $wgLogoHD['2x'],
	'width' => 160,
	'height' => 160
];

Or to use File:Cows.svg uploaded onwiki:
$wgTimelessLogo = 'Cows.svg';

And the same thing with $wgTimelessWordmark to replace the site title string
with an image version.

Fallback behaviour remains unchanged, if just not using these.

Bug: T132004
Bug: T230663
Change-Id: I0d7b398935045ba69462252d40832ed95ad2d5ed
5 years ago
Isarra 8bca35dec0 Put languages back in sidebar on desktop
Partially reverts I148707085059f458512d328c415ea0bf134163f3 plus some random
cleanup and stuff

Both of the following bugs involve wikibase stuff so I can't actually be entirely
sure this resolves them, but I thiiiink it does because it should be killing the
offending parts of the above change that caused this? Probably?

Bug: T231256
Bug: T231234
Change-Id: Id7c0d90a805450b577271a321572fcd552ecbc3e
5 years ago
Timo Tijhof 8ddbd36d25 Merge 'skins.timeless.misc' back into 'skins.timeless'
Follows-up f450f7e13 and 1bb12ffaae which introduce and
explaine that module's need based on what I believe was a
misunderstanding.

Specifying an options object (e.g. with a "media" key) is optional
for a stylesheet, and a module can have any number of CSS or LESS
files that are packaged together. The syntax for this was designed
for PHP and unfortunately does not translate elegantly to JSON,
but it does work. In PHP, examples of this can be found that look
as follows:

 'styles' => [
   'foo.css',
   'bar.css' => [ 'media' => 'print' ],
   'quux.css',
 ],

Other examples of this in JSON can be found in Nostalgia.git
and ArticlePlaceholder.git.

Change-Id: Ie2a39a79c0892a1c5699a05071216eb5fe660bc1
5 years ago
jenkins-bot e4c339c820 Merge "Move email user to userpage tools, move print/export down to bottom of page tools" 5 years ago
Isarra dedcecd245 Move email user to userpage tools, move print/export down to bottom of page tools
Change-Id: Ie6b5bb092153dd2fa87f46aa606893915c421610
5 years ago
jenkins-bot d9e3a5d1ec Merge "Migrate backdrop image style generation to set a variable we use in the LESS instead of adding the styles prebaked" 5 years ago
Isarra b1901210d9 Migrate backdrop image style generation to set a variable we use in
the LESS instead of adding the styles prebaked

Bug: T223112
Change-Id: I773dbd9bd6d318144685d691e72627a00906472b
5 years ago
Simon Legner 4028c2504c Revert "Drop `redundant` attribute from `a` elements"
This reverts commit c9e9bb97e2.

No longer needed due to I630410aea2852f7a72fea67bbf256b3561ea0f3f.

Change-Id: I179aa6c52da9452f39c9f816c58af44288604863
5 years ago
jenkins-bot f0150509dd Merge "Move some more page tools to 'page tools'" 6 years ago
Isarra 91b22e854a Move some more page tools to 'page tools'
Extensions:
* Cite
* Wikibase
* Collection

Change-Id: If3f1627f91d398596d8e4e9c648688e42377b64d
6 years ago
Simon Legner c9e9bb97e2 Drop `redundant` attribute from `a` elements
Holdover from SkinTemplate assumptions about link assembly.

Bug: T214202
Change-Id: Idfa033bcfd100d031d31449228316206ff124aae
6 years ago
Isarra 2c526bfdbc Make personal menu header expand to show (more of) full usernames
* Lose the special casing replacement labels for long usernames and
  just truncate in CSS with '...' or whatever
* Fix weird padding on two-column mode
* Possibly cleaner Echo badge/whatever handling
* Alignment fixes in general

Note: Breaks two-column layout for IE9-. Probably easily fixed (don't
apply that one line to it), but I don't know how, and don't care.

Bug: T161282
Bug: T173215
Change-Id: I7d27e13265ee54767c509387baf6430bd7c4792d
6 years ago
Isarra 2808c5c595 CSS-based pokeys
No more need to add in an html pokey element every potential dropdown menu.
Aaaaaagh that made it bigger, didn't it.

Change-Id: I5d3817aa026849a5304710a32a3585f3e698321d
6 years ago
Isarra 1d2a9583a5 Move variants and languages into page tools dropdowns
Hopefully saner access, also clears up some of the sidebar space.
Also forces moving the wikibase other-projects blob into its own
blob entirely.

Not done:
* Pokeys (need to migrate them all to css-only; later patch)
* Handling for no languages for wikidata stuff (may not be possible;
  minerva likewise has no handling)

Bug: T213510
Bug: T181309
Change-Id: I148707085059f458512d328c415ea0bf134163f3
6 years ago
jenkins-bot b60faa7953 Merge "Move Other Projects block to interwiki chunk" 6 years ago
Isarra b8829b896a Fork getPortlet from MonoBook
That one's newer, lets us do more. Appears to work fine as a drop-in replacement, as long as we add back the emptyPortlet class and kill some dead compatibility stuff.

Change-Id: Id531671eef97c670665aebed784eca41c0394ce8
6 years ago
Isarra f7cf742c3c Create getContentBlock function to get rid of some of the ridiculous indenting
Seriously, what the crap. Break this up a bit, shall we? Also probably means we might be able to extend this better, or something. (Not that I have any idea how that works.)

Change-Id: I2576d2244091aabcc973d9d4b7a3020d34f365f8
6 years ago
James D. Forrester 655b109bea build: Upgrade phan-taint-check-plugin from 1.5.x to 2.0.1
Add `@param-taint $content escapes_htmlnoent` annotation to
TimelessTemplate::getPortlet(). See explanation on
Id8ef73f2efbe8d4d5510917d55dbac4e41b2b3a1.

Change-Id: I2fc96ed7876292dd6bd1e7f4fe799bdb6d8cdfd1
6 years ago
Isarra 542027e60b Move Other Projects block to interwiki chunk
Absolutely untested because I'm not installing wikibase.

Bug: T181169
Change-Id: I0cc69b6391c4e513880a91a8fb339451516a60ed
6 years ago
jenkins-bot 9481c431de Merge "Preserve standard username label to allow customisation" 6 years ago
Isarra c576c68a1f Add TimelessFileModule and $wgTimelessBackdropImage configuration
option to set configurable background image for the skin as a whole

Defaults to the cat, but can ideally be set to anything appropriate
to the wiki in question. Recommendation is a 20-50% opacity black/
white background image, where the alpha values of the b/w parts are
likewise around 10-50/255.

Bug: T193330
Change-Id: Ica3e2ce2568557ef157d06d1b7127b030f3c38f0
6 years ago
Isarra 999ed40930 Preserve standard username label to allow customisation
Bug: T215822
Change-Id: If371deb02ea97478fd856aa4941c4715aaca7a11
6 years ago
Jack Phoenix fb690eeda4 Remove broken compatibility hack for the legacy SkinTemplateToolboxEnd hook
SkinTemplateToolboxEnd hook really shouldn't be used and extensions should have been using BaseTemplateToolbox hook instead, for that hook's been around since MW 1.18.

Also this code was broken because $boxes was undefined.

Change-Id: I34537e8eb6ec0109253b5470d12d12d86c4dada0
6 years ago
Derick Alangi 7c6f015167 Declare each class property on separate lines
It's easier to read and also type hint and do a lot of
things when class properties are declared this way. I think
this is the standard way and it's an improvement :)

Also, added soft type hint phpdoc for these class properties.

Change-Id: I6f2bee7d5cd771f25241abcaebfacd6eb540175f
6 years ago
Isarra 12ec0fc69e Make page logs link actually work for page
Was using the page as th actor, not the target. Fixed.

bug: T163262
Change-Id: Idf9a9b3170d34df6c1685ccbc10986619a4afd9e
6 years ago
Umherirrender f784b7064e Add method scope visibility
Change-Id: Ic2c07aa870100158441e1868303f5e382fad5d06
6 years ago
Isarra 03f01e242c Use default search placeholder
The custom one as-is is never going to actually be accurate due to
caching, with an implementation that was basically just a bad joke.
A more thoughtful implementation with rounding and stuff per the
winter prototype is probably in order, but that will require a
different implementation anyway (T182345)...

bug: T160647
Change-Id: Id2776d69a7d42b9907b4363977134fea48dc2440
6 years ago
Kunal Mehta ef01612ab6 Fix escaping issues with messages
Notably, content passed to Language::convert() needs to be escaped beforehand.

Spotted by phan-taint-check-plugin.

Change-Id: Id8a5f8bbe635e2f321882296e40dd0c41cf91a3b
6 years ago
Isarra 7df2db6ee9 Make afterContent stuff appear correctly after content in all view
modes

Mostly affects extensions that add stuff after the content with them
hook dealies, such as flaggedrevisions etc.

bug: T200729
Change-Id: I5c46af8f4cab20b04930a0e25d380ec040557bb6
7 years ago