Template:Main other/doc: Difference between revisions

Jump to navigation Jump to search
Reverted 2 edits by 2A0C:5A81:8318:E100:EC2C:F729:290:A4E9 (talk): Rv scribble
m (1 revision imported)
(Reverted 2 edits by 2A0C:5A81:8318:E100:EC2C:F729:290:A4E9 (talk): Rv scribble)
Line 1: Line 1:
{{documentation subpage}}
{{Documentation subpage}}
{{template shortcut|ns0}}
{{used in system}}
{{templatecrumbs}}
{{cascade-protected template}}
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
{{Template shortcut|ns0|mo|ao}}
<!-- PLEASE ADD CATEGORIES AT THE BOTTOM OF THIS PAGE -->


This is the {{tl|main other}} meta-template.
This is the {{tl|main other}} meta-template.
Line 8: Line 9:
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 ===
===Basic usage===
 
This template usually takes two parameters, like this:
This template usually takes two parameters, like this:
 
: {{Tlc|main other&#32;|{{var|result if in mainspace}}&#32;|{{var|result if elsewhere}}}}
<pre>
{{main other | Article text | Other pages text }}
</pre>


If the template is on a main space (article) page, it will return this:
If the template is on a main space (article) page, it will return this:
 
: {{main other |demospace=main |{{var|result if in mainspace}} |{{var|result if elsewhere}} }}
:{{main other | demospace=main | Article text | Other pages text }}


If the template is on any other page, it will return this:
If the template is on any other page, it will return this:
: {{main other |{{var|result if in mainspace}} |{{var|result if elsewhere}} }}


:{{main other | Article text | Other pages text }}
A typical usage case would be to warn that a template should not be used on non-article pages:
 
: {{Tlc|main other&#32;|&#32;|This template should only be used in articles.}}
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:
or vice versa:
 
: {{Tlc|main other&#32;|This template should not be used in articles.|&#32;}}
<pre>
{{main other | [[Category:Some article maintenance category]] }}
</pre>
 
Or to warn that a template should not be used on other pages:
 
<pre>
{{main other | | This template should only be used in articles. }}
</pre>
 
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 ===


For testing and demonstration purposes this template can take a parameter named '''demospace'''.  
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 named '''demospace'''.
* If it has the value '''main''' it returns the article text.
* 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.
* It if has the value '''other''' or any other value such as the name of some other namespace it returns the other pages text.
Line 47: Line 33:


Like this:
Like this:
: {{tlc|main other&#32;|{{var|result if in mainspace}}&#32;|{{var|result if elsewhere}}&#32;|demospace{{=}}main}}


<pre>
No matter on what kind of page the code above is used, it will return: {{main other |{{var|result if in mainspace}} |{{var|result if elsewhere}} |demospace=main}}
{{main other  
| Article text
| Other pages text
| demospace = main
}}
</pre>


No matter on what kind of page the code above is used it will return this:
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:
: {{tlc|main other&#32;|{{var|result if in mainspace}}&#32;|{{var|result if elsewhere}}&#32;|<nowiki>demospace={{{demospace|}}}</nowiki>&#32;}}


:{{main other  
===Technical details===
| Article text
This template detects article "Talk:" pages as type '''other'''.
| Other pages text
| demospace = main
}}


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:
This template works like {{tl|main talk other}}. For more examples and technical details, see the documentation there.
 
<pre>
{{main other  
| Article text
| Other pages text
| demospace = {{{demospace|}}}
}}
</pre>
 
=== Technical details ===
 
This template detects article "Talk:" pages as type '''other'''.


This template works like {{tl|main talk other}}, for more examples and technical details see full documentation there.
<templatedata>
{
"params": {
"1": {
"label": "If mainspace",
"description": "Content if page is located in mainspace (i.e. article space)",
"type": "content"
},
"2": {
"label": "If not mainspace",
"description": "Content if page is not located in mainspace",
"type": "content"
}
}
}
</templatedata>


=== See also ===
===Redirects===
* {{tl|article only}}
* {{tl|article other}}


{{namespace detect see also}}
{{Namespace and pagename-detecting templates}}


<includeonly>
<includeonly>{{Sandbox other||
<!-- CATEGORIES AND INTERWIKIS HERE, THANKS -->
[[Category:Namespace manipulation templates]]
[[Category:Namespace manipulation templates]]
</includeonly>
[[Category:If-then-else templates]]
}}</includeonly>

Navigation menu