Difference between revisions of "Template:CatMainOther/doc"

m
m
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
<includeonly>{{template doc page transcluded}}</includeonly><noinclude>{{template doc page viewed directly}}</noinclude>
+
{{documentation}}
 
<!-- EDIT TEMPLATE DOCUMENTATION BELOW THIS LINE -->
 
<!-- EDIT TEMPLATE DOCUMENTATION BELOW THIS LINE -->
 
==Purpose==
 
==Purpose==
 
* This template helps other templates detect if they are on a main space (article) page or some "other" type of page.
 
* This template helps other templates detect if they are on a main space (article) page or some "other" type of page.
  
===Basic usage===
+
==Usage==
 
This template usually takes two parameters, like this:
 
This template usually takes two parameters, like this:
 
: <pre>{{CatMainOther |result if in mainspace |result if elsewhere}}</pre>
 
: <pre>{{CatMainOther |result if in mainspace |result if elsewhere}}</pre>
Line 23: Line 23:
 
Note that in the first case above the "other" parameter was not used, and in the second example the "main" parameter was left empty.
 
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===
+
==Advanced Usage==
 
For testing and demonstration purposes, this template can take a parameter named '''demospace'''.  
 
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 '''main''' it returns the article text.
Line 37: Line 37:
 
: <pre>{{CatMainOther |result if in mainspace |result if elsewhere |demospace={{{demospace|}}} }}</pre>
 
: <pre>{{CatMainOther |result if in mainspace |result if elsewhere |demospace={{{demospace|}}} }}</pre>
  
===Technical details===
 
 
This template detects article "Talk:" pages as type '''other'''.
 
This template detects article "Talk:" pages as type '''other'''.
 
  
 
<includeonly>
 
<includeonly>
 
<!-- ADD CATEGORIES BELOW THIS LINE -->
 
<!-- ADD CATEGORIES BELOW THIS LINE -->
[[Category:Maintenance templates|{{PAGENAME}}]]
+
[[Category:Utility templates|{{PAGENAME}}]]
 
+
[[Category:Templates]]
 
 
 
</includeonly>
 
</includeonly>

Revision as of 14:22, 8 October 2021

Purpose

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

Usage

This template usually takes two parameters, like this:

{{CatMainOther |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 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:

{{CatMainOther |[[Category:Some article maintenance category]]}}

Note that guidelines do not support categorization in templates.

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

{{CatMainOther | |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.

Advanced Usage

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

  • If it has the value main it returns the article text.
  • It if 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:

{{CatMainOther |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 the demospace parameter. That means you can demonstrate the different appearances of your template in the documentation for your template:

{{CatMainOther |result if in mainspace |result if elsewhere |demospace={{{demospace|}}} }}

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