Extension:Skinny
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 | GitHub:
<translate> Note:</translate> README |
|
|
Quarterly downloads | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Public wikis using | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
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
- <translate> <tvar name=1>Download</tvar> and place the file(s) in a directory called <tvar name=name>
Skinny
</tvar> in your <tvar name=ext>extensions/
</tvar> folder.</translate> - <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
wfLoadExtension( 'Skinny' );
- File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>
- Pages with script errors
- Pages with broken file links
- Stable extensions
- Extensions without an image
- Parser function extensions
- Extensions without a compatibility policy
- Extensions with manual MediaWiki version
- Extensions supporting Composer
- GPL licensed extensions
- Extensions in GitHub version control
- ParserFirstCallInit extensions
- BeforePageDisplay extensions
- OutputPageBeforeHTML extensions
- All extensions
- Extensions not in ExtensionJson