User:Jdlrobson/New skin architecture
Skins are a nightmare to build and maintain. A new skin architecture could solve that.
- a skin can be created by adding a new folder with a skin.mustache, skin.css and skin.js file
- A skin does not use any hook.
- There is one single point of entry for modifying skins that provides a skin class with public method that allow:
- Adding menu items
- A menu item consists of a 'group', 'name', 'icon' and 'url' OR 'title'. The skin decides how to render these groups.
- Adding meta data after the parser output e.g. related articles,
- Adding meta data before the parser output e.g. breadcrumbs/subtitle
- Adding menu items
- it is not possible to add JS and CSS directly to a skin. This must be done via one of the existing hooks