Template:Template sandbox notice/doc

From escforumwiki
Jump to navigation Jump to search

This is the {{template sandbox notice}} template.

It can be placed on template /sandbox pages. It also detects when it is not on a /sandbox page and then shows nothing, thus it can be left in the code when copied and pasted to the main template. (Although most users remove the sandbox notice when they copy the code from the /sandbox to the main template. But beware, if the notice-not-sandbox parameter has been used then the sandbox notice must be copied with the rest of the template code. See more below.)

To learn more about how to use template /sandbox and /testcases subpages see Wikipedia:Template test cases.

Simple example

<!-- template code --><noinclude>

{{template sandbox notice}}
</noinclude>

Note! The template code must start directly before and physically touch the <noinclude> tag. Any blank space or newlines between the template code and the <noinclude> tag can cause the template to render unwanted spaces or newlines when used.

Non-standard "/sandbox" and "/testcases" names

This template uses case-insensitive matching, so will match "/Sandbox", "/SandBox", "/sAnDbOx" etc. without any special help.

If the /sandbox page has another name, for instance "/sandbag", then you need to tell the sandbox notice the name of the page, so that it knows when to show and when not to show itself. Like this:

<!-- Template code --><noinclude>

{{template sandbox notice | subpage-name=sandbag }}
</noinclude>

If the testcases page has another name, this may be specified using the testcases-name parameter:

<!-- Template code --><noinclude>

{{template sandbox notice | testcases-name=testbox}}
</noinclude>

Provided there is only one sandbox or testcases page in use for the particular main page, another option is to move the sandbox page to the standard "/sandbox" name, or testcases to "/testcases". That may be preferable since other templates and tools also assume that the sandbox uses that name, such as {{documentation}}.

Showing and hiding other things

The sandbox notice can also help showing and hiding other things depending on if it detects it is on the /sandbox page or not. Like this:

<!-- Template code --><noinclude>

{{template sandbox notice
| notice-for-sandbox = Text that shows on the /sandbox page.
| notice-not-sandbox = Text that will show on other pages.
}}
<!-- Text for all pages goes here -->
</noinclude>

Protection template example

The notice-not-sandbox parameter can for instance be used so a protection template can be placed already in the /sandbox version of the code. (See also Wikipedia:Protection policy.) Like this:

<!-- Template code --><noinclude>

{{template sandbox notice
| notice-not-sandbox = {{pp-semi-template|small=yes}}
}}
</noinclude>

Documentation example

Some templates have their documentation on a separate /doc page, and then show that documentation in a green doc box below the template code by using the {{documentation}} template. (See also Wikipedia:Template documentation.) Then place the sandbox notice like this:

<!-- Template code --><noinclude>

{{template sandbox notice}}
{{documentation}}
<!-- Add categories and interwikis to the /doc subpage, not here! -->
</noinclude>

Super deluxe example

This example handles both a protection template and a green doc box from a /doc page at the same time. (See also Wikipedia:Protection policy and Wikipedia:Template documentation.) Like this:

<!-- Template code --><noinclude>

{{template sandbox notice
| notice-for-sandbox = Text that shows on the /sandbox page.
| notice-not-sandbox = {{pp-semi-template|small=yes}}
}}
{{documentation}}
<!-- Add categories and interwikis to the /doc subpage, not here! -->
</noinclude>

Copy, paste & delete

The following "complete" example can be used to copy and paste into your template, then delete the parts you don't need:

<!-- Template code --><noinclude>

{{template sandbox notice
| notice-for-sandbox =
| notice-not-sandbox =
<!-- Protection templates as big message boxes -->
{{pp-dispute}}
{{pp-office}}
{{pp-move}}
{{pp-protected}}
{{pp-template}}
{{pp-usertalk}}
{{pp-vandalism}}
{{pp-semi-protected}}
{{pp-semi-sock}}
{{pp-semi-spambot}}
{{pp-semi-template}}
{{pp-semi-usertalk}}
{{pp-semi-vandalism}}
<!-- Protection templates as small icons -->
{{pp-dispute|small=yes}}
{{pp-office|small=yes}}
{{pp-move|small=yes}}
{{pp-protected|small=yes}}
{{pp-template|small=yes}}
{{pp-usertalk|small=yes}}
{{pp-vandalism|small=yes}}
{{pp-semi-protected|small=yes}}
{{pp-semi-sock|small=yes}}
{{pp-semi-spambot|small=yes}}
{{pp-semi-template|small=yes}}
{{pp-semi-usertalk|small=yes}}
{{pp-semi-vandalism|small=yes}}
<!-- End protection templates, stop deleting, keep next line -->
}}
<!-- Text for all pages goes here -->
{{documentation}}
<!-- Add categories and interwikis to the /doc subpage, not here! -->
</noinclude>

Technical details

If there is an accompanying "/testcases" page this template will detect that and show a link to the /testcases page.

This template categorises /sandbox pages into Category:Template sandboxes. If you don't want a page to be categorised then use the template like this:

{{template sandbox notice|category=}}

If you want to demonstrate the template on say Wikipedia:Template messages/Template namespace then you need to feed the subpage-name to make it show and feed an empty category parameter so it doesn't categorise the page. Like this:

{{template sandbox notice|subpage-name=Template namespace|category=}}

See also