Template:Mbox/doc: Difference between revisions

ArrowHead294 (talk | contribs)
mNo edit summary
Ganaram inukshuk (talk | contribs)
Usage: removed unused params
 
(One intermediate revision by one other user not shown)
Line 4: Line 4:
=== Usage ===
=== Usage ===
The template accepts the following parameters:
The template accepts the following parameters:
* <code>class</code>: Defines the "class" of the message box ("mbox" for a standard message box, "alert" for alerts, etc.)
* <code>type</code>: Defines the color of the left border; the type should be chosen according to context, not for aesthetic reasons. Types are described in the next section.
* <code>type</code>: Defines the color of the left border; the type should be chosen according to context, not for aesthetic reasons. Types are described in the next section.
* <code>text</code>: Message to be displayed in the box.
* <code>text</code>: Message to be displayed in the box.
* <code>icon</code>: Icon to be displayed in the box, if provided. Icons appear on the left side of the message box.
* <code>icon</code>: Icon to be displayed in the box, if provided. Icons appear on the left side of the message box.
* <code>icon size</code>: Size of the icon displayed. Default is 60px.
* <code>icon size</code>: Size of the icon displayed. Default is 60px.
* <code>label</code>: Displays a label that can be used for alerts. Useful if an emoji is used as an icon instead of an image. In this case:
{{clear}}
{{clear}}


=== Types and examples ===
=== Types and examples ===
{{Mbox|text=Messagebox of '''delete''' type. Typically used for pages whose content is deprecated or to be deleted.|type=delete}}
{{Mbox|text=Messagebox of '''delete''' type. Typically used for pages whose content is deprecated or to be deleted.|type=delete}}


Line 28: Line 24:


{{Mbox|text=Messagebox of '''protection''' type. Denotes pages that are protected from editing.|type=protection}}
{{Mbox|text=Messagebox of '''protection''' type. Denotes pages that are protected from editing.|type=protection}}
=== Technical notes ===
This template uses MediaWiki's <code><nowiki>{{#tag:&nbsp;}}</nowiki></code> parser function to dynamically load the stylesheet based on parameters.
Normally, TemplateStyles are loaded using a literal tag such as:
<syntaxhighlight lang="wikitext">
<templatestyles src="mbox/styles.css" />
</syntaxhighlight>
However, the <code>src</code> attribute of <code><nowiki><templatestyles></nowiki></code> does not accept template parameters when written directly (e.g. <code><nowiki><templatestyles src="{{{class}}}/styles.css" /></nowiki></code>), as it will produce an "Invalid title for TemplateStyles' <code>src</code> attribute" error.
To work around this limitation, the <code>{{#tag:}}</code> parser function can be used instead:
<syntaxhighlight lang="wikitext">
{{#tag: templatestyles||src={{{class|mbox}}}/styles.css}}
</syntaxhighlight>
This allows the stylesheet source to be constructed dynamically from template parameters. For example, when <code>class=alert</code> is passed, the template will load the stylesheet for <code>Template:Alert/styles.css</code> rather than the default Mbox styles.
This approach is required whenever TemplateStyles must be selected conditionally or via parameters.


=== See also ===
=== See also ===
* [[Template: Alert]]
* [[Template: Alert]]