Difference between revisions of "Template:Extension"
>Eep m (2nd try...) |
>Eep (-:, case fixes, more types--better coding needed!) |
||
Line 17: | Line 17: | ||
|- | |- | ||
{{#if:{{{type<includeonly>|</includeonly>}}}| | {{#if:{{{type<includeonly>|</includeonly>}}}| | ||
<!-- -->{{!}} style="vertical-align: top" {{!}} '''Type | <!-- -->{{!}} style="vertical-align: top" {{!}} '''Type''' | ||
<!-- -->{{!}} {{#switch: {{lc: {{{type}}}}}|special=Special page[[Category:Special page extensions]]|pfunc=[[Extension:Parser function extensions|Parser function]][[Category:Parser function extensions]]|parser=Parser extension[[Category:Parser extensions]]|parser,pfunc=[[Extension:Parser function extensions|Parser function]][[Category:Parser function extensions]] and Parser extension[[Category:Parser extensions]]|hook=Hook[[Category:Hook extensions]]|interface=User interface[[Category:User interface extensions]]|parser, hook, special=Parser extension[[Category:Parser extensions]], hook[[Category:Hook extensions]], and special page[[Category:Special page extensions]]|example=Example[[Category:Extension examples]]|{{{type}}}<includeonly>[[Category: | <!-- -->{{!}} {{#switch: {{lc: {{{type}}}}}|special=Special page[[Category:Special page extensions]]|pfunc=[[Extension:Parser function extensions|Parser function]][[Category:Parser function extensions]]|parser=Parser extension[[Category:Parser extensions]]|parser,pfunc=[[Extension:Parser function extensions|Parser function]][[Category:Parser function extensions]] and Parser extension[[Category:Parser extensions]]|hook=Hook[[Category:Hook extensions]]|interface=User interface[[Category:User interface extensions]]|parser, hook, special=Parser extension[[Category:Parser extensions]], hook[[Category:Hook extensions]], and special page[[Category:Special page extensions]]|example=Example[[Category:Extension examples]]|category=Category[[Category:Category extensions]]|table=Table[[Category:Table extensions]]|list=List[[Category:List extensions]]|form=Form[[Category:Form extensions]]|{{{type}}}<includeonly>[[Category:Extensions with invalid or missing type]]</includeonly>}} | ||
}} | }} | ||
|- | |- | ||
| style="vertical-align: top" | '''Description | | style="vertical-align: top" | '''Description''' || {{{description}}} | ||
|- | |- | ||
{{#if:{{{author|{{{username<includeonly>|</includeonly>}}}}}}| | {{#if:{{{author|{{{username<includeonly>|</includeonly>}}}}}}| | ||
<!-- -->{{!}} style="vertical-align: top" {{!}} '''Author | <!-- -->{{!}} style="vertical-align: top" {{!}} '''Author''' | ||
<!-- -->{{!}} {{#if: {{{username|}}} | {{#ifeq: {{{username}}}|{{{author|{{{username}}}}}}||{{{author}}} (}}[[User:{{{username}}}|{{{username}}}]] <sup><small>[[User talk:{{{username}}}|talk]]</small></sup>{{#ifeq: {{{username}}}|{{{author|{{{username}}}}}}||)}} | {{{author}}} }} | <!-- -->{{!}} {{#if: {{{username|}}} | {{#ifeq: {{{username}}}|{{{author|{{{username}}}}}}||{{{author}}} (}}[[User:{{{username}}}|{{{username}}}]] <sup><small>[[User talk:{{{username}}}|talk]]</small></sup>{{#ifeq: {{{username}}}|{{{author|{{{username}}}}}}||)}} | {{{author}}} }} | ||
}} | }} | ||
|- | |- | ||
{{#if:{{{version<includeonly>|</includeonly>}}}| | {{#if:{{{version<includeonly>|</includeonly>}}}| | ||
<!-- -->{{!}} style="vertical-align: top" {{!}} '''Version | <!-- -->{{!}} style="vertical-align: top" {{!}} '''Version''' | ||
<!-- -->{{!}} {{{version}}}{{#if:{{{update|}}}| ({{{update}}})}} | <!-- -->{{!}} {{{version}}}{{#if:{{{update|}}}| ({{{update}}})}} | ||
}} | }} | ||
|- | |- | ||
{{#if:{{{mediawiki<includeonly>|</includeonly>}}}| | {{#if:{{{mediawiki<includeonly>|</includeonly>}}}| | ||
<!-- -->{{!}} style="vertical-align: top" {{!}} '''MediaWiki | <!-- -->{{!}} style="vertical-align: top" {{!}} '''MediaWiki''' | ||
<!-- -->{{!}} {{{mediawiki}}} | <!-- -->{{!}} {{{mediawiki}}} | ||
}} | }} | ||
|- | |- | ||
| style="vertical-align: top" | '''Download | | style="vertical-align: top" | '''Download''' || {{{download<includeonly>|''no link''</includeonly>}}}{{#if:{{{readme|}}}|<br />{{{readme}}}}}{{#if:{{{changelog|}}}|<br />{{{changelog}}}}} | ||
|- | |- | ||
{{#if:{{{parameters<includeonly>|</includeonly>}}}| | {{#if:{{{parameters<includeonly>|</includeonly>}}}| | ||
<!-- -->{{!}} style="vertical-align: top" {{!}} '''Parameters | <!-- -->{{!}} style="vertical-align: top" {{!}} '''Parameters''' | ||
<!-- -->{{!}} {{{parameters}}} | <!-- -->{{!}} {{{parameters}}} | ||
}} | }} | ||
|- | |- | ||
{{#if:{{{rights<includeonly>|</includeonly>}}}| | {{#if:{{{rights<includeonly>|</includeonly>}}}| | ||
<!-- -->{{!}} style="vertical-align: top" {{!}} '''Added rights | <!-- -->{{!}} style="vertical-align: top" {{!}} '''Added rights''' | ||
<!-- -->{{!}} {{{rights}}} | <!-- -->{{!}} {{{rights}}} | ||
}} | }} | ||
|- | |- | ||
{{#if:{{{example<includeonly>|</includeonly>}}}| | {{#if:{{{example<includeonly>|</includeonly>}}}| | ||
<!-- -->{{!}} style="vertical-align: top" {{!}} '''Example | <!-- -->{{!}} style="vertical-align: top" {{!}} '''Example''' | ||
<!-- -->{{!}} {{{example}}} | <!-- -->{{!}} {{{example}}} | ||
}} | }} | ||
Line 70: | Line 70: | ||
| '''status''' || '''current release status''' | | '''status''' || '''current release status''' | ||
One of: | One of: | ||
* ''[[: | * ''[[:Category:Unstable extensions|unstable]]'' (broken - do not use this extension) | ||
* ''[[: | * ''[[:Category:Experimental extensions|experimental]]'' (early stages of development, may change drastically.) | ||
* ''[[: | * ''[[:Category:Beta status extensions|beta]]'' (stable but not fully tested) | ||
* ''[[: | * ''[[:Category:Stable extensions|stable]]'' (stable version) | ||
* ''[[: | * ''[[:Category:Extensions with unknown status|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. In cases where the value is omitted, it will be categorised as [[:category:extensions with unknown status|unknown]]. In cases where the value is invalid, it will be placed in a [[:category:extensions with invalid status|special category]] so that the error can be caught and fixed. | 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 categorised as [[:category:extensions with unknown status|unknown]]. In cases where the value is invalid, it will be placed in a [[:category:extensions with invalid status|special category]] so that the error can be caught and fixed. | ||
|- | |- | ||
Line 81: | Line 81: | ||
* ''[[:Category:Parser function extensions|pfunc]]'' - Parser function | * ''[[:Category:Parser function extensions|pfunc]]'' - Parser function | ||
* ''[[:Category:Parser extensions|parser]]'' - Parser extension (new tag) | * ''[[:Category:Parser extensions|parser]]'' - Parser extension (new tag) | ||
* ''parser,pfunc'' - available as | * ''parser,pfunc'' - available as parser function ''and'' as parser extension (places extension in both categories) | ||
* ''[[:Category:Hook extensions|hook]]'' - Hook extension (using $wgHooks) | * ''[[:Category:Hook extensions|hook]]'' - Hook extension (using $wgHooks) | ||
* ''[[:Category:Special page extensions|special]]'' - Special page | * ''[[:Category:Special page extensions|special]]'' - Special page | ||
* ''[[:Category:User interface extensions|interface]]'' - User interface extension (e.g. javascript code) | * ''[[:Category:User interface extensions|interface]]'' - User interface extension (e.g. javascript code) | ||
* ''parser, hook, special'' | * ''parser, hook, special'' - Parser extension, hook, and special page (places extension in each category) | ||
* ''[[:Category:Extension examples|example]]'' - | * ''[[:Category:Extension examples|example]]'' - Not a real extension, but an example of how to write one | ||
Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category: | * ''[[:Category:Category extensions|category]]'' - Category | ||
* ''[[:Category:Form extensions|form]]'' - Form | |||
* ''[[:Category:List extensions|list]]'' - List | |||
* ''[[:Category:Table extensions|table]]'' - Table | |||
(Obviously, better template coding to allow multiple types without having to create separate syntax for all possible combinations is needed.) Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type]]. | |||
|- | |- | ||
| author || The extension author's name, if different from their MediaWiki.org username. | | author || The extension author's name, if different from their MediaWiki.org username. Free text. If omitted then the 'username' field will be used (if present). | ||
|- | |- | ||
| username || The author's username on MediaWiki.org (if they have one). | | 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. | ||
|- | |- | ||
| image || screenshot (of base 270px) | | image || screenshot (of base 270px) | ||
Line 121: | Line 125: | ||
<nowiki>{{Extension | <nowiki>{{Extension | ||
|name | |name = | ||
|status | |status = | ||
|type | |type = | ||
|author | |author = | ||
|username | |username = | ||
|image | |image = | ||
|version | |version = | ||
|update | |update = | ||
|mediawiki = | |mediawiki = | ||
|download | |download = | ||
|readme | |readme = | ||
|changelog = | |changelog = | ||
|description = | |description = | ||
|parameters= | |parameters = | ||
|rights | |rights = | ||
|example | |example = | ||
}}</nowiki> | }}</nowiki> | ||
=== Create a new extension article === | === Create a new extension article === | ||
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. | ||
<inputbox> | <inputbox> | ||
Line 150: | Line 154: | ||
buttonlabel=Create a new Extension (replace "MyExtension" with the correct name) | buttonlabel=Create a new Extension (replace "MyExtension" with the correct name) | ||
</inputbox> | </inputbox> | ||
[[Category:Info templates|{{PAGENAME}}]][[ | [[Category:Info templates|{{PAGENAME}}]][[Category:Extension creation]] | ||
</noinclude> | </noinclude> |
Revision as of 02:27, 30 July 2007
Purpose
This template should be added to the main page of all extensions 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 extension to Category:All extensions, plus the appropriate status and type categories.
Example
Extension Release status: unknown | |
---|---|
Type | {{{type}}} |
Description | {{{description}}} |
Author | {{{author}}} |
Version | {{{version}}} |
MediaWiki | {{{mediawiki}}} |
Download | {{{download}}} |
Parameters | {{{parameters}}} |
Added rights | {{{rights}}} |
Example | {{{example}}} |
Usage
Using the infoboxExisting extension pagesIf you want to add the infobox to an existing page, copy and paste the following code and add it to the top: {{Extension |name = |status = |type = |author = |username = |image = |version = |update = |mediawiki = |download = |readme = |changelog = |description = |parameters = |rights = |example = }} Create a new extension articleIf 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. |