Jump to content

Extension:Skinny

From mediawiki.org
MediaWiki extensions manual
Skinny
Release status: stable
Implementation Parser function
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+
PHP 5.3+
Database changes No
Composer tinymighty/skinny
License GNU General Public License 2.0 or later
Download
README
  • setskin
  • layout
  • movetoskin
  • skinsert
  • imageurl

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

[edit]

Discrete Templates

[edit]

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

[edit]

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

[edit]

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

[edit]

Automated installation with Composer

[edit]

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

[edit]
  • 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.