Template:Skin

Template documentation

This template should be added to all skin pages on this wiki (but only the main page) to display an information box and categorise the skin.

Usage

Copy and paste:

{{Skin|templatemode =
|name                 = 
|localised name       = 
|status               = 
|hook1                = 
|hook2                = 
|newhook1             = 
|newhook2             = 
|username             = 
|author               = 
|description          = 
|image                = 
|imagesize            = 
|version              = 
|update               = 
|version preview      = 
|update preview       = 
|compatibility policy =
|mediawiki            = 
|php                  = 
|composer             =
|license              = 
|download             = 
|readme               = 
|changelog            = 
|example              = 
|parameters           = 
|compatibility        = 
|bugzilla             = 
|phabricator          =
|vagrant-role         =
}}

For help with parameter values, see below.

MediaWiki skins manual - category
{{{localised name}}}
Release status: unknown
Description {{{description}}}
Author(s) SomeAuthor
Latest version {{{version}}} ({{{update}}})
Latest preview version {{{version preview}}} ({{{update preview}}})
Compatibility policy invalid
MediaWiki {{{mediawiki}}}
PHP {{{php}}}
Composer {{{composer}}}
License {{{license}}}
Download {{{download}}}
{{{readme}}}
{{{changelog}}}
Example {{{example}}}
Parameters
{{{parameters}}}
{{{compatibility}}}
Translate the Skin skin if it is available at translatewiki.net
Vagrant role {{{vagrant-role}}}
Issues : [[phab:tag/{{{phabricator}}}|Open tasks]] · Report a bug

Content parameters

This section describes parameters that govern infobox content. For help with templatemode and other control parameters, please see Control parameters.

Content parameters
Parameter Description
namename of the skin
localised name source text for localising name of the skin

Specify the same value as name.

It will be used later for localising the name.
statuscurrent release status

One of:

  • unstable - currently broken - do not use this skin in the latest MediaWiki version.
  • experimental - early stages of development, may change drastically
  • beta - stable but not fully tested
  • stable - stable - the skin works in the latest MediaWiki version without any fatal errors.
  • unmaintained - unmaintained - only use if the linked repository is archived or the maintainer has not responded to an enquiry about the maintained status. If using this status, please link to a patch or issue/bug report as a reference using an HTML comment. If the skin is broken use unstable instead.
  • unknown - default

If the status is anything other than the above, it will be ignored and the default value of 'Unknown' will be displayed in the template instead.

hook1
hook2
hook3
hook4
...
hook90
name of each hook used by the extension

Entering values in this field is a good way to get exposure for your extension and help other developers. Each documented hook will automatically add the extension to a category listing extensions that use that hook. This category is autolinked to each hook page so that programmers can easily find examples of extensions that use a particular hook.

For built-in hooks:

  • use the hook name alone. Please see Manual:Hooks for values (but omit introductory '/').

For custom hooks defined by extensions:

For multiple hooks, assign the first hook to hook1, the second to hook2 and so on.
newhook1
newhook2
newhook3
newhook4
...
newhook90

name of each hook provided by the extension

You might also want to add the hooks to Extension hook registry.

username The author's username on MediaWiki.org (if they have one). May be omitted, but if present it will be used to link to the author's user & user_talk page. It should be provided without namespace and without [[]]s.
author The skin author's name, if different from their MediaWiki.org username. Free text. If omitted then the 'username' field will be used (if present).
description short description
image screenshot or logo of skin. It should be provided without namespace and without [[]]s.
imagesize facultative, size of the image (default size is 220px)
version last version
updatedate of the last update
compatibility policy compatibility policy (accepted values are master, rel and ltsrel). (backlog )
mediawikirequired version of MediaWiki
phprequired version of PHP
licenselicense(s) governing use of this skin, e.g. GPL
downloadlink to the download: Use {{WikimediaDownloadSkin }} or {{GithubDownload }}.
readmeexternal link to the readme file
changelogexternal link to the changelog file
parametersavailable parameters for LocalSettings.php
exampleexample, website or screenshot of working skin
compatibilitycompatibility chart
bugzillaBugzilla MediaWiki skin component name

Control parameters

Control parameters
Parameter Description
templatemodeControls auto-categorisation of host page.

Normally left blank. Alternate values are:

  • nocats - suppresses categorisation. Use this value if you are adding this template to subpages of a skin or to how-to documentation of skins. For example, the usage image above sets templatemode=nocats because this isn't an actual skin page and we don't want to add this page to any categories on account of it.

If this is left blank, this template will add the host page to Category:All skins and to one or more additional categories, depending on the values assigned to the Content parameters.

subpage; it is not in the Skin: namespace; or if suppressed by 'templatemode=nocats'

Categories added

This template will automatically add the pages it is used on to the Category:All skins category.

In addition, it will categorise the page based on the value of the status parameter:

Using the infobox

Existing skin pages

If you want to add the infobox to an existing page, copy and paste the code at the top of this page.

Create a new skin page

If you want to create a new skin page, enter the name below and click the button. A new page will be created with the infobox template already in place.

Please replace "TheSkin" with your skin's name:


MediaWiki is an open-source project and users are encouraged to make any MediaWiki skins under an Open Source Initiative (OSI) approved GPLv2 compatible license (including MIT, BSD, PD). For skins that have a compatible license, you can request commit access to the MediaWiki source repository for skins.

A developer sharing their code in the code repository should expect:

Feedback / Criticism / Code reviews
Review and comments by other developers on things like framework use, security, efficiency and usability.
Developer tweaking
Other developers modifying your submission to improve or clean-up your code to meet new framework classes and methods, coding conventions and translations.
Future versions by other developers
New branches of your code being created by other developers as new versions of MediaWiki are released.
Credit
Credit for your work being preserved in future versions
Similarly, you should credit the developers of any skins whose code you borrow from.

Any developer who is uncomfortable with any of these actions occurring should not host their code in the code repository. You are still encouraged to create a summary page for your skin on the wiki to let people know about the skin, and where to download it.

Enhancing this template

If you would like to improve on this template, thanks! This is a complicated template so here is some help along the way:

In addition, Template:Skin/Sample stores the boiler plate that is preloaded into newly created pages and contains some basic documentation on how to fill in the template parameters. It needs to be kept in sync with the documentation.

The Create skin button

To improve the create skin button behavior:

  • Template:Skin/Sample — The boilerplate skin that is preloaded into newly-created pages.
  • Template:Skin/CreateSkinInputBox — An input box that can be inserted wherever you want users to easily create skins. For documentation on the ‎<inputbox> tag, please see Extension:InputBox .
  • Skin:TheSkin: — Defines a placeholder, in case a user accidentally hits the create button without changing the skin name.

Infobox parameters

In general:

  • To make this template easy to use, each label in the infobox is linked to documentation on the template parameter(s) it displays. If you add a parameter, please be sure to also add it to the content parameter documentation and link its label to that documentation.

Test cases

See if the following pages are still ok, after editing this template.