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
  • it is not possible to add JS and CSS directly to a skin. This must be done via one of the existing hooks