Phame Blogs Leave it to the prose
Leave it to the prose
The Wikipedia Web team blog

How and why we moved our skins to Mustache

Written by Jdlrobson on Jul 15 2022, 8:24 PM.

As part of the desktop improvements project we spent time investing in the core code that powers skins. With support from volunteers (the majority of this support coming from the prolific @Ammarpad), we identified code patterns and made changes to the MediaWiki-Core-Skin-Architecture to retroactively define a data layer API for generating a skin.


Should Vector be responsive?

Written by Jdlrobson on May 9 2022, 10:31 PM.

Here I share some thoughts around the history of "responsive" MediaWiki skins and how we might want to think about it for Vector.


Creating a vue.js based skin with server side rendering

Written by Jdlrobson on May 27 2021, 9:54 PM.

For WMF staff's inspiration week, I decided to take a step back from my work building out a new skin architecture and a redesign of Vector and put myself into the shoes of a skin developer to see if the changes my team had made life easier. As a secondary objective, I was interested in how a MediaWiki skin could be written in Vue.js and what the challenges were to get there.


All code is built

Written by Niedzielski on Jul 28 2020, 1:27 PM.

HEADER CAPTION: The head of the Statue of Liberty on exhibit at the Paris World's Fair, 1878. The statue was built in France ahead of time, shipped overseas in crates, and then assembled in New York. Image by Albert Fernique / public domain.


The best documentation automation can buy

Written by Niedzielski on Mar 22 2020, 2:24 PM.

HEADER CAPTION: Screenshot from Wikimedia's famous Visual Editor. The typo "documenation" has a red squiggly line under it indicating the spell checker has automatically detected a spelling error by the author.


Why does building a skin require PHP knowledge?

Written by Jdlrobson on Feb 3 2020, 6:37 AM.

One of my longstanding pet peeves is that skin development for MediaWiki is so hard. I propose a radical change to how skins are installed and ask for feedback.


Migrating code from MediaWiki's ResourceLoader to Webpack

Written by Jdlrobson on Mar 13 2019, 3:15 PM.

The lack of tooling or support for tooling has been causing problems in complicated code bases like the codebase for our mobile site, so we carved out a proposal to create a bridge from our existing codebase to a more modern one using Webpack. I'll talk about what we did and why.


Minimal MediaWiki for frontend engineers

Written by Jdlrobson on Feb 21 2019, 7:07 PM.

I use OSX. Vagrant has not been kind to me, but I'm hopeful that Docker will make development a lot easier for me in future.
Until then, I use MAMP which provides a pretty easy LAMP setup. I wanted to share it with other frontend engineers as this minimal setup works well for me - it's fast, it minimises the extensions I need to update and most importantly brings me closer to problems with frontend end-users are experiencing.


Extension:Popups (Page Previews) front-end tooling

Written by Jhernandez on Apr 19 2018, 6:11 PM.

Extension:Popups is a MediaWiki extension that shows previews when hovering a link in a popup.


mustache.js replaced with JavaScript template literals in Extension:Popups

Written by Niedzielski on Apr 3 2018, 5:21 PM.

The Popups MediaWiki extension previously used HTML UI templates inflated by the mustache.js template system. This provided good readability but added an 8.1 KiB dependency* for functionality that was only used in a few places. We replaced Mustache with ES6 syntax without changing existing device support or readability and now ship 7.8 KiB less of minified uncompressed assets to desktop views where Popups was the only consumer.



Written by phuedx on Aug 16 2017, 12:58 PM.

The Reading Web team recently discovered a bug in Firefox wherein a load event is fired when Firefox loads certain pages from its Back-Forward Cache (BFCache). To JavaScript on those pages, this event is a second load event (the first having been fired before the user navigated away from the page). This proved to be problematic for the cornerstone of our instrumentation, the EventLogging extension and delayed the deployment of Page Previews for approximately three months.

About Leave it to the prose
No description.