<translate> [[<tvar|1>Special:MyLanguage/Phabricator</>|Issue tracker]]:</translate> [[phab:tag/{{{phabricator}}}/|#{{{phabricator}}}]]
Difference between revisions of "Template:Extension/en"
Jump to navigation
Jump to search
>FuzzyBot (Updating to match new version of source page) |
>FuzzyBot (Updating to match new version of source page) |
||
(59 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
<languages/> | <languages/> | ||
</noinclude><includeonly>{{#switch: | </noinclude><!-- | ||
--><templatestyles src="Template:Infobox/styles.css" /><!-- | |||
--><templatestyles src="Template:Extension/styles.css" /><!-- | |||
--><templatestyles src="Template:Extension/status.css" /><!-- | |||
--><includeonly>{{#switch: | |||
| = | | = | ||
{{#ifeq:{{lc:{{{status}}}}}|unmaintained|{{#ifeq:{{NAMESPACE}}|Extension|{{#invoke:Extension|unmaintained}}}}}} | |||
{{#if: {{{phabricator|{{{bugzilla|}}}}}} | {{Ptag|{{{phabricator|MediaWiki-extensions-{{{bugzilla|}}}}}}}} }} | {{#if: {{{phabricator|{{{bugzilla|}}}}}} | {{Ptag|{{{phabricator|MediaWiki-extensions-{{{bugzilla|}}}}}}}} }} | ||
<table class="infobox infobox-{{dir|{{pagelang}}}} ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }} | |||
<table class=" | |unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }} | ||
|unmaintained | |||
|#default=unknown | |#default=unknown | ||
}}"> | }}"> | ||
<caption>'''{{ll|Manual:Extensions|MediaWiki extensions manual}}'''</caption> | <caption>'''{{ll|Manual:Extensions|2=MediaWiki extensions manual}}'''</caption> | ||
<tr class=" | <tr class="infobox-header ext-infobox-header"> | ||
<th colspan="2" style="padding-top: 0.5em;">[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable| | <th colspan="2" style="padding-top: 0.5em;">[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable | ||
{{ll|Extension status|Release status:}} {{#switch: {{lc: {{{status|unknown}}} }} | |OOjs UI icon alert-invert.svg | ||
|<!--else-->OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg | |||
}}|link=Special:MyLanguage/Template:Extension#Content|{{dir|{{pagelang}}|right|left}}|40px]] <span style="font-size: 130%; line-height: 100%;">{{#if:{{{name|}}}|{{{name}}}|{{PAGENAME:{{translatable}}}}}}</span><br /> | |||
{{ll|Extension status|2=Release status:}} {{#switch: {{lc: {{{status|unknown}}} }} | |||
|unmaintained=unmaintained | |unmaintained=unmaintained | ||
|unstable=unstable | |unstable=unstable | ||
|experimental=experimental | |experimental=experimental | ||
|beta=beta | |beta=beta | ||
|stable=stable | |stable=stable | ||
|#default=unknown | |#default=unknown | ||
}}<!-- | }}<!-- | ||
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->[[Category:{{#switch: {{lc:{{{status|}}} }} | -->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->[[Category:{{#switch: {{lc:{{{status|}}} }} | ||
|unstable|experimental|stable = {{{status}}} extensions | |unstable|experimental|unmaintained|stable = {{{status}}} extensions | ||
|beta = beta status extensions | |beta = beta status extensions | ||
|unknown = extensions with unknown status | |unknown = extensions with unknown status | ||
|#default = extensions with invalid status | |#default = extensions with invalid status | ||
}}{{#translation:}}]]}}</th> | }}{{#translation:}}]]}}</th> | ||
Line 41: | Line 42: | ||
{{#if:{{{type|}}}{{{type1|}}}| | {{#if:{{{type|}}}{{{type1|}}}| | ||
<tr> | <tr> | ||
<td>{{ll|Template:Extension#type| | <td style="min-width:7em">'''{{ll|Template:Extension#type|2=Implementation}}'''</td> | ||
<td>{{#invoke:Extension|getTypes | <td>{{#invoke:Extension|getTypes | ||
|ajax = [[w:AJAX|Ajax]] | |ajax = [[w:AJAX|Ajax]] | ||
|api = {{ll|API:Action API|API}} | |api = {{ll|API:Action API|2=API}} | ||
|beta feature = {{ll|Beta Features|Beta Feature}} | |beta feature = {{ll|Beta Features|2=Beta Feature}} | ||
|contenthandler = {{ll|Manual:ContentHandler| | |contenthandler = {{ll|Manual:ContentHandler|ContentHandler}} | ||
|database = {{ll|Manual:Database layout|Database}} | |database = {{ll|Manual:Database layout|2=Database}} | ||
|data extraction = Data extraction | |data extraction = Data extraction | ||
|example = Example | |example = Example | ||
|extended syntax = {{ll|Manual:Extending wiki markup|Extended syntax}} | |extended syntax = {{ll|Manual:Extending wiki markup|2=Extended syntax}} | ||
|filerepo = File repository | |filerepo = File repository | ||
|hook = {{ll|Manual:Hooks|Hook}} | |hook = {{ll|Manual:Hooks|2=Hook}} | ||
|interface = User interface | |interface = User interface | ||
|link = {{ll|Manual:Extending wiki markup|Link markup}} | |link = {{ll|Manual:Extending wiki markup|2=Link markup}} | ||
|media = Media | |media = Media | ||
|mywiki = {{ll|Manual:Personalization|MyWiki}} | |mywiki = {{ll|Manual:Personalization|2=MyWiki}} | ||
|notify = Notify | |notify = Notify | ||
|page action = {{ll|Manual:Parameters to index.php#Actions|Page action}} | |page action = {{ll|Manual:Parameters to index.php#Actions|2=Page action}} | ||
|parser = {{ll|Manual:Extending wiki markup|Parser extension}} | |parser = {{ll|Manual:Extending wiki markup|2=Parser extension}} | ||
|parser function = {{ll|Manual:Parser functions|Parser function}} | |parser function = {{ll|Manual:Parser functions|2=Parser function}} | ||
|php = PHP | |php = PHP | ||
|search = Search | |search = Search | ||
|skin = {{ll|Manual:Skins|Skin}} | |skin = {{ll|Manual:Skins|2=Skin}} | ||
|special page = {{ll|Manual:Special pages|Special page}} | |special page = {{ll|Manual:Special pages|2=Special page}} | ||
|locale = {{ll|Manual:Localization|Locale}} | |locale = {{ll|Manual:Localization|2=Locale}} | ||
|tag = {{ll|Manual:Tag extensions|Tag}} | |tag = {{ll|Manual:Tag extensions|2=Tag}} | ||
|user access = {{ll|Manual:Security|User access}} | |user access = {{ll|Manual:Security|2=User access}} | ||
|user identity = {{ll|Manual:Security|User identity}} | |user identity = {{ll|Manual:Security|2=User identity}} | ||
|user rights = {{ll|Manual:Security|User rights}} | |user rights = {{ll|Manual:Security|2=User rights}} | ||
|user activity = {{ll|Manual:Security|User activity}} | |user activity = {{ll|Manual:Security|2=User activity}} | ||
|variable = {{ll|Manual:Variables|Variable}} | |variable = {{ll|Manual:Variables|2=Variable}} | ||
}}<!-- | }}<!-- | ||
-->|<!--else--><!-- | -->|<!--else--><!-- | ||
Line 84: | Line 85: | ||
{{#if:{{{description|}}}| | {{#if:{{{description|}}}| | ||
<tr> | <tr> | ||
<td>{{ll|Template:Extension#description| | <td>'''{{ll|Template:Extension#description|2=Description}}'''</td> | ||
<td>{{{description}}}</td> | <td>{{{description}}}</td> | ||
</tr> | </tr> | ||
Line 90: | Line 91: | ||
{{#if:{{{author|}}}{{{username|}}} | | {{#if:{{{author|}}}{{{username|}}} | | ||
<tr> | <tr> | ||
<td>{{ll|Template:Extension#username| | <td>'''{{ll|Template:Extension#username|2=Author(s)}}'''</td> | ||
<td>{{#if: {{{username|}}} |<!-- | <td>{{#if: {{{username|}}} |<!-- | ||
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!-- | -->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!-- | ||
Line 98: | Line 99: | ||
-->}}<!-- | -->}}<!-- | ||
-->[[User:{{{username}}}|{{{username}}}]]<!-- | -->[[User:{{{username}}}|{{{username}}}]]<!-- | ||
--><sup>[[User talk:{{{username}}}|{{int | --><sup>[[User talk:{{{username}}}|{{int|talkpagelinktext}}]]</sup><!-- | ||
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!-- | -->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!-- | ||
nothing | nothing | ||
Line 111: | Line 112: | ||
{{#if:{{{maintainer|}}} | | {{#if:{{{maintainer|}}} | | ||
<tr> | <tr> | ||
<td>{{ll|Template:Extension#maintainer| | <td>'''{{ll|Template:Extension#maintainer|2=Maintainer(s)}}'''</td> | ||
<td>{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}]]<sup>[[User talk:{{{maintainer}}}|{{int | <td>{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}]]<sup>[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]</sup>|{{{maintainer}}}}}</td> | ||
</tr> | </tr> | ||
}} | }} | ||
{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}| | {{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}| | ||
<tr> | <tr> | ||
<td>{{ll|Template:Extension#version| | <td>'''{{ll|Template:Extension#version|2=Latest version}}'''</td> | ||
<td>{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}| ({{{latest release date|{{{latest_release_date|{{{update}}} | <td>{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}| ({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}</td> | ||
</tr> | </tr> | ||
}} | }} | ||
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}| | {{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}| | ||
<tr> | <tr> | ||
<td>{{ll|Template:Extension#version| | <td>'''{{ll|Template:Extension#version|2=Latest preview version}}'''</td> | ||
<td>{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}| ({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}</td> | <td>{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}| ({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}</td> | ||
</tr> | </tr> | ||
Line 129: | Line 130: | ||
{{#if:{{{compatibility policy|}}}| | {{#if:{{{compatibility policy|}}}| | ||
<tr> | <tr> | ||
<td>{{ll|Compatibility#mediawiki_extensions| | <td>'''{{ll|Compatibility#mediawiki_extensions|2=Compatibility policy}}'''</td> | ||
<td>{{#switch:{{{compatibility policy}}}<!-- | <td>{{#switch:{{{compatibility policy}}}<!-- | ||
-->|master=master<!-- | -->|master=Master maintains backward compatibility.{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!-- | ||
-->|rel=release branches<!-- | -->|rel=Snapshots releases along with MediaWiki. Master is not backward compatible.{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with release branches compatibility policy]]}}}}<!-- | ||
-->|ltsrel= | -->|ltsrel= Follows the [[Special:MyLanguage/Version lifecycle#Release policy|MediaWiki version lifecycle]]. Master is not backward compatible.{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with long-term support release branches compatibility policy]]}}}}<!-- | ||
-->|#default=<span class="error">invalid</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}<!-- | -->|#default=<span class="error">invalid</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}<!-- | ||
-->}}</td> | -->}}</td> | ||
Line 139: | Line 140: | ||
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}} | |{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}} | ||
}} | }} | ||
<tr> | <tr> | ||
<td>{{ll|Template:Extension#mediawiki|'''MediaWiki'''}}</td> | <td>{{ll|Template:Extension#mediawiki|'''MediaWiki'''}}</td> | ||
<td>{{{mediawiki}}}</td> | <td>{{#invoke:Extension |getMediaWikiRequirement |{{{mediawiki|}}} }}</td> | ||
</tr> | </tr> | ||
{{#if:{{{php|}}}| | {{#if:{{{php|}}}| | ||
<tr> | <tr> | ||
Line 165: | Line 164: | ||
{{#if:{{{table1|}}}| | {{#if:{{{table1|}}}| | ||
<tr> | <tr> | ||
<td>{{ll|Template:Extension#table1| | <td>'''{{ll|Template:Extension#table1|2=Tables}}'''</td> | ||
<td>{{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}<!-- | <td>{{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}<!-- | ||
-->{{#if:{{{table2|}}}|<br />{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}<!-- -->}}<!-- | -->{{#if:{{{table2|}}}|<br />{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}<!-- -->}}<!-- | ||
Line 189: | Line 188: | ||
}} | }} | ||
<tr> | <tr> | ||
<td>{{ll|Template:Extension#license| | <td>'''{{ll|Template:Extension#license|2=License}}'''</td> | ||
<td>{{#invoke:Extension|getFormattedLicense|{{{license|}}} | <td>{{#invoke:Extension|getFormattedLicense|{{{license|}}} | ||
|GPL-2.0 = GNU General Public License 2.0 | |GPL-2.0 = GNU General Public License 2.0 | ||
Line 234: | Line 233: | ||
<td>'''Download'''</td> | <td>'''Download'''</td> | ||
<td><!-- | <td><!-- | ||
-->{{#if:{{{ | -->{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|''No link''}}}}<!-- | ||
-->{{#if:{{{readme|}}}|<br />{{{readme}}}<!-- -->}}<!-- | -->{{#if:{{{readme|}}}|<br />{{{readme}}}<!-- -->}}<!-- | ||
-->{{#if:{{{changelog|}}}|<br />{{{changelog}}}<!-- -->}}</td> | -->{{#if:{{{changelog|}}}|<br />{{{changelog}}}<!-- -->}}</td> | ||
</tr> | </tr> | ||
{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} | | |||
<tr> | |||
<td>'''{{ll|Template:Extension#help|2=Help}}'''</td> | |||
<td>{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}</td> | |||
</tr> | |||
}} | |||
{{#if:{{{example|}}}| | {{#if:{{{example|}}}| | ||
<tr> | <tr> | ||
<td>{{ll|Template:Extension#example| | <td>'''{{ll|Template:Extension#example|2=Example}}'''</td> | ||
<td>{{{example}}}</td> | <td>{{{example}}}</td> | ||
</tr> | </tr> | ||
Line 247: | Line 252: | ||
<tr> | <tr> | ||
<td class="mw-collapsible mw-collapsed" colspan="2"> | <td class="mw-collapsible mw-collapsed" colspan="2"> | ||
<div class="mw-collapsible-header">{{ll|Template:Extension#namespace| | <div class="mw-collapsible-header">'''{{ll|Template:Extension#namespace|2=Namespace}}'''</div> | ||
<div class="mw-collapsible-content"><!-- the parameter "namespace" should begin on its own line so that bullet lists are correctly recognised by MediaWiki --> | <div class="mw-collapsible-content"><!-- the parameter "namespace" should begin on its own line so that bullet lists are correctly recognised by MediaWiki --> | ||
{{{namespace|}}}</div></td> | {{{namespace|}}}</div></td> | ||
Line 255: | Line 260: | ||
<tr> | <tr> | ||
<td class="mw-collapsible mw-collapsed" colspan="2"> | <td class="mw-collapsible mw-collapsed" colspan="2"> | ||
<div class="mw-collapsible-header">{{ll|Template:Extension#parameters|Parameters}}</div> | <div class="mw-collapsible-header">{{ll|Template:Extension#parameters|2=Parameters}}</div> | ||
<div class="mw-collapsible-content"><!-- the parameter "parameters" should begin on its own line so that bullet lists are correctly recognised by MediaWiki --> | <div class="mw-collapsible-content"><!-- the parameter "parameters" should begin on its own line so that bullet lists are correctly recognised by MediaWiki --> | ||
{{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}</div></td> | {{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}</div></td> | ||
Line 263: | Line 268: | ||
<tr> | <tr> | ||
<td class="mw-collapsible mw-collapsed" colspan="2"> | <td class="mw-collapsible mw-collapsed" colspan="2"> | ||
<div class="mw-collapsible-header">{{ll|Template:Extension#tags|Tags}}</div> | <div class="mw-collapsible-header">{{ll|Template:Extension#tags|2=Tags}}</div> | ||
<div class="mw-collapsible-content">{{{tags}}}</div></td> | <div class="mw-collapsible-content">{{{tags}}}</div></td> | ||
</tr> | </tr> | ||
Line 270: | Line 275: | ||
<tr> | <tr> | ||
<td class="mw-collapsible mw-collapsed" colspan="2"> | <td class="mw-collapsible mw-collapsed" colspan="2"> | ||
<div class="mw-collapsible-header">{{ll|Template:Extension#rights|Added rights}}</div> | <div class="mw-collapsible-header">{{ll|Template:Extension#rights|2=Added rights}}</div> | ||
<div class="mw-collapsible-content"><!-- the parameter "rights" should begin on its own line so that bullet lists are correctly recognised by MediaWiki --> | <div class="mw-collapsible-content"><!-- the parameter "rights" should begin on its own line so that bullet lists are correctly recognised by MediaWiki --> | ||
{{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}} | {{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}} | ||
Line 289: | Line 294: | ||
<tr> | <tr> | ||
<td class="mw-collapsible mw-collapsed" colspan="2"> | <td class="mw-collapsible mw-collapsed" colspan="2"> | ||
<div class="mw-collapsible-header">{{ll|Template:Extension#hook|Hooks used}}</div> | <div class="mw-collapsible-header">{{ll|Template:Extension#hook|2=Hooks used}}</div> | ||
{{plainlist|class=mw-collapsible-content}}<ul><li>|delim=</li><li>|footer=</li></ul>{{endplainlist}} | |||
</td> | </td> | ||
</tr> | </tr> | ||
Line 297: | Line 302: | ||
<tr> | <tr> | ||
<td class="mw-collapsible mw-collapsed" colspan="2"> | <td class="mw-collapsible mw-collapsed" colspan="2"> | ||
<div class="mw-collapsible-header">{{ll|Template:Extension#newhook|Hooks provided}}</div> | <div class="mw-collapsible-header">{{ll|Template:Extension#newhook|2=Hooks provided}}</div> | ||
{{plainlist|class=mw-collapsible-content}}<ul><li><!-- | |||
-->{{Foreach|Extension/HookProvided|delim=</li><li>|<!-- | -->{{Foreach|Extension/HookProvided|delim=</li><li>|<!-- | ||
-->{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|<!-- | -->{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|<!-- | ||
Line 316: | Line 321: | ||
-->{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}<!-- | -->{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}<!-- | ||
-->}}<!-- | -->}}<!-- | ||
--></li></ul> | --></li></ul>{{endplainlist}} | ||
</td> | </td> | ||
</tr> | </tr> | ||
Line 326: | Line 331: | ||
</tr> | </tr> | ||
}} | }} | ||
{{#if:{{{notranslate|}}}|| | {{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}|| | ||
<tr> | <tr> | ||
<td colspan="2" style="text-align:center;"> | <td colspan="2" style="text-align:center;"> | ||
[[translatewiki:Special:Translate/{{{translate|ext-{{lc:{{#invoke:String|replace|{{PAGENAME:{{translatable}}}}| | | {{#if:{{{translate|}}} | ||
</tr>}} | |[[translatewiki:Special:Translate/{{{translate}}}|Translate the {{PAGENAME:{{translatable}}}} extension]] | ||
|[[translatewiki:Special:Translate/ext-{{lc:{{#invoke:String|replace|{{PAGENAME:{{translatable}}}}| |}}}}|Translate the {{PAGENAME:{{translatable}}}} extension]] if it is available at translatewiki.net | |||
}}</td> | |||
</tr>}}<!-- | |||
Note: this next check suppresses the 'Check usage' link if page is: a subpage, not in Extension: namespace, or if suppressed by 'templatemode=nocats' or 'nousage=true'. | Note: this next check suppresses the 'Check usage' link if page is: a subpage, not in Extension: namespace, or if suppressed by 'templatemode=nocats' or 'nousage=true'. | ||
-->{{#if:{{{nousage|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats | -->{{#if:{{{nousage|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats | ||
Line 344: | Line 351: | ||
}}}}} | }}}}} | ||
|<!-- no usage -->| | |<!-- no usage -->| | ||
<tr> | |||
<td colspan="2" style="text-align:center;"> | |||
<span style="white-space:nowrap">[[wikiapiary:Extension:{{{CheckUsageNameOverride|{{BASEPAGENAMEE}}}}}|Check usage and version matrix.]]</span> | <span style="white-space:nowrap">[[wikiapiary:Extension:{{{CheckUsageNameOverride|{{BASEPAGENAMEE}}}}}|Check usage and version matrix.]]</span> | ||
</td> | |||
</tr> | </tr> | ||
{{#if:{{{vagrant-role|}}} | | }} | ||
{{#if:{{{vagrant-role|}}}| | |||
<tr> | <tr> | ||
<td>{{ll|MediaWiki-Vagrant#Using roles| | <td>'''{{ll|MediaWiki-Vagrant#Using roles|2=Vagrant role}}'''</td> | ||
<td>[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]</td> | <td>[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]</td> | ||
</tr> | </tr> | ||
Line 357: | Line 366: | ||
<tr> | <tr> | ||
<td> | <td> | ||
'''{{ll|Phabricator|Issues}}'''</td> | '''{{ll|Phabricator|2=Issues}}'''</td> | ||
<td>[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|Open tasks]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} Report a bug]</td> | <td>[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|Open tasks]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} Report a bug]</td> | ||
</tr> | </tr> | ||
}} | }} | ||
{{#if: {{{github|}}} | | {{#if: {{{github|}}} | | ||
<tr> | <tr> | ||
<td> | <td> | ||
'''{{ll|Gerrit/GitHub|Issues}}'''</td> | '''{{ll|Gerrit/GitHub|2=Issues}}'''</td> | ||
<td>[https://www.github.com/{{{github}}}/issues Open issues] · [https://www.github.com/{{{github}}}/issues/new Report a bug]</td> | <td>[https://www.github.com/{{{github}}}/issues Open issues] · [https://www.github.com/{{{github}}}/issues/new Report a bug]</td> | ||
</tr> | </tr> | ||
}} | }} | ||
</table><!-- | </table><!-- | ||
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- | -->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- | ||
Line 380: | Line 387: | ||
-->}}<!-- -->}}<!-- | -->}}<!-- -->}}<!-- | ||
-->[[Category:All extensions{{#translation:}}]]<!-- | -->[[Category:All extensions{{#translation:}}]]<!-- | ||
-->{{#invoke:Extension|getExtensionJsonCategory}}<!-- | |||
-->}}<!-- | -->}}<!-- | ||
--><!--Check if the source page was deleted/archived--> {{#invoke:Extension|maintenanceLinks}} | --><!--Check if the source page was deleted/archived--> {{#invoke:Extension|maintenanceLinks}} | ||
Line 387: | Line 395: | ||
{{intricate template}} | {{intricate template}} | ||
{{lua|Module:Extension|Module:ExtensionJson|Module:String}} | {{lua|Module:Extension|Module:ExtensionJson|Module:String}} | ||
{{Uses TemplateStyles|Template:Infobox/styles.css|Template:Extension/styles.css|Template:Extension/status.css}} | |||
This template should be added to all extension pages on this wiki (but only the main page). | This template should be added to all extension pages on this wiki (but only the main page). | ||
It will add a useful infobox (see below) and will automatically add the extension to {{ll|Category:All extensions}}, along with the appropriate {{ll|Category:Extensions by status|status}} and {{ll|Category:Extensions by implementation type|implementation type}} categories. | It will add a useful infobox (see below) and will automatically add the extension to {{ll|Category:All extensions}}, along with the appropriate {{ll|Category:Extensions by status|status}} and {{ll|Category:Extensions by implementation type|implementation type}} categories. | ||
Line 428: | Line 437: | ||
|readme = | |readme = | ||
|changelog = | |changelog = | ||
|help = | |||
|example = | |example = | ||
|namespace = | |namespace = | ||
Line 451: | Line 461: | ||
|username = SomeUser | |username = SomeUser | ||
|author = SomeAuthor | |author = SomeAuthor | ||
|image = Placeholder. | |image = Placeholder.svg | ||
|version = {{{version}}} | |version = {{{version}}} | ||
|update = {{{update}}} | |update = {{{update}}} | ||
Line 467: | Line 477: | ||
|readme = {{{readme}}} | |readme = {{{readme}}} | ||
|changelog = {{{changelog}}} | |changelog = {{{changelog}}} | ||
|help = {{{help}}} | |||
|example = {{{example}}} | |example = {{{example}}} | ||
|namespace = {{{namespace}}} | |namespace = {{{namespace}}} | ||
Line 483: | Line 494: | ||
{{anchor|Content parameters}} | {{anchor|Content parameters}} | ||
== Content parameters == | == Content parameters == | ||
This section describes parameters that govern infobox content. | This section describes parameters that govern infobox content. | ||
For help with '''templatemode''' and other control parameters, please see ''[[#Control parameters|Control parameters]]''. | For help with '''templatemode''' and other control parameters, please see ''[[#Control parameters|Control parameters]]''. | ||
Line 501: | Line 511: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span id="status">'''status'''</span></td><td>'''current release status''' | <td><span id="status">'''status'''</span></td><td> | ||
One of: | '''current release status''' | ||
One of: | |||
* ''{{ll|Category:Unstable extensions|unstable}}'' - broken - do not use this extension | * ''{{ll|Category:Unstable extensions|unstable}}'' - broken - do not use this extension | ||
Line 508: | Line 519: | ||
* ''{{ll|Category:Beta status extensions|beta}}'' - stable but not fully tested | * ''{{ll|Category:Beta status extensions|beta}}'' - stable but not fully tested | ||
* ''{{ll|Category:Stable extensions|stable}}'' - stable version | * ''{{ll|Category:Stable extensions|stable}}'' - stable version | ||
* ''{{ll|Category: | * ''{{ll|Category:Unmaintained extensions|unmaintained}}'' - unmaintained - previously claimed to be stable, now unmaintained | ||
* ''{{ll|Category:Extensions with unknown status|unknown}}'' - default | * ''{{ll|Category:Extensions with unknown status|unknown}}'' - default | ||
Line 531: | Line 541: | ||
** ''{{ll|Category:Link markup extensions|link}}'' - customized [[Special:MyLanguage/Manual:Extending wiki markup|link markup]], e.g. <code><nowiki>[[</nowiki>...]]</code> | ** ''{{ll|Category:Link markup extensions|link}}'' - customized [[Special:MyLanguage/Manual:Extending wiki markup|link markup]], e.g. <code><nowiki>[[</nowiki>...]]</code> | ||
** ''{{ll|Category:Parser function extensions|parser function}}'' - custom [[Special:MyLanguage/Manual:Parser functions|parameterized template markup]], e.g. <code><nowiki>{{</nowiki>''#name:'' ... <nowiki>}}</nowiki></code> | ** ''{{ll|Category:Parser function extensions|parser function}}'' - custom [[Special:MyLanguage/Manual:Parser functions|parameterized template markup]], e.g. <code><nowiki>{{</nowiki>''#name:'' ... <nowiki>}}</nowiki></code> | ||
** ''{{ll|Category:Tag extensions|tag}}'' - [[Special:MyLanguage/Manual:Tag extensions|custom XML tag markup]], e.g. | ** ''{{ll|Category:Tag extensions|tag}}'' - [[Special:MyLanguage/Manual:Tag extensions|custom XML tag markup]], e.g. {{tag|''tagname''}} | ||
** ''{{ll|Category:Variable extensions|variable}}'' - custom [[Special:MyLanguage/Manual:Variables|unparameterized template markup]], e.g. <code><nowiki>{{NAME}}</nowiki></code> | ** ''{{ll|Category:Variable extensions|variable}}'' - custom [[Special:MyLanguage/Manual:Variables|unparameterized template markup]], e.g. <code><nowiki>{{NAME}}</nowiki></code> | ||
** ''{{ll|Category:Extended syntax extensions|extended syntax}}'' - Extensions that add non-standard wiki syntax (i.e. <em>not</em> [[Special:MyLanguage/Manual:Tag extensions|tags]], [[Special:MyLanguage/Manual:Parser functions|parser functions]], or [[Special:MyLanguage/Manual:Variables|variables]]). | ** ''{{ll|Category:Extended syntax extensions|extended syntax}}'' - Extensions that add non-standard wiki syntax (i.e. <em>not</em> [[Special:MyLanguage/Manual:Tag extensions|tags]], [[Special:MyLanguage/Manual:Parser functions|parser functions]], or [[Special:MyLanguage/Manual:Variables|variables]]). | ||
Line 555: | Line 565: | ||
** {{ll|Category:File repository extensions|''filerepo''}} - extension that adds new file repository types as file backend | ** {{ll|Category:File repository extensions|''filerepo''}} - extension that adds new file repository types as file backend | ||
** {{ll|Category:Extension examples|''example''}} - Not a real extension, but an example of how to write one | ** {{ll|Category:Extension examples|''example''}} - Not a real extension, but an example of how to write one | ||
** {{ll|Category:Beta Feature extensions|''beta features''}} - extensions that new {{ll|Beta Features}}. | |||
** {{ll|Category:PHP extensions|''php''}} - extensions to the underlying {{ll|PHP}} programming language. | |||
** {{ll|Category:Internationalization extensions|''locale''}} - extensions associated with [[Special:MyLanguage/Manual:Localization|localization]] | |||
Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type{{#translation:}}]]. | Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type{{#translation:}}]]. | ||
Note: Many extensions have more than one type, if this applies to yours, replace <code> | Note: Many extensions have more than one type, if this applies to yours, replace <code>{{!}}type=</code> with <code>{{!}}type1={{!}}type2={{!}}type3=...</code>. You may define up to six types for an extension.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 577: | Line 589: | ||
<tr> | <tr> | ||
<td><span id="newhook">'''newhook1'''</span><br/>''newhook2''<br/>''newhook3''<br/>''newhook4''<br/>...<br/>''newhook90''</td> | <td><span id="newhook">'''newhook1'''</span><br/>''newhook2''<br/>''newhook3''<br/>''newhook4''<br/>...<br/>''newhook90''</td> | ||
<td valign="top">'''name of each hook provided by the extension''' | <td valign="top"> | ||
'''name of each hook provided by the extension''' | |||
You might also want to add the hooks to [[Extension hook registry]].</td> | You might also want to add the hooks to [[Extension hook registry]]. | ||
</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 603: | Line 617: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span id="compatibility_policy">compatibility policy</span></td><td>{{ll|Compatibility#mediawiki_extensions|compatibility policy}} (accepted values are '''master''', '''rel''', and '''ltsrel'''). ({{ll|Category:Extensions without a compatibility policy|backlog}})</td> | <td><span id="compatibility_policy">compatibility policy</span></td><td>{{ll|Compatibility#mediawiki_extensions|compatibility policy}} (accepted values are '''master''', '''rel''', and '''ltsrel'''). ({{ll|Category:Extensions without a compatibility policy|2=backlog}})</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>{{visible anchor|mediawiki}}</td><td> | <td>{{visible anchor|mediawiki}}</td><td>Required version of MediaWiki. Most extensions should not need to use this — it defaults to the value of the {{Manual|Extension.json/Schema#requires|'requires'}} property of {{manual|extension.json}}. See also [[:Category:Extensions without MediaWiki version]] and [[:Category:Extensions with manual MediaWiki version]].</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 612: | Line 626: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>{{visible anchor|needs-updatephp}}</td><td><code>yes</code> indicates that the extension requires a database table schema change or a similar action, before the MediaWiki can run. It is a common pitfall: your MediaWiki will stall, if you forgot to run update.php - if the extension requires it. <code>no</code> should be set as a value since this assures that the extension does not need update.php to be run and thus avoids uncertainty | <td>{{visible anchor|needs-updatephp}}</td> | ||
<td> | |||
<code>yes</code> indicates that the extension requires a database table schema change or a similar action, before the MediaWiki can run. It is a common pitfall: your MediaWiki will stall, if you forgot to run update.php - if the extension requires it. <code>no</code> should be set as a value since this assures that the extension does not need update.php to be run and thus avoids uncertainty | |||
Extensions which conform to MediaWiki extension standards come with a '''schema change script which you need to start manually''' (once) before starting and accessing the MediaWiki through your browser, and after you copied all the extension files to < | Extensions which conform to MediaWiki extension standards come with a '''schema change script which you need to start manually''' (once) before starting and accessing the MediaWiki through your browser, and after you copied all the extension files to <syntaxhighlight lang=php inline>$IP/extensions/ExtensionName</syntaxhighlight> and inserted <syntaxhighlight lang=php inline>wfLoadExtension( "ExtensionName" );</syntaxhighlight> into "LocalSettings.php", run from the command line: | ||
<code class="mw-code mw-highlight" style="display:block"><!-- | |||
-->{{#tag:span|cd|class=nb}} ''path/to/wiki_install_directory'' | |||
{{#tag:span|cd|class=nb}} maintenance | |||
php update.php | |||
</code> | |||
{{$IP}}</td> | {{$IP}}</td> | ||
Line 634: | Line 652: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span id="download">'''download'''</span></td><td>'''link to the download''' : [ | <td><span id="download">'''download'''</span></td><td>'''link to the download''' : [[phab:r/project/mediawiki/core|Git]], {{tl|WikimediaDownload{{#translation:}}}}. </td> | ||
</tr> | </tr> | ||
<td><span id="repo">repo</span></td><td>Name of the Gerrit repository the extension's code is stored in, if different from the page name. Setting this automatically sets {{para|download}}, and allows the template to automatically load data from the appropriate <code>extension.json</code> file.</td> | <td><span id="repo">repo</span></td><td>Name of the Gerrit repository the extension's code is stored in, if different from the page name. Setting this automatically sets {{para|download}}, and allows the template to automatically load data from the appropriate <code>extension.json</code> file.</td> | ||
Line 650: | Line 668: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>{{visible anchor|rights}}</td><td>rights added by the extension. '''Not to be confused with the license!''' Rights are such as ''{{ll|Extension:MakeBot|makebot}}'' or ''{{ll|Extension:Desysop|desysop}}'', not such as GFDL or LGPL or GPL - those are licenses!</td> | <td>{{visible anchor|rights}}</td><td>[[Special:MyLanguage/Manual:User rights|rights]] added by the extension. '''Not to be confused with the license!''' Rights are such as ''{{ll|Extension:MakeBot|makebot}}'' or ''{{ll|Extension:Desysop|desysop}}'', not such as GFDL or LGPL or GPL - those are licenses!</td> | ||
</tr> | |||
<tr> | |||
<td>{{visible anchor|namespace}}</td><td>[[Special:MyLanguage/Manual:Namespace|namespace]] in which this extension is used</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>{{visible anchor| | <td>{{visible anchor|help}}</td><td>Link to user-help for the extension. If not provided, will look for <code>Help:Extension:''ExtensionName''</code>. If provided, full wikitext link should be given (because you may want to link to e.g. an external page).</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 659: | Line 680: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>{{visible anchor|compatibility}}</td><td>Additional compatibility information, for instance compatibility charts | <td>{{visible anchor|compatibility}}</td><td>Additional compatibility information, for instance compatibility charts. It's encouraged to add any client-side compatibility information here too, especially when diverging from [[Special:MyLanguage/Compatibility#Browsers|expectations of full support for a browser]].</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>{{visible anchor|translate}}</td><td>Optional parameter to link the exact page where ([[Special:MyLanguage/Help:Extension:Translate/Glossary|message group id]] with which) the extension will be translatable on [[translatewiki.net]] if enabled. If the default link is incorrect, manually set it to: | <td>{{visible anchor|translate}}</td> | ||
<td> | |||
Optional parameter to link the exact page where ([[Special:MyLanguage/Help:Extension:Translate/Glossary|message group id]] with which) the extension will be translatable on [[translatewiki.net]] if enabled. If the default link is incorrect, manually set it to: | |||
* ext-LOWERCASE(NOSPACES(Label as defined in {{git file|project=translatewiki|branch=HEAD|file=groups/MediaWiki/ExtensionsAgg.yaml|text=config}})), aka | * ext-LOWERCASE(NOSPACES(Label as defined in {{git file|project=translatewiki|branch=HEAD|file=groups/MediaWiki/ExtensionsAgg.yaml|text=config}})), aka | ||
* the parameter you get in the URL after | * the parameter you get in the URL after | ||
** typing the name of the extension in the search/filter box at [[translatewiki:Special:Translate]] or | ** typing the name of the extension in the search/filter box at [[translatewiki:Special:Translate]] or | ||
** searching for its name in [https://translatewiki.net/w/i.php?title=Special%3ALanguageStats&x=D languagestats] after clicking "expand all".</td> | ** searching for its name in [https://translatewiki.net/w/i.php?title=Special%3ALanguageStats&x=D languagestats] after clicking "expand all". | ||
</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 688: | Line 712: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>'''templatemode'''</td><td>'''Controls auto-categorization of host page.''' | <td>'''templatemode'''</td> | ||
<td> | |||
'''Controls auto-categorization of host page.''' | |||
Normally left blank. Alternate values are: | Normally left blank. Alternate values are: | ||
Line 704: | Line 730: | ||
If you want to add the infobox to an existing page, copy and paste the code at the [[#CutAndPaste|top of this page]]. | If you want to add the infobox to an existing page, copy and paste the code at the [[#CutAndPaste|top of this page]]. | ||
{{anchor|Create a new extension page|Create a new extension article}} | |||
=== Create a new extension page === | === Create a new extension page === | ||
If you want to create a new extension page, enter the name below and click the button. | If you want to create a new extension page, enter the name below and click the button. | ||
A new page will be created with the infobox template already in place. | A new page will be created with the infobox template already in place. | ||
Line 712: | Line 738: | ||
== Enhancing this template == | == Enhancing this template == | ||
If you would like to improve on this template, thanks! | If you would like to improve on this template, thanks! | ||
This is a complicated template so here is some help along the way: | This is a complicated template so here is some help along the way: | ||
Line 721: | Line 746: | ||
* '''{{ll|Template:Extension/Sample}}:''' The boilerplate extension that is preloaded into newly-created pages. | * '''{{ll|Template:Extension/Sample}}:''' The boilerplate extension that is preloaded into newly-created pages. | ||
* '''{{ll|Template:Extension/CreateExtensionInputBox}}:''' An input box that can be inserted wherever you want users to easily create extensions. For documentation on the | * '''{{ll|Template:Extension/CreateExtensionInputBox}}:''' An input box that can be inserted wherever you want users to easily create extensions. For documentation on the {{tag|inputbox|open}} tag, please see {{ll|Extension:InputBox|Extension:InputBox}}. | ||
=== Infobox parameters === | === Infobox parameters === | ||
Line 750: | Line 775: | ||
[[Special:WhatLinksHere/Template:Extension/vulnerabilities|vulnerabilities]], | [[Special:WhatLinksHere/Template:Extension/vulnerabilities|vulnerabilities]], | ||
[[Special:WhatLinksHere/Template:Extension/archived|archived]] | [[Special:WhatLinksHere/Template:Extension/archived|archived]] | ||
</noinclude> | </noinclude> |
Latest revision as of 03:33, 15 October 2021
<languages/> Lua error in Module:TNT at line 158: Missing JsonConfig extension; Cannot load https://commons.wikimedia.org/wiki/Data:I18n/Documentation.tab.[[Category:Template documentation pages{{#translation:}}]] Maintenance: vulnerabilities, archived