Page MenuHomePhabricator

Rewrite MonoBook in SkinMustache
Closed, ResolvedPublic

Description

CologneBlue, Vector, Modern and Minerva use SkinMustache.

Using SkinMustache allows us to centralize import HTML ID and class attributes as well as apply consistent behaviour across skins.

The existing MonoBook skin for example lacks several important concepts and has several inconsistencies:

  • No dir attribute on firstHeading
  • It parses the tagline message rather than rendering the escaped version
  • The .printfooter element is not a child of #bodyContent
  • No empty #ca-view element is outputted
  • The #mw-searchButton element has no mw-fallbackSearchButton class
  • The generated-sidebar class is used on sidebar portlets, which is inconsistent with other skins

*When ElectronPdf is installed so there are two print links.

Using SkinMustache will address all the other issues, while also arguably making the codebase easier to read, as Mustache template's are easier to read rather than several PHP functions. Hopefully this will make the skin easier to manage.

Event Timeline

Change 584088 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MonoBook@master] Monobook Mustache

https://gerrit.wikimedia.org/r/584088

Jdlrobson added a project: MW-1.37-release.

Hoping this will make the 1.37 release as it sets the direction for Wikimedia skins as SkinMustache going forward.

Change 584088 merged by jenkins-bot:

[mediawiki/skins/MonoBook@master] Monobook Mustache

https://gerrit.wikimedia.org/r/584088

For tech news: A technical change was made to the implementation of MonoBook to allow for easier maintenance and upkeep. This has resulted in some minor changes to HTML that make Monobook's HTML consistent with other skin. Efforts have been made to minimize the impact on editors, but please ping @Jdlrobson on wiki if any problems are reported.

Jdlrobson claimed this task.

Spun out T290888 for the user notice.

Beta cluster is performing consistently and passes the smoke test:

  • I can see languages
  • I can see edit button
  • I can see history link
  • I can see move/delete buttons
  • I can see toolbox items
  • I can see notifications
  • I can logout
  • I can see site notices