Now that Minerva and Vector are using templates they are diverging with the data they use to render templates. While this is expected it's useful to have some shared commonality in this data and work towards a skin system I've been imagining in https://phabricator.wikimedia.org/phame/post/view/188/why_does_building_a_skin_require_php_knowledge/
Goals
- Formalise Mustache rendering as part of a skin
- Use it to render the fallback skin using Mustache
- Update Vector to make use of the SkinMustache class
- Upstream generalized menu data from SkinVector to SkinMustache (T262098)
- Update Minerva to make use of the SkinMustache class (T256083)
- Upstream data common to Vector and Minerva to the SkinMustache class (T255924)
Possible outcomes
Looking through our skins, one thought I had is that the Modern skin is actually a great candidate for an example of an extremely simplified Mustache skin. My guess is with a new skin architecture in place based on Mustache Modern could be reduced to a single mustache file without any PHP wireup. It would also live up to its name - it would be Modern tech wise if not appearance wise :)