User:Johan G/Messagebox: Difference between revisions
(Finally getting to this) |
(Some further) |
||
Line 1: | Line 1: | ||
{| class="wikitable" <!-- Begin box --> | {| class="wikitable" <!-- Begin box --> | ||
| | | | ||
{{#switch: {{lc: {{{box|top}}} }} <!-- What type of box? --> | {{#switch: {{lc: {{{box|top}}} }} <!-- What type of box? --> | ||
| box = | | box = | ||
box | box | ||
Line 8: | Line 8: | ||
| top | | top | ||
| #default = | | #default = | ||
top | {{#ifeq: {{{box|top}}} | top <!-- Is there an unspecified or valid type of box specified? --> | ||
}};<!-- | | <!-- Yes, the type of box is unspecified or a valid type of box is specified --> | ||
-->{{#switch: {{lc: {{{style|notice}}} }} <!-- Which colours to use? --> | top | ||
| <!-- No, an invalid type of box is specified --> | |||
invalid box type | |||
}} | |||
}};<!-- | |||
-->{{#switch: {{lc: {{{style|notice}}} }} <!-- Which colours to use? --> | |||
| immediate = | | immediate = | ||
immediate | immediate | ||
Line 23: | Line 28: | ||
| notice | | notice | ||
| #default = | | #default = | ||
notice | {{#ifeq: {{{style|notice}}} | notice <!-- Is there an unspecified or valid type of box specified? --> | ||
}};<!-- | | <!-- Yes, the box style is unspecified or a valid box style is specified --> | ||
-->{{#if: {{{image|}}} <!-- Is there an image? --> | notice | ||
| | | <!-- No, an invalid box style is specified --> | ||
image | invalid box style | ||
| | }} | ||
}};<!-- | |||
-->{{#if: {{{image|}}} <!-- Is there an image? --> | |||
| <!-- Yes, there is an image --> | |||
{{#ifeq: {{IsNum| {{{image-width|1}}} }} | 1 <!-- Is there a valid or unspecified custom image width? --> | |||
| <!-- Yes, there is a valid or unspecified custom image width --> | |||
{{#if: {{{image-width|}}} <!-- Was there a custom image width specified? --> | |||
| <!-- Yes, use the specified custom image width --> | |||
custom image width | |||
| <!-- No custom image width specified, use standard widths --> | |||
{{#if: {{{oneliner|}}} <!-- Oneliner or not? (For image size) --> | |||
| | |||
standard oneliner image width | |||
| | |||
standard multiliner image width | |||
}} | |||
}};<!-- | |||
-->{{#switch: {{{image|}}} <!-- Is icon shortcuts used? --> | |||
| /!\ = | |||
/!\ | |||
| (!) = | |||
(!) | |||
| (?) = | |||
(?) | |||
| (i) = | |||
(i) | |||
| (x) = | |||
(x) | |||
| U = | |||
U | |||
| #default = <!-- Or is a custom image used?? --> | |||
{{#ifexist: File:{{{image|ai.png}}} <!-- Does the specified custom image exist? --> <!-- REMINDER: Remove File:ai.png link later on! --> | |||
| <!-- Yes, the specified image exist --> | |||
{{{image|image}}} | |||
| <!-- No the specified image does not exist --> | |||
non-existent image | |||
}} | |||
}} | |||
| <!-- No, an invalid custom image width was specified --> | |||
custom image width not a number | |||
}} | |||
| <!-- No there is no image --> | |||
no image | no image | ||
}};<!-- | |||
-->{{# | -->{{#if: {{{oneliner|}}} | ||
| <!-- Oneliner or not? (For text padding) --> | |||
oneliner text padding | |||
| <!-- Not a oneliner --> | | <!-- Not a oneliner --> | ||
multiliner text padding | |||
}};<!-- | |||
-->{{{title|title}}};<!-- | -->{{{title|title}}};<!-- | ||
-->{{{text|text}}} | -->{{{text|text}}} | ||
|} | |}<!-- End box | ||
<!-- End box | |||
--><!-- Snippet with automatic categorisation | --><!-- Snippet with automatic categorisation | ||
Line 72: | Line 113: | ||
<nowiki>|</nowiki> ''image'' = | <nowiki>|</nowiki> ''image'' = | ||
<nowiki>|</nowiki> ''image-width'' = | <nowiki>|</nowiki> ''image-width'' = | ||
<!-- | |||
Hiding these for a while | |||
<nowiki>|</nowiki> ''box-style'' = | <nowiki>|</nowiki> ''box-style'' = | ||
<nowiki>|</nowiki> ''text-style'' = | <nowiki>|</nowiki> ''text-style'' = | ||
<nowiki>|</nowiki> ''image-style'' = | <nowiki>|</nowiki> ''image-style'' = --> | ||
<nowiki>|</nowiki> ''page'' = | <nowiki>|</nowiki> ''page'' = | ||
Line 93: | Line 137: | ||
;style: Style of the messagebox. Valid values are '''immediate''', '''danger''', '''caution''', '''notice''', '''tip''' and '''protected'''. Defaults to '''notice'''. | ;style: Style of the messagebox. Valid values are '''immediate''', '''danger''', '''caution''', '''notice''', '''tip''' and '''protected'''. Defaults to '''notice'''. | ||
;one-liner: Makes the messagebox a one-liner if | ;one-liner: Makes the messagebox a one-liner if not empty. | ||
;image: Image or icon to use excluding the '''File:''' namespace prefix, for example '''Cleanup.png'''. Instead of an image name a shortcut can be used. When using the shortcuts the icons will automatically get the right colour for the style. Valid icon shortcuts are: '''/!\''', '''(!)''', '''(?)''', '''(i)''', '''(x)''' and '''U''' (for padlock). | ;image: Image or icon to use excluding the '''File:''' namespace prefix, for example '''Cleanup.png'''. Instead of an image name a shortcut can be used. When using the shortcuts the icons will automatically get the right colour for the style. Valid icon shortcuts are: '''/!\''', '''(!)''', '''(?)''', '''(i)''', '''(x)''' and '''U''' (for padlock). | ||
;image-width: Width of the image. Defaults to 40 pixels or for one-liners 24 pixels. | ;image-width: Width of the image in pixels. Defaults to 40 pixels or for one-liners 24 pixels. | ||
<!-- | |||
Hiding these for a while | |||
=== CSS Style parameters === | === CSS Style parameters === | ||
Line 106: | Line 153: | ||
;text-style: CSS attributes applied to the text cell. | ;text-style: CSS attributes applied to the text cell. | ||
;image-style: CSS attributes applied to the image cell. | ;image-style: CSS attributes applied to the image cell. --> | ||
=== Parameters for demonstration and testing === | === Parameters for demonstration and testing === |
Revision as of 18:04, 24 May 2014
top;notice;no image;multiliner text padding;title;text |
Goal
This template is a meta template for messagebox templates of various kinds.
Adding this template to a page in the template namespace will automatically add Category:Messagebox templates and the hidden Category:Templates using messagebox meta template to that page.
Usage
{{messagebox | title = | text = | box = | style = | one-liner = | image = | image-width = | page = | nocat = }}
Main parameters
- title
- Optional alternative title for the messagebox that will be shown in bold, for example Danger, Warning, Caution, Cleanup, Note, Notice, Tip, Hint, Protected etc. Defaults to Notice.
- text
- Text to be shown in the messagebox.
Parameters affecting the appearance
Optional parameters affecting the appearance of the messagebox.
- box
- Will override the box format. Valid values are box, top and section. The defaults are box for the talk namespaces and the category namespace, and top for any other namespace.
- style
- Style of the messagebox. Valid values are immediate, danger, caution, notice, tip and protected. Defaults to notice.
- one-liner
- Makes the messagebox a one-liner if not empty.
- image
- Image or icon to use excluding the File: namespace prefix, for example Cleanup.png. Instead of an image name a shortcut can be used. When using the shortcuts the icons will automatically get the right colour for the style. Valid icon shortcuts are: /!\, (!), (?), (i), (x) and U (for padlock).
- image-width
- Width of the image in pixels. Defaults to 40 pixels or for one-liners 24 pixels.
Parameters for demonstration and testing
Optional parameters for demonstration and testing.
- page
- Wiki page. Use
page = {{{page|}}}
to forward this behaviour to a template.
- nocat
- If nocat=true pages are not categorized, if nocat=false pages are always categorized, and if nocat is empty or undefined only pages in the template namespace are categorised.
- Do not forward this parameter to a template for category suppression, instead use the techniques discussed in Category suppression below.
Category suppression
In cases where a template using {{messagebox}} is automatically categorising pages it is highly recommended to use {{messagebox}} together with a namespace template to suppress categorisation if a template is used on other pages than the intended ones, like for example in lists of templates. Some common namespace templates are for example {{category handler}}, {{main other}}, {{talk other}} and {{category other}}.
Where one of the "other" templates are sufficient, a way to add a nocat parameter working in a similar way as in {{category handler}} to a template is to do as in the below example:
...{{#switch: {{nocat|}} | true = <!-- Will not categorise a page --> | false = [[Category:Some category]] <!-- Will always categorise a page --> | #default = {{main other | [[Category:Same category]] }} <!-- Will categorise a page only if it is in the main namespace, the article namespace. --> }}...
Examples
Examples using different options.
Related templates