Template:Skin/sandbox
This is the template sandbox page for Template:Skin (diff). |
Uses Lua: |
This template uses TemplateStyles: |
This template should be added to all skin pages on this wiki (but only the main page) to display an information box and categorize the skin.
Usage
Copy and paste: {{Skin|templatemode = |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. |
Content parameters
This section describes parameters that govern infobox content.
For help with templatemode
and other control parameters, please see Control parameters.
Parameter | Description |
---|---|
name | name of the skin |
status | current release status
One of:
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:
For custom hooks defined by extensions:
|
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. |
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 |
update | date of the last update |
compatibility policy | compatibility policy (accepted values are master, rel and ltsrel). (backlog ) |
mediawiki | required version of MediaWiki |
php | required version of PHP |
license | license(s) governing use of this skin, e.g. GPL |
download | link to the download: Use {{WikimediaDownloadSkin}} or {{GithubDownload}}. |
readme | external link to the readme file |
changelog | external link to the changelog file |
parameters | available parameters for LocalSettings.php |
example | example, website or screenshot of working skin |
compatibility | compatibility chart, e.g. Template:Extension Testing |
bugzilla | Bugzilla MediaWiki skin component name |
Control parameters
Parameter | Description |
---|---|
templatemode | Controls auto-categorization of host page.
Normally left blank. Alternate values are:
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 categorize the page based on the value of the status parameter:
- unstable: Category:Unstable skins
- experimental: Category:Experimental skins
- stable: Category:Stable skins
- beta: Category:Beta status skins
- unmaintained: Category:Unmaintained skins
- proprietary: Category:Skins which have not released their source code
- otherwise: Category:Skins with unknown status
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 Template:Skin/doc.
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 case
See if the following pages are still ok, after edited this template.