Template:Tool
<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.
Purpose
This template should be added to the main page of all tools documented on this wiki (and only the main page). It will add a useful infobox using the information supplied (see below) and will automatically add the tool to {{#ifeq:Category:All tools|
|
}}{{#if:All tools |All tools |All tools}}{{#ifeq:Category:All tools|
|
}}
, plus the appropriate {{#ifeq:Category:Tools by status||
}}{{#if:status |status |status}}{{#ifeq:Category:Tools by status|
|
}}
and {{#ifeq:Category:Tools by implementation type||
}}{{#if:implementation type |implementation type |implementation type}}{{#ifeq:Category:Tools by implementation type|
|
}}
categories.Usage
Template:(| width="100%" |- ! width=40% | ! width=60% | |- valign="top" | align="left" | Copy and paste:
{{Tool|templatemode = |name = |status = |type1 = |type2 = |username = |author = |description = |image = |imagesize = |version = |update = |version preview = |update preview = |mediawiki = |php = |license = |download = |readme = |changelog = |example = |parameters = |tags = |compatibility = |bugzilla = |phabricator = }}
For help with parameter values, see below.
| align="right"|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:{{{type1}}}| }} {{#if:{{{description}}}| }} {{#if:SomeAuthorSomeUser | }} {{#if:{{{version}}}| }} {{#if:{{{version preview}}}| }} {{#if:{{{mediawiki}}}| }} {{#if:{{{php}}}| }} {{#if:{{{example}}}| }} {{#if:{{{parameters}}}| }} {{#if:{{{tags}}}| }} {{#if:{{{compatibility}}}| }} {{#if: {{{phabricator}}} | }}[[File:{{#ifeq: {{{status}}} |unstable
|OOjs UI icon alert-invert.svg |OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg }}|{{#switch:{{#if:||{{#if:{{#ifeq:|en |{{#ifeq:{{#titleparts:tool||-1}}|en | }} | }}|{{#ifeq:|en |{{#ifeq:{{#titleparts:tool||-1}}|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]] {{{name}}} | }}{{#if:<translate> Release status:</translate> |<translate> Release status:</translate> |<translate> Release status:</translate>}}{{#ifeq:Tool status| | }} }}{{#translation:}}]]}} {{#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> }}{{#ifeq:nocats|nocats||[[Category:{{#switch: {{{status}}} |unstable|experimental|unmaintained|stable = {{{status}}} tools |beta = Beta status tools |unknown = Tools with unknown status |#default = Tools with invalid status |
|||
---|---|---|---|
File:Placeholder.svg{{#if:| {{{image description}}}}} |
|||
{{#ifeq:Template:Tool|
| }}{{#if:<translate> Implementation</translate> |<translate> Implementation</translate> |<translate> Implementation</translate>}}{{#ifeq:Template:Tool| |}} |
{{#ifeq:nocats|nocats|Template:Foreach|Template:Foreach}}|{{#ifeq:nocats|nocats||Template:Tool/TypeSwitch}} | ||
{{#ifeq:Template:Tool|
| }}{{#if:<translate> Description</translate> |<translate> Description</translate> |<translate> Description</translate>}}{{#ifeq:Template:Tool| |}} |
{{{description}}} | ||
{{#ifeq:Template:Tool|
| }}{{#if:<translate> Author(s)</translate> |<translate> Author(s)</translate> |<translate> Author(s)</translate>}}{{#ifeq:Template:Tool| |}} |
{{#if: SomeUser |{{#ifeq: SomeUser|SomeAuthor||SomeAuthor (}}SomeUsertalk{{#ifeq: SomeUser|SomeAuthor||)}}|SomeAuthor}} | ||
{{#ifeq:Template:Tool|
| }}{{#if:<translate> Latest version</translate> |<translate> Latest version</translate> |<translate> Latest version</translate>}}{{#ifeq:Template:Tool| |}} |
{{{version}}}{{#if:{{{update}}}| ({{{update}}})}} | ||
{{#ifeq:Template:Tool|
| }}{{#if:<translate> Latest preview version</translate> |<translate> Latest preview version</translate> |<translate> Latest preview version</translate>}}{{#ifeq:Template:Tool| |}} |
{{{version preview}}}{{#if:{{{update preview}}}| ({{{update preview}}})}} | ||
{{#ifeq:Template:Tool|
| }}{{#if:MediaWiki |MediaWiki |MediaWiki}}{{#ifeq:Template:Tool| |}} |
{{{mediawiki}}} | ||
{{#ifeq:Template:Tool|
| }}{{#if:PHP |PHP |PHP}}{{#ifeq:Template:Tool| |}} |
{{{php}}} | ||
{{#ifeq:Template:Tool|
| }}{{#if:<translate> License</translate> |<translate> License</translate> |<translate> License</translate>}}{{#ifeq:Template:Tool| |}} |
{{#if:{{{license}}}|{{{license}}}|<translate> No license specified</translate>{{#if:||{{#ifeq:nocats|nocats||[[Category:Tools with no license specified{{#translation:}}]]}}}}}} | ||
{{#ifeq:Template:Tool|
| }}{{#if:<translate> Download</translate> |<translate> Download</translate> |<translate> Download</translate>}}{{#ifeq:Template:Tool| |}} |
{{#if:{{{download}}}|{{{download}}}|<translate> No link</translate>}}{{#if:{{{readme}}}| {{{readme}}}}}{{#if:{{{changelog}}}| {{{changelog}}}}} |
||
{{#ifeq:Template:Tool|
| }}{{#if:<translate> Example</translate> |<translate> Example</translate> |<translate> Example</translate>}}{{#ifeq:Template:Tool| |}} |
{{{example}}} | ||
|
|||
|
|||
{{{compatibility}}} | |||
{{#if:{{#ifeq:nocats|nocats
|no usage |{{#ifeq:Template| | |no usage }} {{#ifeq:nocats|nousage |no usage }} }} ||Check <translate> usage and version matrix</translate>;}} |
|||
{{#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||[[Category:All tools{{#translation:}}]]}}
Content parameters
This section describes parameters that govern infobox content. For help with templatemode and other control parameters, please see Control parameters.
Template:(| class="wikitable" |+ Content parameters |- ! <translate> Parameter</translate> ! <translate> Description</translate> |- |name Template:!! name of the tool |- |status Template:!! current release status One of:
- {{#ifeq:Category:Unstable tools|
|
}}{{#if:unstable |unstable |unstable}}{{#ifeq:Category:Unstable tools|
|
}}
(broken - do not use this tool)- {{#ifeq:Category:Experimental tools|
|
}}{{#if:experimental |experimental |experimental}}{{#ifeq:Category:Experimental tools|
|
}}
(early stages of development, may change drastically)- {{#ifeq:Category:Beta status tools|
|
}}{{#if:beta |beta |beta}}{{#ifeq:Category:Beta status tools|
|
}}
(stable but not fully tested)- {{#ifeq:Category:Stable tools|
|
}}{{#if:stable |stable |stable}}{{#ifeq:Category:Stable tools|
|
}}
(stable version)- {{#ifeq:Category:Unmaintained tools|
|
}}{{#if:unmaintained |unmaintained |unmaintained}}{{#ifeq:Category:Unmaintained tools|
|
}}
(unmaintained - previously claimed to be stable, now unmaintained)- {{#ifeq:Category:Tools with unknown status|
|
}}{{#if:unknown |unknown |unknown}}{{#ifeq:Category:Tools with unknown status|
|
}}
(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. In cases where the value is omitted, it will be categorized as {{#ifeq:Category:Tools with unknown status||
}}{{#if:unknown |unknown |unknown}}{{#ifeq:Category:Tools with unknown status|
|
}}
. In cases where the value is invalid, it will be placed in a {{#ifeq:Category:Tools with invalid status||
}}{{#if:special category |special category |special category}}{{#ifeq:Category:Tools with invalid status|
|
}}
type2
type3
type4
type5
type6
Template:!! implementation type
The implementation strategy(s) employed in building this tools. This parameter is used to create categories that help programmers find examples of various MediaWiki specific implementation strategies or patterns. Although the values of this parameter sometimes coincide with the use case or purpose of an tools, that is not reason for this parameter. If the values you have chosen for this parameter do not adequately identify the purpose or possible use cases, we recommend you add additional category links as needed.
Legal values for the type1,type2,... parameters are:
- {{#ifeq:Category:Ajax tools|
|
}}{{#if:ajax |ajax |ajax}}{{#ifeq:Category:Ajax tools|
|
}}Ajax
-- {{#ifeq:Category:API tools|
|
}}{{#if:api |api |api}}{{#ifeq:Category:API tools|
|
}}API
-- {{#ifeq:Category:Bots|
|
}}{{#if:bot |bot |bot}}{{#ifeq:Category:Bots|
|
}}Bot
-- {{#ifeq:Category:Database tools|
|
}}{{#if:database |database |database}}{{#ifeq:Category:Database tools|
|
}}Database
-- {{#ifeq:Category:Database tools|
|
}}{{#if:db |db |db}}{{#ifeq:Category:Database tools|
|
}}
- Database- {{#ifeq:Category:Data extraction tools|
|
}}{{#if:data extraction |data extraction |data extraction}}{{#ifeq:Category:Data extraction tools|
|
}}
- Data extraction- {{#ifeq:Category:Tool examples|
|
}}{{#if:example |example |example}}{{#ifeq:Category:Tool examples|
|
}}
- Example- {{#ifeq:Category:Link markup tools|
|
}}{{#if:link |link |link}}{{#ifeq:Category:Link markup tools|
|-
- {{#ifeq:Category:Internationalization tools|
|
}}{{#if:locale |locale |locale}}{{#ifeq:Category:Internationalization tools|
|
}}Locale
-- {{#ifeq:Category:Personalization tools|
|
}}{{#if:mywiki |mywiki |mywiki}}{{#ifeq:Category:Personalization tools|
|
}}MyWiki
-- {{#ifeq:Category:Extensions by integration target|
|
}}{{#if:plugin |plugin |plugin}}{{#ifeq:Category:Extensions by integration target|
|
}}
- Plugin for third party software- {{#ifeq:Category:Search tools|
|
}}{{#if:search |search |search}}{{#ifeq:Category:Search tools|
|
}}
- Search- {{#ifeq:Category:WordPress extensions|
|
}}{{#if:wordpress |wordpress |wordpress}}{{#ifeq:Category:WordPress extensions|
|-
Any other value for 'type' is invalid, and will cause the tool to be placed in Category:Tools with invalid or missing type.
Note: Many tools have more than one type, if this applies to yours,replace |type=
with |type1=|type2=|type3=...
. You may define up to six types for a tool.
|-
| username Template:!! 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.
|-
| Template:!! The tool author's name, if different from their MediaWiki.org username. Free text. If omitted then the 'username' field will be used (if present).
|-
| descriptionTemplate:!! short description
|-
| imageTemplate:!! screenshot or logo of tool
|-
| imagesizeTemplate:!! facultative, size of the image (default size is 220px)
|-
| versionTemplate:!! last version
|-
| updateTemplate:!! date of the last update
|-
| mediawikiTemplate:!! required version of MediaWiki
|-
| phpTemplate:!! required version of PHP
|-
| licenseTemplate:!! license(s) governing use of this tool, e.g. GPL
|-
| downloadTemplate:!! link to the download : Git, {{WikimediaDownload}} with server=svn in case it was not migrated from SVN. If you put the code into page in the MediaWiki wiki, link to it using a full page name and section name, e.g. [[Tool:Example/version_1.22a#Code]]
(it must remain valid when bot-copied elsewhere)
|-
| readmeTemplate:!! link to the readme file : README or other
|-
| changelogTemplate:!! link to the changelog file : CHANGELOG or other
|-
| parameters Template:!! available parameters for LocalSettings.php
|-
| Template:!! any tags your tool uses (e.g. <tag1>, <tag2>).
|-
| rightsTemplate:!! rights added by the tool. Not to be confused with the license! Not such as GFDL or LGPL or GPL - those are licenses!
|-
| example Template:!! example, website or screenshot of working tool
|-
| compatibility Template:!! compatibility chart
|-
| bugzilla Template:!! Bugzilla MediaWiki extension component name
|-
| CheckUsageNameOverride Template:!! override the page name used for the check usage link.
|Template:)
<translate>
Control parameters
</translate> Template:(| class="wikitable" |+ Control parameters |- ! <translate> Parameter</translate> ! <translate> Description</translate> |- | templatemode Template:!! Controls auto-categorization of host page.
Normally left blank. Alternate values are:
- nocats - suppresses categorization. Use this value if you are adding this template to subpages of an tool or to how-to documentation of tools. For example, the usage image above sets
templatemode=nocats
because this isn't an actual tool 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 {{#ifeq:Category:All tools|
|
}}{{#if:All tools |All tools |All tools}}{{#ifeq:Category:All tools|
|
}}Content parameters. |Template:)
and to one or more additional categories, depending on the values assigned to theUsing the infobox
Existing tools pages
If you want to add the infobox to an existing page, copy and paste the code at the top of this page.
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 its documentation.
To change/correct/add to the implementation type parameters (type1
, etc.):
- Discuss the change on the talk page
- Template:Tool/TypeSwitch: Stores the possible values for the type field. Multiple values are implemented by calling this template with Template:Foreach.
- Template:Tool/TypeSwitchNoCats: Used instead of Template:Tool/TypeSwitch when this template is used in
templatemode=nocats
. Templates used with Template:Foreach can only take one parameter so we need to wrap the call to Template:Tool/TypeSwitch with another template that sets the mode.
Test case
See if the following pages are still ok, after edited this template.
[[Category:Template documentation pages{{#translation:}}]] }} [[Category:Infobox templates{{#translation:}}|Tool]] [[Category:Tool creation{{#translation:}}|Tool]] [[Category:Categorizing templates{{#translation:}}|Tool]]