Template:IP-user other/doc

This is the IP-user other meta-template.

This template helps other templates detect if they are on an IP-user page or some "other" type of page. It detects both the subject page and talk page of an IP-user as "IP-user". It also detects the subpages and subsubpages of an IP-user, for instance it considers "User:12.34.56.78/subpage" as "IP-user".

Usage
This template usually takes two parameters, like this:

If this template is on an IP-user page, it will return this:



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



The "page" parameter
This template can take a parameter named page. Like this:

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



The page parameter makes this template behave exactly as if on that page. The pagename doesn't have to be an existing page.

If the parameter is empty or undefined, the name of the current page determines the result.

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

Technical details
Templates have a problem to handle parameter data that contains equal signs " ". But that is easily solved by using numbered parameters. Like this:

If your template is using tables, then you need to know this:

Templates have a problem to handle parameter data that contains pipes " ", unless the pipe is inside another template  or inside a piped link. Thus templates can not handle wikitables as input unless you escape them by using the template. This makes it hard to use wikitables as parameters to templates. Instead the usual solution is to use "HTML wikimarkup" for the table code, which is more robust.

For more technical details, see the talk page.