Template:Skin/sandbox

From Holocaustmap

<languages/> Page Template:Infobox/styles.css has no content.Page Template:Skin/styles.css has no content.Page Template:Extension/status.css has no content. Lua error: Module:TNT:172: '''Missing JsonConfig extension, or not properly configured; Cannot load https://commons.wikimedia.org/wiki/Data:I18n/Documentation.tab.

See https://www.mediawiki.org/wiki/Extension:JsonConfig#Supporting_Wikimedia_templates'''.{{#if:

Lua error: callParserFunction: function "#translation" was not found.

<translate> 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.</translate>

<translate>

Usage

</translate>

<translate> Copy and paste:</translate>

{{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         =
}}

<translate> For help with parameter values, see [[<tvar name=1>#Content parameters</tvar>|below]].</translate>

Page Template:Infobox/styles.css has no content.Page Template:Skin/styles.css has no content.Page Template:Extension/status.css has no content.{{#if: {{{phabricator}}} | Template:Ptag }} {{#if:Placeholder.svg| |{{#if:{{#translation:}}||}}}} {{#if:{{{description}}}| }} {{#if:SomeAuthorSomeUser | }} {{#if: | }} {{#if:{{{version}}}| }} {{#if:{{{version preview}}}| }} {{#if:{{{compatibility policy}}}| |{{#ifeq:nocats|nocats||{{#if:{{#translation:}}||}}}} }} {{#if:{{{mediawiki}}}| }} {{#if:{{{php}}}| }} {{#if:{{{composer}}}| }} {{#if:{{{example}}}| |{{#ifeq:nocats|nocats||[[Category:Skins without an example{{#translation:}}]]}} }} {{#if:{{{parameters}}}| }} {{#if:hook1| }} {{#if:newhook1| }} {{#if:{{{compatibility}}}| }} {{#if:Script error: No such module "Extension".| <td title="<translate nowrap> This only includes downloads from <tvar name=1>Special:SkinDistributor</tvar>.</translate> <translate nowrap> Other download methods such as git or bundled extensions are not included.</translate>"><translate> Quarterly downloads</translate> }} {{#if:Script error: No such module "Extension".| }} {{#if:Script error: No such module "Extension".| }} {{#if:{{{vagrant-role}}}| }} {{#if: {{{phabricator}}} | }}
{{#ifeq:Manual:Skins| | }}{{#if:<translate> MediaWiki skins manual</translate> |<translate> MediaWiki skins manual</translate> |<translate> MediaWiki skins manual</translate>}}{{#ifeq:Manual:Skins| | }} - {{#ifeq:Category:All skins| | }}{{#if:<translate> category</translate> |<translate> category</translate> |<translate> category</translate>}}{{#ifeq:Category:All skins| | }}
[[File:{{#ifeq: {{{status}}} |unstable

|OOjs UI icon alert.svg |OOjs UI icon layout-{{#switch:{{#if:||{{#if:en|en|⧼lang⧽}}}} |aeb|aeb-arab|aic|ar|arc|arq|ary|arz|azb|bcc|bgn|bqi|bqp|ckb|ckb-arab|dv|en-rtl|fa|fa-af|glk|ha-arab|haz|he|khw|kk-arab|kk-cn|ks|ks-arab|ku-arab|lki|lrc|luz|mzn|nqo|ota|phn|pnb|prd|prs|ps|sd|sdh|skr|skr-arab|tg-arab|tly|ug|ug-arab|ur|uz-arab|xpu|ydd|yi ={{#ifeq:|-||{{#ifeq:|-||rtl}}}} |#default ={{#ifeq:|-||{{#ifeq:|-||ltr}}}} }}.svg }}|link=:Special:MyLanguage/Template:Skin#Content|{{#switch:{{#if:||{{#if:en|en|⧼lang⧽}}}} |aeb|aeb-arab|aic|ar|arc|arq|ary|arz|azb|bcc|bgn|bqi|bqp|ckb|ckb-arab|dv|en-rtl|fa|fa-af|glk|ha-arab|haz|he|khw|kk-arab|kk-cn|ks|ks-arab|ku-arab|lki|lrc|luz|mzn|nqo|ota|phn|pnb|prd|prs|ps|sd|sdh|skr|skr-arab|tg-arab|tly|ug|ug-arab|ur|uz-arab|xpu|ydd|yi ={{#ifeq:|-||{{#ifeq:right|right|right|rtl}}}} |#default ={{#ifeq:|-||{{#ifeq:left|left|left|ltr}}}} }}|40px]] {{#if:{{{localised name}}}|{{{localised name}}}|{{{name}}}}}
{{#ifeq:Skin status|

 |

}}{{#if:<translate> Release status:</translate> |<translate> Release status:</translate> |<translate> Release status:</translate>}}{{#ifeq:Skin status|

 |

}} {{#switch: {{{status}}} |unmaintained=<translate> unmaintained</translate> |unstable=<translate> unstable</translate> |experimental=<translate> experimental</translate> |beta=<translate> beta</translate> |stable=<translate> stable</translate> |#default=<translate> unknown</translate> }}{{#if:{{{license}}}|{{#ifeq:nocats|nocats||Script error: No such module "Extension".}}}}{{#ifeq:nocats|nocats||[[Category:{{#switch: {{{status}}} |unstable = Unstable skins |experimental = Experimental skins |stable = Stable skins |beta = Beta status skins |unmaintained = Unmaintained skins |#default = Skins with unknown status

}}{{#translation:}}]]}}
File:Placeholder.svg
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> Description</translate> |<translate> Description</translate> |<translate> Description</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{{description}}}
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> Author(s)</translate> |<translate> Author(s)</translate> |<translate> Author(s)</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{#if: SomeUser{{#ifeq: SomeUser|SomeAuthor||SomeAuthor (}}SomeUsertalk{{#ifeq: SomeUser|SomeAuthor||)}}|SomeAuthor}}
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> Maintainer(s)</translate> |<translate> Maintainer(s)</translate> |<translate> Maintainer(s)</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}]][[User talk:{{{maintainer}}}|talk]]|{{{maintainer}}}}}
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> Latest version</translate> |<translate> Latest version</translate> |<translate> Latest version</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{{version}}}{{#if:{{{update}}}| ({{{update}}})}}
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> Latest preview version</translate> |<translate> Latest preview version</translate> |<translate> Latest preview version</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{{version preview}}}{{#if:{{{update preview}}}| ({{{update preview}}})}}
{{#ifeq:Compatibility|
 |

}}{{#if:<translate> Compatibility policy</translate> |<translate> Compatibility policy</translate> |<translate> Compatibility policy</translate>}}{{#ifeq:Compatibility|

 |
}}
{{#switch:{{{compatibility policy}}}|master=<translate> Master maintains backwards compatibility.</translate>{{#ifeq:nocats|nocats||{{#if:{{#translation:}}||}}}}|rel=<translate> Snapshots releases along with MediaWiki.</translate> <translate> Master is not backwards compatible.</translate>{{#ifeq:nocats|nocats||{{#if:{{#translation:}}||}}}}|ltsrel= <translate> Follows the [[<tvar name=1>Special:MyLanguage/Version lifecycle#Release policy</tvar>|MediaWiki version lifecycle]].</translate> <translate> Master is not backwards compatible.</translate>{{#ifeq:nocats|nocats||{{#if:{{#translation:}}||}}}}|#default=<translate> invalid</translate>{{#ifeq:nocats|nocats||{{#if:{{#translation:}}||}}}}}}
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> MediaWiki</translate> |<translate> MediaWiki</translate> |<translate> MediaWiki</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{{mediawiki}}}
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> PHP</translate> |<translate> PHP</translate> |<translate> PHP</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{{php}}}
{{#ifeq:Composer|
 |

}}[[Special:MyLanguage/Composer|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:|:}}Composer/Page display title/en

 |{{#if:
   |{{#if:
     |
     |{{ Template:TNTN | nsp = 0 }}
   }}
   |{{ Template:TNTN }}
 }}
 |{{#if:
   |{{#if:Composer
     |Composer
     |Composer
   }}
   |Composer
 }}

}}}}]]{{#ifeq:Composer|

 |
}}
{{{composer}}} {{#ifeq:nocats|nocats||{{#if:{{{composer}}}|[[Category:Skins supporting Composer{{#translation:}}]]|}} }}
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> License</translate> |<translate> License</translate> |<translate> License</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{#if:{{{license}}}|Script error: No such module "Extension".|<translate> No license specified</translate> {{#ifeq:nocats|nocats||[[Category:Skins with no license specified{{#translation:}}]]}}}}
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> Download</translate> |<translate> Download</translate> |<translate> Download</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{#if:{{{download}}}|{{{download}}}|<translate> No download link provided</translate>}}{{#if:{{{readme}}}|
{{{readme}}}}}{{#if:{{{changelog}}}|
{{{changelog}}}}}
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> Example</translate> |<translate> Example</translate> |<translate> Example</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{{example}}}
{{#ifeq:Template:Skin|
 |

}}{{#if:<translate> Parameters</translate> |<translate> Parameters</translate> |<translate> Parameters</translate>}}{{#ifeq:Template:Skin|

 |
}}
{{{parameters}}}
{{#if:|

{{{1}}}

}}Template:Endplainlist
{{#if:|

{{{1}}}

}}Template:Endplainlist
{{{compatibility}}}
Script error: No such module "Extension".
<translate> Public wikis using</translate> Script error: No such module "Extension".
<translate> Public wikis using as default skin</translate> Script error: No such module "Extension".
<translate> [[<tvar name=1>translatewiki:Special:Translate/mediawiki-skin-skin</tvar>|Translate the <tvar name=name>Skin</tvar> skin]] if it is available at translatewiki.net</translate>
{{#ifeq:MediaWiki-Vagrant|
 |

}}{{#if:<translate> Vagrant role</translate> |<translate> Vagrant role</translate> |<translate> Vagrant role</translate>}}{{#ifeq:MediaWiki-Vagrant|

 |
}}
{{{vagrant-role}}}

{{#ifeq:Phabricator|

 |

}}{{#if:<translate> Issues</translate> |<translate> Issues</translate> |<translate> Issues</translate>}}{{#ifeq:Phabricator|

 |
}} :
[[phab:tag/{{{phabricator}}}|<translate> Open tasks</translate>]] · <translate> Report a bug</translate>
{{#ifeq:nocats|nocats||{{#ifeq:Template|Template:Ns:skin|[[Category:All skins{{#translation:}}]]}}}}

<translate>

Content parameters

</translate> <translate> This section describes parameters that govern infobox content.</translate> <translate> For help with <tvar name=1>templatemode</tvar> and other control parameters, please see [[<tvar name=2>#Control parameters</tvar>|Control parameters]].</translate>

<translate> Content parameters</translate>
<translate> Parameter</translate> <translate> Description</translate>
name<translate> name of the skin</translate>
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.
status<translate> current release status</translate>

<translate> One of:</translate>

  • {{#ifeq:Category:Unstable skins|
 |

}}{{#if:unstable |unstable |unstable}}{{#ifeq:Category:Unstable skins|

 |

}} - <translate> broken - do not use this skin</translate>

  • {{#ifeq:Category:Experimental skins|
 |

}}{{#if:experimental |experimental |experimental}}{{#ifeq:Category:Experimental skins|

 |

}} - <translate> early stages of development, may change drastically</translate>

  • {{#ifeq:Category:Beta status skins|
 |

}}{{#if:beta |beta |beta}}{{#ifeq:Category:Beta status skins|

 |

}} - <translate> stable but not fully tested</translate>

  • {{#ifeq:Category:Stable skins|
 |

}}{{#if:stable |stable |stable}}{{#ifeq:Category:Stable skins|

 |

}} - <translate> stable version</translate>

  • {{#ifeq:Category:Unmaintained skins|
 |

}}{{#if:unmaintained |unmaintained |unmaintained}}{{#ifeq:Category:Unmaintained skins|

 |

}} - <translate> unmaintained - previously claimed to be stable, now unmaintained</translate>

  • {{#ifeq:Category:Skins with unknown status|
 |

}}{{#if:unknown |unknown |unknown}}{{#ifeq:Category:Skins with unknown status|

 |

}} - <translate> default</translate>

<translate> 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.</translate>

  • {{#ifeq:Extension status|
 |

}}{{#if:<translate> release status colour scheme</translate> |<translate> release status colour scheme</translate> |<translate> release status colour scheme</translate>}}{{#ifeq:Extension status|

 |
}}
hook1
hook2
hook3
hook4
...
hook90
<translate> name of each hook used by the extension</translate>

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

<translate> For built-in hooks:

  • use the hook name alone.</translate> <translate> Please see <tvar name=manual>{{#ifeq:Manual:Hooks|
 |

}}{{#if:Manual:Hooks |Manual:Hooks |Manual:Hooks}}{{#ifeq:Manual:Hooks|

 |

}} </tvar> for values (but omit introductory '/').</translate>

<translate> For custom hooks defined by extensions:

  • use <tvar name=form>extensionName/hookName</tvar>.</translate> <translate> For a partial list of custom hooks, see <tvar name=exthooks>Extension hook registry</tvar>.</translate>

<translate>

For multiple hooks, assign the first hook to <tvar name=1>hook1</tvar>, the second to <tvar name=2>hook2</tvar> and so on.</translate>
newhook1
newhook2
newhook3
newhook4
...
newhook90

<translate> name of each hook provided by the extension </translate>

<translate> You might also want to add the hooks to <tvar name=exthooks>Extension hook registry</tvar>.</translate>

username <translate> The author's username on MediaWiki.org (if they have one).</translate> <translate> May be omitted, but if present it will be used to link to the author's user & user_talk page.</translate> <translate> It should be provided without namespace and without <tvar name=1>[[]]</tvar>s.</translate>
Template:Visible anchor <translate> The skin author's name, if different from their MediaWiki.org username.</translate> <translate> Free text.</translate> <translate> If omitted then the '<tvar name=1>username</tvar>' field will be used (if present).</translate>
description <translate> short description</translate>
Template:Visible anchor <translate> screenshot or logo of skin.</translate> <translate> It should be provided without namespace and without <tvar name=1>[[]]</tvar>s.</translate>
Template:Visible anchor <translate> facultative, size of the image (default size is 220px)</translate>
Template:Visible anchor <translate> last version</translate>
Template:Visible anchor<translate> date of the last update</translate>
compatibility policy {{#ifeq:Compatibility|
 |

}}{{#if:<translate> compatibility policy</translate> |<translate> compatibility policy</translate> |<translate> compatibility policy</translate>}}{{#ifeq:Compatibility|

 |

}} (<translate> accepted values are <tvar name="1">master</tvar>, <tvar name="2">rel</tvar> and <tvar name="3">ltsrel</tvar></translate>). ({{#ifeq:Category:Skins without a compatibility policy|

 |

}}{{#if:backlog |backlog |backlog}}{{#ifeq:Category:Skins without a compatibility policy|

 |
}} )
Template:Visible anchor<translate> required version of MediaWiki</translate>
Template:Visible anchor<translate> required version of PHP</translate>
Template:Visible anchor<translate> license(s) governing use of this skin, e.g. GPL</translate>
download<translate> link to the download</translate>: Use {{WikimediaDownloadSkin}} or {{GithubDownload}}.
Template:Visible anchor<translate> external link to the readme file</translate>
Template:Visible anchor<translate> external link to the changelog file</translate>
Template:Visible anchor<translate> available parameters for <tvar name="1">LocalSettings.php</tvar></translate>
Template:Visible anchor<translate> example, website or screenshot of working skin</translate>
Template:Visible anchor<translate> compatibility chart</translate>
Template:Visible anchor<translate> Bugzilla MediaWiki skin component name</translate>

<translate>

Control parameters

</translate>

<translate> Control parameters</translate>
<translate> Parameter</translate> <translate> Description</translate>
templatemode<translate> Controls auto-categorisation of host page.</translate>

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.

<translate> If this is left blank, this template will add the host page to <tvar name=1>{{#ifeq:Category:All skins|

 |

}}[[Special:MyLanguage/Category:All skins|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Category|Category:}}All skins/Page display title/en

 |{{#if:
   |{{#if:
     |
     |{{ Template:TNTN | nsp = 0 }}
   }}
   |{{ Template:TNTN }}
 }}
 |{{#if:
   |{{#if:All skins
     |All skins
     |Category:All skins
   }}
   |Category:All skins
 }}

}}}}]]{{#ifeq:Category:All skins|

 |

}} </tvar> and to one or more additional categories, depending on the values assigned to the [[<tvar name=2>#Content parameters</tvar>|Content parameters]].</translate>

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:

<translate>

Using the infobox

Existing skin pages

If you want to add the infobox to an existing page, copy and paste the code at the [[<tvar name=1>#CutAndPaste</tvar>|top of this page]].

Create a new skin page

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

Template:Skin/CreateSkinInputBox

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:

 |c|close =
 |e|empty|s|single|v|void
 |o|open
 |p|pair = <{{#if:|inputbox|inputbox}}{{#if:| {{{attribs}}}}}
}}{{#switch:open
 |c|close = 
 |e|empty|s|single|v|void =  />
 |o|open = >
 |p|pair = {{#ifeq:inputbox|!--||>}}...
}}{{#switch:open
 |e|empty|s|single|v|void
 |o|open =
 |c|close
 |p|pair = {{#ifeq:inputbox|!--|-->|</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.

[[Category:Template documentation pages{{#translation:}}]] }} [[Category:Infobox templates{{#translation:}}|Skin/sandbox]] [[Category:Extension creation{{#translation:}}]] [[Category:Categorizing templates{{#translation:}}|Skin/sandbox]] [[Category:Extension templates{{#translation:}}]] [[Category:Skin templates{{#translation:}}]]