Extension:Skinny

Skinny is a raft of tools I've built to help in my work as a MediaWiki consultant specializing in skinning. I don't like to say no when a client asks me for some feature that usually wouldn't be possible with MediaWiki, and this toolbox is the result!

Discrete Templates
The usual monolithic MediaWiki skin file is broken into discrete PHP template files which can be easily edited. These templates contain named zones into which you can prepend or append content, allowing easy dynamic skin compostion.

Per-page Themes and Skins
Themes allow for variations of the main skin by overriding specific templates. Themes can then be set on a per-page basis using the layout parser function.

If that's not enough, you can use the setskin parser function to change the entire skin on a page-by-page basis.

Move content Article <> Skin
Sometimes you need the ability to insert some complex html and javascript which doesn't need to be end-user editable into the contents of a wikipage. This is usually done with javascript meaning a flash of content! The skinsert parser function allows you to insert a template file into the contents of an article without resorting to client-side hacks.

Conversely, sometimes you want a section of the skin to be easily editable on a page-by-page basis. The movetoskin parser function lets you move content from the wiki article to a named zone in the skin. For example: insert content into a full-width Main Page hero unit above the article content, or insert content into a footer for pages defined by a certain template.

Automated Installation with Composer
This is possible starting with MediaWiki 1.22 and later. Follow the instructions at the Composer help page to add the package  to your   file.