Template:Main other

From Anarchy Online Wiki [AOWiki]

{{#switch:

 {{#if: 
 | {{{demospace}}}    
 | {{#ifeq:Template|
   | main
   | other
   }} 
 }}

| main = | other | #default = }}

Template documentation[view] [edit] [history] [purge]

{{#ifeq:main other |doc

    | 

{{#ifeq:show |show

|
        }}{{#if: |
         |   {{#ifexist:Template:Main other
                  | [[Category:{{#switch:Template |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]]
                  |
                 }}
        }}
    | 
   }}

<templatestyles src="Template:Ombox/styles.css" />

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:

  1. redirect Template:Tlc


("Tlc" would imply "[T]emplate [l]ink in <[c]ode> font" � except Template:Tlc doesn't (as of August 2014) include a link. Hence this "Tc" redirect.)

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

{{#switch:
 {{#if:main 
 | main    
 | {{#ifeq:Template|
   | main
   | other
   }} 
 }}

| main = result if in mainspace | other | #default = result if elsewhere }}

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

{{#switch:
 {{#if: 
 | {{{demospace}}}    
 | {{#ifeq:Template|
   | main
   | other
   }} 
 }}

| main = result if in mainspace | other | #default = 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:

{{{{#if:main other |main other | tlf|...}}{{#ifeq:[[Category:Some article maintenance category]]|[[Category:Some article maintenance category]]| |[[Category:Some article maintenance category]] | }}{{#ifeq:x|| |{{{3}}} | }}{{#ifeq:x|| |{{{4}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}}

Note that guidelines do not support categorization in templates.

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

{{{{#if:main other |main other | tlf|...}}{{#ifeq: | | | | }}{{#ifeq:This template should only be used in articles.|This template should only be used in articles.| |This template should only be used in articles. | }}{{#ifeq:x|| |{{{4}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}}

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

{{{{#if:main other |main other | tlf|...}}{{#ifeq:result if in mainspace |result if in mainspace | |result if in mainspace | }}{{#ifeq:result if elsewhere |result if elsewhere | |result if elsewhere | }}{{#ifeq:demospace=main|demospace=main| |demospace=main | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}}

No matter on what kind of page the code above is used, it will return: {{#switch:

 {{#if:main 
 | main    
 | {{#ifeq:Template|
   | main
   | other
   }} 
 }}

| main = result if in mainspace | other | #default = result if elsewhere }}

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:

{{{{#if:main other |main other | tlf|...}}{{#ifeq:result if in mainspace |result if in mainspace | |result if in mainspace | }}{{#ifeq:result if elsewhere |result if elsewhere | |result if elsewhere | }}{{#ifeq:demospace={{{demospace|}}} |demospace={{{demospace|}}} | |demospace={{{demospace|}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}}

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 the documentation there.

Redirects[edit]


{{#ifeq:Main other|sandbox | |

}}

{{#if:|

[[Category:Template documentation pages{{#translation:}}]] }}