Difference between revisions of "Template:Extension"

From WPRDC Wiki
Jump to navigation Jump to search
>Jack Phoenix
(enough with people puttng GFDL or other license to rights, since it's meant for rights added by the $wgAvailableRights hook)
>Eep
("special page"and "parser function" type alternate triggers, separated pipes for easier editing, multiple type fields)
Line 18: Line 18:
{{#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]]|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>}}
<!-- -->{{!}} {{#switch: {{lc: {{{type}}}}}
{{extensiontype}}|{{{type}}}<includeonly>[[Category:Extensions with invalid or missing type]]</includeonly>}}
}}
|-
{{#if:{{{type2<includeonly>|</includeonly>}}}|
<!-- -->{{!}} style="vertical-align: top" {{!}} '''Type2'''
<!-- -->{{!}} {{#switch: {{lc: {{{type2}}}}}
{{extensiontype}}|{{{type2}}}<includeonly>[[Category:Extensions with invalid or missing type]]</includeonly>}}
}}
}}
|-
|-
Line 77: Line 84:
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.
|-
|-
| '''type''' || '''type of extension'''
| '''type''' || '''extension type'''
Can contain any value, but the following special values ensure proper categorisation:
Can contain any value, but the following special values ensure proper categorisation:
* ''[[:Category:Parser function extensions|pfunc]]'' - Parser function
* ''[[:Category:Parser function extensions|pfunc]]'' (or ''parser function'') - Parser function
* ''[[:Category:Parser extensions|parser]]'' - Parser extension (new tag)
* ''[[:Category:Parser extensions|parser]]'' - Parser extension
* ''parser,pfunc'' - available as parser function ''and'' as parser extension (places extension in both categories)
* ''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]]'' (or ''special page'') - 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 extension, hook, and special page (places extension in each category)
* ''parser, hook, special'' - Parser extension, hook, special page (places extension in each category)
* ''[[:Category:Extension examples|example]]'' - Not a real extension, but an example of how to write one
* ''[[:Category:Extension examples|example]]'' - Not a real extension, but an example of how to write one
* ''[[:Category:Category extensions|category]]'' - Category
* ''[[:Category:Category extensions|category]]'' - Category
Line 91: Line 98:
* ''[[:Category:List extensions|list]]'' - List
* ''[[:Category:List extensions|list]]'' - List
* ''[[:Category:Table extensions|table]]'' - Table
* ''[[: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]].
Obviously, better template coding to allow multiple types without having to create separate syntax for all possible combinations is needed--perhaps repeating the type switch field several times (at least 3-5) into "type1", "type2", etc.
 
Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type]].
|-
| '''type2''' || '''extension type'''
Same as above; for multiple types. Enter a single type, not separated by commas.
|-
|-
| 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).
| 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).

Revision as of 08:44, 11 August 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

This is a MediaWiki Extension
Crystal Clear action run.png
Extension

Release status: unknown

Placeholder.png
Type {{{type}}}
Type2 {{{type2}}}
Description {{{description}}}
Author {{{author}}}
Version {{{version}}}
MediaWiki {{{mediawiki}}}
Download {{{download}}}
Parameters {{{parameters}}}
Added rights {{{rights}}}
Example {{{example}}}



Usage

Parameters
name name of the extension
status current release status

One of:

  • unstable (broken - do not use this extension)
  • experimental (early stages of development, may change drastically.)
  • beta (stable but not fully tested)
  • stable (stable version)
  • 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 unknown. In cases where the value is invalid, it will be placed in a special category so that the error can be caught and fixed.

type extension type

Can contain any value, but the following special values ensure proper categorisation:

  • pfunc (or parser function) - Parser function
  • parser - Parser extension
  • parser,pfunc - available as parser function and as parser extension (places extension in both categories)
  • hook - Hook extension (using $wgHooks)
  • special (or special page) - Special page
  • interface - User interface extension (e.g. javascript code)
  • parser, hook, special - Parser extension, hook, special page (places extension in each category)
  • example - Not a real extension, but an example of how to write one
  • category - Category
  • form - Form
  • list - List
  • table - Table

Obviously, better template coding to allow multiple types without having to create separate syntax for all possible combinations is needed--perhaps repeating the type switch field several times (at least 3-5) into "type1", "type2", etc.

Any other value for 'type' is invalid, and will cause the extension to be placed in Category:Extensions with invalid or missing type.

type2 extension type

Same as above; for multiple types. Enter a single type, not separated by commas.

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). 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)
version last version
update date of the last update
mediawiki required version of MediaWiki
download link to the download : SVN or other
readme link to the readme file : README or other
changelog link to the changelog file : CHANGELOG or other
description short description
parameters available parameters for LocalSettings.php
rights rights added by the extension. Not to be confused with the license! Rights are such as makebot or desesyop, not such as GFDL or LGPL or GPL - those are licenses!
example example, website or screenshot of working extension

Using the infobox

Existing extension pages

If 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 article

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.