Toggle menu
15
236
70
27.6K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Template other/doc: Difference between revisions

Template page
No edit summary
No edit summary
Line 1: Line 1:
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
{{Documentation subpage}}
{{Template shortcut|ns10}}
{{High-risk||yes}}
{{cascade-protected template}}
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->


This is the {{tl|template other}} meta-template.
This is a meta-template which helps other templates detect whether they are used in the "Template:" namespace.


It helps other templates detect if they are on a "Template:" page or some "other" type of page.
==Usage==
This template usually takes one or two parameters:
: {{tc|Template other&nbsp;|''[result/action if on a template page]''&#32;(|''[result/action if on another type of page]'')}}


=== Usage ===
For example, if {{tlf|Template other&#32;|On template page&#32;|Not on template page}} were on a "Template:" page, it would return:
: {{Template other |On template page |Not on template page}}
On any other type of page (e.g. "Wikipedia:", "User:") it would return:
: {{Template other|demospace=other |On template page |Not on template page}}


This template usually takes two parameters, like this:
A typical use is to manage the categorization of template pages. Adding {{tlf|Template other&nbsp;|&#32;|{{!((}}Category:''[category name]''{{))!}}}} to a template, for instance, means it would only categorize a page when that page isn't a template page. (The first parameter consists of nothing, so no action taken if/when the template is on a template page.)


<pre>
==Demospace==
{{template other | Template page text | Other pages text }}
The parameter {{mono|demospace}} can be used to demonstrate or test this template. By default, it is undefined and has no effect on the template's action, but:
</pre>
* when set as "template" ({{para|demospace|template}}), it prompts the template to return the ''first'' result/action above (i.e. to behave as if on a "Template:" page) even if the template is on a different type of page;
 
* when set as "other" ({{para|demospace|other}}), it prompts the template to return the ''second'' result/action above (i.e. to behave as if not on a "Template:" page) even if the template is on a "Template:" page.
If the template is on a "Template:" page, it will return this:
For example:
 
<syntaxhighlight lang="wikitext">
:{{template other | Template page text | Other pages text }}
{{Template other
 
| demospace = template
If the template is on any other page, it will return this:
 
:{{template other | demospace=other | Template page text | Other pages text }}
 
A typical usage case could be to make it so that a template only adds a category when not on a template page. Thus not adding the template itself and other templates that are built with it to the category. Like this:
 
<pre>
{{template other | | [[Category:Some maintenance category]] }}
</pre>
 
Note that in the example above the "template" parameter was left empty.
 
=== Demospace ===
 
For testing and demonstration purposes this template can take a parameter named '''demospace'''.  
 
* If it has the value '''template''' it returns the template page 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:
 
<pre>
{{template other
| Template page text  
| Template page text  
| Other pages text  
| Other pages text  
}}
</syntaxhighlight>
No matter on what kind of page the code above is used, it returns:
{{Template other
| demospace = template
| demospace = template
}}
</pre>
No matter on what kind of page the code above is used it will return this:
:{{template other
| Template page text  
| Template page text  
| Other pages text  
| Other pages text  
| demospace = template
}}
}}


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


<pre>
<syntaxhighlight lang="wikitext">
{{template other  
{{template other  
| Template page text  
| Template page text  
Line 63: Line 45:
| demospace = {{{demospace|}}}
| demospace = {{{demospace|}}}
}}
}}
</pre>
</syntaxhighlight>
 
=== Technical details ===


This template detects "Template talk:" pages as type '''other'''.
==Technical details==
This template detects "Template talk:" pages as type '''other'''. For more details relevant to this template, see {{tl|Main talk other}}, which works similarly.


This template works like [[w:Template:main talk other]], for more examples and technical details see full documentation there.


<includeonly>
{{Namespace and pagename-detecting templates}}
<!-- CATEGORIES AND INTERWIKIS HERE, THANKS -->
[[Category:Utility templates]]


</includeonly>
<includeonly>{{sandbox other||
<!-- Categories below this line, please; interwikis at Wikidata -->
[[Category:Namespace manipulation templates]]
[[Category:Template namespace templates]]
}}</includeonly>

Revision as of 03:51, 17 February 2025

Template:High-risk Template:Cascade-protected template

This is a meta-template which helps other templates detect whether they are used in the "Template:" namespace.

Usage

This template usually takes one or two parameters:

{{Template other |[result/action if on a template page] (|[result/action if on another type of page])}}

For example, if {{Template other |On template page |Not on template page}} were on a "Template:" page, it would return:

On template page

On any other type of page (e.g. "Wikipedia:", "User:") it would return:

Not on template page

A typical use is to manage the categorization of template pages. Adding {{Template other | |[[Category:[category name]]]}} to a template, for instance, means it would only categorize a page when that page isn't a template page. (The first parameter consists of nothing, so no action taken if/when the template is on a template page.)

Demospace

The parameter demospace can be used to demonstrate or test this template. By default, it is undefined and has no effect on the template's action, but:

  • when set as "template" (|demospace=template), it prompts the template to return the first result/action above (i.e. to behave as if on a "Template:" page) even if the template is on a different type of page;
  • when set as "other" (|demospace=other), it prompts the template to return the second result/action above (i.e. to behave as if not on a "Template:" page) even if the template is on a "Template:" page.

For example:

{{Template other
| demospace = template
| Template page text 
| Other pages text 
}}

No matter on what kind of page the code above is used, it returns: Template page 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:

{{template other 
| Template page text 
| Other pages text 
| demospace = {{{demospace|}}}
}}

Technical details

This template detects "Template talk:" pages as type other. For more details relevant to this template, see {{Main talk other}}, which works similarly.