This template is used in system messages, and onapproximately 12,100,000 pages, or roughly 19% of all pages. Changes to it can cause immediate changes to the Wikipedia user interface. To avoid major disruption and server load, any changes should be tested in the template's/sandbox or/testcases subpages, or in your ownuser subpage. The tested changes can be added to this page in a single edit. Please discuss changes on thetalk page before implementing them.
This template helps other templates detect if they are on a main space (article) page or some "other" type of page.
Basic usage
This template usually takes two parameters, like this:
{{main other |result if in mainspace |result if elsewhere}}
If the template is on a main space (article) page, it will return this:
result if in mainspace
If the template is on any other page, it will return this:
result if elsewhere
A typical usage case would be to warn that a template should not be used on non-article pages:
{{main other | |This template should only be used in articles.}}
or vice versa:
{{main other |This template should not be used in articles.| }}
Note that in the first case above the "main" parameter was not used, and in the second example the "other" parameter was left empty.
Demospace
For testing and demonstration purposes, this template can take a parameter nameddemospace.
If it has the valuemain it returns the article text.
It if has the valueother or any other value such as the name of some other namespace it returns the other pages text.
If the parameter is empty or undefined, the actual page type determines the result.
Like this:
{{main other |result if in mainspace |result if elsewhere |demospace=main}}
No matter on what kind of page the code above is used, it will return:result if in mainspace
You can make it so your template also understands thedemospace parameter. That means you can demonstrate the different appearances of your template in the documentation for your template:
{{main other |result if in mainspace |result if elsewhere |demospace={{{demospace|}}} }}
Technical details
This template detects article "Talk:" pages as typeother.
This template works like{{main talk other}}. For more examples and technical details, see the documentation there.