Commit Graph

46 Commits (d856e9928bd423c4fc1e93ef4f4ec8cd94c49e96)

Author SHA1 Message Date
jenkins-bot c8ace13b6a Merge "Revert "Add settings to use a particular layout even at higher resolutions""
Krinkle ee5a9fc043 Revert "Add settings to use a particular layout even at higher resolutions"
This reverts commit 49a2ab3417.

Change-Id: I78c0c7e6c0ae46e24e076752b07b1370b0f2bc29
jenkins-bot 51b19c4e84 Merge "Add settings to use a particular layout even at higher resolutions"
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
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
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
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
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
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
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
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
jenkins-bot e4c339c820 Merge "Move email user to userpage tools, move print/export down to bottom of page tools"
Isarra dedcecd245 Move email user to userpage tools, move print/export down to bottom of page tools
Change-Id: Ie6b5bb092153dd2fa87f46aa606893915c421610
jenkins-bot d9e3a5d1ec Merge "Migrate backdrop image style generation to set a variable we use in the LESS instead of adding the styles prebaked"
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
Simon Legner 4028c2504c Revert "Drop `redundant` attribute from `a` elements"
This reverts commit c9e9bb97e2.

No longer needed due to I630410aea2852f7a72fea67bbf256b3561ea0f3f.

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

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

Bug: T214202
Change-Id: Idfa033bcfd100d031d31449228316206ff124aae
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
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
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
jenkins-bot b60faa7953 Merge "Move Other Projects block to interwiki chunk"
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
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
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
Isarra 542027e60b Move Other Projects block to interwiki chunk
Absolutely untested because I'm not installing wikibase.

Bug: T181169
Change-Id: I0cc69b6391c4e513880a91a8fb339451516a60ed
jenkins-bot 9481c431de Merge "Preserve standard username label to allow customisation"
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
Isarra 999ed40930 Preserve standard username label to allow customisation
Bug: T215822
Change-Id: If371deb02ea97478fd856aa4941c4715aaca7a11
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
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
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
Umherirrender f784b7064e Add method scope visibility
Change-Id: Ic2c07aa870100158441e1868303f5e382fad5d06
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
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
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
Isarra 496997424d Add sitesub, but hide by default
Bug: T193215
Change-Id: Ia09ae2b763107d0bdc3c379525405e8edf17edb7
jenkins-bot 279ded1b51 Merge "Fix display of categories in the sidebar"
evad37 3139581560 Fix display of categories in the sidebar
Switching from a unique approach -- getting category names, querying
the database, and then building links -- to the standard
OutputPage::getCategoryLinks() fixes the display of redlinks (T175713),
display order (T197852), and perhaps other bugs in the subtasks
of T160645.

A downside to this approach is that categories will not be shown on
history pages, but this is consistent with other skins (e.g. Vector
and Monobook) not displaying categories on history pages.

Bug: T186089
Bug: T175716
Bug: T175714
Bug: T175713
Bug: T197852
Bug: T160645
Change-Id: Ifad999033e8448615128cba4d6386045a9fc749b
Isarra b76ae6c43a Attempt to fix overflow issues with hsc- and mb-style implementations
* display:flex for three-column
* float content and some voodoo for two-column (same as monobook)

Also had to slightly rearrange dom to make the latter work. Content
is now before nav in dom.

Change-Id: I7209eb21473877592d89f8471f8f8ed1f6b87851
Fomafix acce94cea4 Simplify message parameter handling
Change-Id: I1ca300e0ed857c7ea74c4bd1ade599cc38bae381
Kunal Mehta 95f038996e Don't use wfMessage()
Avoids GlobalTitleFail log entries.

Change-Id: I53462eed5d0513da0e1130a4776c0bb5c86f94b1
Bartosz Dziewoński 70b5f24986 Fix condition for 'emptyPortlet' class
Follow-up to 6b9616d1ca, which
accidentally inverted the logic.

Bug: T196026
Change-Id: I98bc7529a1894b09ec3d80aab244327f526c022c
Paladox 6b9616d1ca Fix $count to === against array instead of using count that fails
Bug: T195613
Change-Id: I3f38ae8f5f322c49639b23126f990854f6a6549f
Isarra 24c7182ae8 Move classes to includes/
Change-Id: I77862f0a451d4b742e762a3caedf032edd06485a