To better support page status indicators, for new skins, a skin needs a one-line call to $this->getIndicators(); in its template class (the class which extends BaseTemplate) in the appropriate location, usually after the site notice but before the <h1> element and the appropriate CSS styling for it.
The problem: there are no default styles for page status indicators whatsoever, which in practice means having to adapt the CSS yourself or copy it over from e.g. MonoBook. This is not ideal as it results in unnecessary code duplication and makes it harder to update these styles, given that (based on a few quick tests) the styles used by MonoBook work in many other skins besides that skin and thus they really should be default, core-provided styles.
In the odd edge case if a skin loads another skin's CSS, such as how Nimbus loads MonoBook's skins.monobook.styles ResourceLoader module (and thus essentially depends on MonoBook), page status indicator support needs merely that one line of PHP.
@matmarex pointed out that many skins in gerrit implement support for page status indicators differently from each other. To be specific, the skins which have styles for either .mw-indicators or .mw-indicator are:
- Amethyst
- BlueSky
- CologneBlue
- Example
- HasSomeColours
- Metrolook
- Modern
- MonoBook
- Poncho
- Refreshed
- Timeless
- Vector (legacy skin)
- WoOgLeShades
Most of these styles are very different, with one exception - they all float right.
All of the aforementioned skins should be tested to ensure that the new default styles don't cause any regressions and whatever custom, skin-specific CSS is needed should be kept, but things obviously duplicating this new set of default rules should be thrown away.
This feature should be implemented as a brand new ResourceLoader module independent of the pre-existing mediawiki.skinning.* modules because due to various problems with those modules, not all skins use those modules (specifically I'm referring to mediawiki.skinning.elements, mediawiki.skinning.content and mediawiki.skinning.interface -- all of these modules include the file resources/src/mediawiki.skinning/elements.css which is often the file that causes the most problems, forcing skin developers to manually include the content.css and/or interface.css files or totally re-implement everything from scratch). This new RL module should be loaded by OutputPage where appropriate.
Acceptance criteria
- A style will be added to the existing interface feature. Add the following rule to resources/src/mediawiki.skinning/interface.less :
.mw-indicators { float: right; }