Extension:Skinny

Category:Extensions without an imageCategory:Extensions without a compatibility policyCategory:GPL licensed extensions
MediaWiki extensions manual
Skinny
Release status: stableCategory:Stable extensions
Implementation Parser function Category:Parser function extensions
Description A raft of tools to make skinning MediaWiki easier and advanced layouts possible!
Author(s) Andru Vallance (Andrujhontalk)
Latest version 1.2 (2022-12-27)
MediaWiki 1.22+Category:Extensions with manual MediaWiki version
PHP 5.3+
Database changes No
Composer tinymighty/skinny Category:Extensions supporting Composer
License GNU General Public License 2.0 or later
Download Category:Extensions in GitHub version control
README
  • setskin
  • layout
  • movetoskin
  • skinsert
  • imageurl
Category:All extensionsCategory:Extensions not in ExtensionJson

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!

Features

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.

Installation

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 tinymighty/skinny to your composer.json file.

Manual Installation

  • Download and place the file(s) in a directory called Skinny in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'Skinny' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Category:All extensions Category:BeforePageDisplay extensions Category:Extensions in GitHub version control Category:Extensions not in ExtensionJson Category:Extensions supporting Composer Category:Extensions with manual MediaWiki version Category:Extensions without a compatibility policy Category:Extensions without an image Category:GPL licensed extensions Category:OutputPageBeforeHTML extensions Category:ParserFirstCallInit extensions Category:Parser function extensions Category:Stable extensions