Jump to content

Template:Main other/doc

From Wikisource

This is the {{main other}} meta-template.

This template helps other templates detect if they are on a main space (article) page or some "other" type of page.

Basic usage

[edit]

This template usually takes two parameters, like this:

{{main other | Article text | Other pages text }}

If the template is on a main space (article) page, it will return this:

Article text

If the template is on any other page, it will return this:

Other pages text

A typical usage case could be to make it so that a template only adds a category when on an article. Thus not adding other pages that just show the template. Like this:

{{main other | [[Category:Some article maintenance category]] }}

Or to warn that a template should not be used on other pages:

{{main other | | This template should only be used in articles. }}

Note that in the first case above the "other" parameter was not used, and in the second example the "main" parameter was left empty.

Demospace

[edit]

For testing and demonstration purposes this template can take a parameter named demospace.

  • If it has the value main it returns the article text.
  • If it has the value other 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 
| Article text 
| Other pages text 
| demospace = main
}}

No matter on what kind of page the code above is used it will return this:

Article text

You can make it so your template also understands the demospace parameter. That means you can demonstrate the different appearances of your template in the documentation for your template. Then do like this:

{{main other 
| Article text 
| Other pages text 
| demospace = {{{demospace|}}}
}}

Technical details

[edit]

This template detects article "Talk:" pages as type other.

This template works like {{main talk other}}, for more examples and technical details see full documentation there.

See also

[edit]
  • {{Page other}}: for content that varies between the Page: namespace and all other namespaces
  • {{Page index other}}: for content that varies between the Page: namespace, Index: namespace, and all other namespaces
  • {{Namespace detect}}: general purpose template for any content that varies between namespaces
  • {{Namespace link}}: for links that vary between namespaces
  • {{Double link}}: for links in the Page: namespace that vary when in the Page: or mainspace
  • {{Scan page link}}: for auto-offset page links in the Page: namespace, that vary when in Page: Index: or mainspace
  • {{TOC link}}: for table of contents page links in the Page: namesapce, that vary when in Page: Index: or mainspace