Template:Fmbox/doc: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>Wbm1058
remove {{mbox template family}}, which is inaccurate after introduction of Module:Message box and redundant to {{Mbox templates}} and {{Mbox templates see also}}
meta>Sardanaphalus
caps, some formatting, headings, Parameter descriptions, rephrasing (Technical details), category
Line 1: Line 1:
{{Documentation subpage}}
{{Documentation subpage}}
{{used in system| in many system messages }}
{{Used in system |in many system messages}}
{{lua|Module:Message box}}
{{Lua|Module:Message box}}
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
<!-- PLEASE ADD CATEGORIES WHERE INDICATED AT THE BOTTOM OF THIS PAGE -->
{{Mbox templates}}


{{mbox templates}}
This is the {{tl|Fmbox}} (['''F''']ooter and header ['''m''']essage '''box''') template.
This is the {{tl|fmbox}} or '''footer & header message box''' template.


It can be used to build message boxes for system messages such as [[MediaWiki:Sp-contributions-footer-anon]]. It can also be used for footer and header boxes on user pages and for [[Wikipedia:Editnotice|editnotices]].
It can be used to build message boxes for system messages such as [[MediaWiki:Sp-contributions-footer-anon]]. It can also be used for footer and header boxes on user pages and for [[Wikipedia:Editnotice|editnotices]].


This template works similarly to {{tl|ambox}} and mostly uses the same parameters. The main differences are that this box is 100% wide and has different colour styles.
This template works similarly to {{tl|Ambox}} and mostly uses the same parameters. The main differences are that this box is 100% wide and has different colour styles.
{{TOC limit|3}}


=== Usage ===
===Usage===
 
Simple usage example:


'''Simple example'''
<pre>
<pre>
{{fmbox | text = Some text.}}
{{Fmbox |text=Some text.}}
</pre>
</pre> produces:
 
{{Fmbox |text=Some text.}}
{{fmbox | text = Some text.}}
 
 
Complex example:


'''Complex example'''
<pre>
<pre>
{{fmbox
{{Fmbox
| type     = editnotice
| type = editnotice
| image     = [[Image:Emblem-question-yellow.svg|40px]]
| image = [[File:Emblem-question-yellow.svg|40px]]
| style     = border: 1px solid #f4c430;
| style = border:1px solid #f4c430;
| textstyle = color: red; font-weight: bold; font-style: italic;
| textstyle = font-style:italic; font-weight:bold; color:red;
| text     = The message body text.
| text = The message's text.
}}
}}
</pre>
</pre> produces:
 
{{Fmbox
{{fmbox
| type = editnotice
| type = editnotice
| image = [[File:Emblem-question-yellow.svg|40px]]
| image     = [[Image:Emblem-question-yellow.svg|40px]]
| style = border:1px solid #f4c430;
| style     = border: 1px solid #f4c430;
| textstyle = font-style:italic; font-weight:bold; color:red;
| textstyle = color: red; font-weight: bold; font-style: italic;
| text = The message's text.
| text     = The message body text.
}}
}}


=== Footer and header message box types ===
===Footer and header message box types===
 
The following examples use different '''type''' parameters but use no image parameters thus they use the default images for each type.


{{fmbox
The following examples use different {{mono|type}} parameters but no image parameters, i.e. they use the default image for each type.
| type = warning
| text = type=<u>warning</u> – System warning notices such as [[MediaWiki:Revision-info]] and [[MediaWiki:Protectedpagewarning]].
}}


{{fmbox
{{Fmbox |type=warning |text={{mono|type {{=}} warning}}<br/>For system warning notices such as [[MediaWiki:Revision-info]] and [[MediaWiki:Protectedpagewarning]].}}
| type = editnotice
{{Fmbox |type=editnotice |text={{mono|type {{=}} editnotice}}<br/>Provides a transparent background for [[Wikipedia:Editnotice|editnotices]].}}
| text = type=<u>editnotice</u> – Transparent background for [[Wikipedia:Editnotice|editnotices]].
{{Fmbox |type=system |text={{mono|type {{=}} system}}<br/>Default light-grey system-message background.}}
}}
 
{{fmbox
| type = system
| text = type=<u>system</u> – Light grey system message background (default).
}}
 
=== Other images ===
 
The default images shown above are mostly for testing and demonstration. In most cases it is more appropriate to use a more specific image or no image at all. These examples use the '''image''' parameter to specify an image other than the default image.
 
{{fmbox
| image = [[Image:User-info.svg|40px]]
| text  = image = <nowiki>[[Image:User-info.svg|40px]]</nowiki> <br> This image is used for [[MediaWiki:Sp-contributions-footer]].
}}
{{fmbox
| image = [[Image:Commons-logo.svg|40x40px]]
| text = image = <nowiki>[[Image:Commons-logo.svg|40x40px]]</nowiki> <br> Note the use of "40x40px" to also limit the height of the image. This image is used for [[MediaWiki:Sharedupload-desc-here]].
}}


=== Special ===
===Non-default images===


Some other parameter combinations.
The default images shown above are mostly for testing and demonstration. In most cases, it is more appropriate to use a more specific image or no image at all. The following examples use the {{mono|image}} parameter to specify an image other than the default.


{{fmbox
{{Fmbox |image=[[File:User-info.svg|40px]] |text={{mono|image<nowiki> = [[File:User-info.svg|40px]]</nowiki>}}<br/>[[MediaWiki:Sp-contributions-footer]] image.}}
| text  = Default image given (no '''image=''' specified)
{{Fmbox |image=[[File:Commons-logo.svg|40x40px]] |text={{mono|image<nowiki> = [[File:Commons-logo.svg|40x40px]]</nowiki>}}<br/>[[MediaWiki:Sharedupload-desc-here]] image. The "40x40px" parameter within the File: link sets the height as well as the width of the image.}}
}}
{{fmbox
| image = none
| text = '''image=none''' – No image is used and the '''text''' uses the whole message box area.
}}
{{fmbox
| image = [[Image:User-info.svg|40px]]
| imageright = [[Image:Nuvola apps bookcase.svg|40px]]
| text = image = <nowiki>[[Image:User-info.svg|40px]]</nowiki> <br> imageright = <nowiki>[[Image:Nuvola apps bookcase.svg|40px]]</nowiki>
}}


=== Parameters ===
===Other examples===


List of all parameters:
{{Fmbox |text=Fmbox's default image (i.e. {{mono|image}} left unspecified).}}
{{Fmbox |image=none |text=Setting {{mono|image {{=}} none}} means that the {{mono|text}} uses the whole of the message box.}}
{{Fmbox |image=[[File:User-info.svg|40px]] |imageright=[[File:Nuvola apps bookcase.svg|40px]] |text={{mono|image<nowiki> = [[File:User-info.svg|40px]]</nowiki>}}<br/>{{mono|imageright<nowiki> = [[File:Nuvola apps bookcase.svg|40px]]</nowiki>}} }}


<pre>
===Parameters===
{{fmbox
{{Parameter descriptions/full
| type = system / editnotice / warning
| tablestyle = padding-bottom:0.25em;border-bottom:1px solid #aaa;
| image = none / [[Image:Some image.svg|40px]]
| colheadings = border-bottom:1px solid #aaa;
| imageright = [[Image:Some image.svg|40px]]
| defaults = vertical-align:middle;
| id = CSS id
| type       | Either {{mono|system}}, {{mono|editnotice}} or {{mono|warning}}. | | {{mono|system}}{{padlsup|a}}
| class = CSS class names
| image     | Leave unset to use the default image for {{mono|type}}; set as {{mono|none}} for no image; or specify an image using [[Help:Files|standard File: syntax]].<br/>(A width/height around 40px–50px is usually suitable.) | | Varies according to {{mono|type}}
| style = CSS values
| imageright | For an(other) image at the righthand end of the message box. (As above, specify using standard File: syntax.) | | [no image]
| textstyle = CSS values
| id         | Use to set an [[Cascading Style Sheets|CSS]] [[Identifier (computer science)|id]] for the template (e.g. to facilitate its detection by [[javascript]]). | <nowiki>id = sp-contributions-footer</nowiki>{{padlsup|b}} | –
| text = The message body text.
| class     | To specify CSS class/es for the template. | <nowiki>class = sp-contributions-footer</nowiki>{{padlsup|b}} | –
| style      | To add CSS styling to the template. | <nowiki>style = margin-top:1.0em;</nowiki> | –
| textstyle  | To add CSS styling to the template's {{mono|text}}. | <nowiki>textstyle = font-size:90%;text-align:center;</nowiki> | –
| text       | The text presented by the template. | | –
}}
}}
</pre>
{{Br list |{{sup|a}} Light-grey background. |{{sup|b}} Used by [[MediaWiki:Sp-contributions-footer]].}}


'''type'''
===Technical details===
:If no '''type''' parameter is given the template defaults to type '''system'''. That means it gets a light grey background.
 
'''image'''
:'''No parameter''' = If no '''image''' parameter is given the template uses a default image. Which default image it uses depends on the '''type''' parameter.
:'''An image''' = Should be an image with usual wiki notation. 40px - 50px width are usually about right depending on the image height to width ratio. (But the message box can handle images of any size.) For example:
::<code><nowiki>image = [[Image:User-info.svg|40px]]</nowiki></code>
:'''none''' = Means that no image is used.
 
'''imageright'''
:'''No parameter''' = If no '''imageright''' parameter is given then no image is shown on the right side.
:'''An image''' = Should be an image with usual wiki notation. 40px - 50px width are usually about right depending on the image height to width ratio. (But the message box can handle images of any size.) For example:
::<code><nowiki>imageright = [[Image:Nuvola apps bookcase.png|40px]]</nowiki></code>
:'''Anything''' = Any other object that you want to show on the right side.
 
'''id'''
:Optional [[Cascading Style Sheets|CSS]] id used by the entire message box table. Without quotation marks <code>" "</code>. Mostly meant to be used to tag a message box with its name, to make it easy to detect the presence of the message from javascript. For instance [[MediaWiki:Sp-contributions-footer]] would use:
::<code>id = sp-contributions-footer</code>
 
'''class'''
:Optional [[Cascading Style Sheets|CSS]] class names used by the entire message box table. Without quotation marks <code>" "</code>. Mostly meant to be used to tag a message box with its name so it can be individually skinned. For instance [[MediaWiki:Sp-contributions-footer]] would use:
::<code>class = sp-contributions-footer</code>
 
'''style'''
:Optional [[Cascading Style Sheets|CSS]] values used by the entire message box table. Without quotation marks <code>" "</code> but with the ending semicolons <code>;</code>. For example:
::<code>style = margin-top: 1em;</code>
 
'''textstyle'''
:Optional [[Cascading Style Sheets|CSS]] values used by the text cell. For example:
::<code>textstyle = font-size: 90%; text-align: center;</code>
 
'''text'''
:The message body text.
 
=== Technical details ===


This template currently uses hard coded styles and class names. Later it will only use CSS classes making it easier to skin. (In the meantime it can be skinned by using the "<code>!important</code>" keyword.)
This template currently uses hard coded styles and class names. Later it will only use CSS classes making it easier to skin. (In the meantime it can be skinned by using the "<code>!important</code>" keyword.)


If you need to make a box that is less than 100% wide, then do ''not'' use this box, instead use the {{tl|ombox}}. Since this box doesn't have the "1px empty image cell" code that makes it so the other mboxes get proper box flow in all browsers when less than 100% wide.
If you need to make a box that is less than 100% wide, then do ''not'' use this box; instead, use {{tl|Ombox}}. Since this box doesn't have the "1px empty image cell" code that makes it so the other mboxes get proper box flow in all browsers when less than 100% wide.
 
If you need to use special characters in the text parameter then you need to escape them like this:


If you need to use special characters in the {{mono|text}} parameter, then you need to "escape" them like this:
<pre>
<pre>
{{fmbox
{{Fmbox
| text = <div>
| text = <div>
Equal sign = and a start and end brace { } work fine as they are.  
Equal sign = and a start and end brace { } work fine as they are.  
But here is a pipe {{!}} and two end braces &lt;nowiki>}}&lt;/nowiki>.  
But here is a pipe {{!}} and two end braces &lt;nowiki>}}&lt;/nowiki&gt;.  
And now a pipe and end braces &lt;nowiki>|}}&lt;/nowiki>.
And now a pipe and end braces &lt;nowiki>|}}&lt;/nowiki&gt;.
</div>
</div>
}}
}}
</pre>
</pre>
 
This produces:
{{fmbox
{{Fmbox
| text = <div>
| text = <div>
Equal sign = and a start and end brace { } work fine as they are.  
Equal sign = and a start and end brace { } work fine as they are.  
But here is a pipe {{!}} and two end braces <nowiki>}}</nowiki>.  
But here is a pipe {{!}} and two end braces <nowiki>}}</nowiki>.  
Line 168: Line 100:
}}
}}


Internally this meta-template uses HTML wikimarkup instead of wikimarkup for the table code. That is the usual way we make meta-templates since wikimarkup has several drawbacks. For instance it makes it harder to use [[m:Help:ParserFunctions|parser functions]] and some special characters in parameters.  
To avoid potential difficulties with e.g. [[m:Help:ParserFunctions|parser functions]] or [[special characters]], this metatemplate uses HTML rather than [[wiki markup]] to produce the table carrying its output.


The default images for this meta-template are in png format instead of svg format. The main reason is that some older web browsers have trouble with the transparent background that MediaWiki renders for svg images. The png images here have hand optimised transparent background colour so they look good in all browsers. Note that svg icons only look somewhat bad in the old browsers, thus such hand optimisation is only worth the trouble for very widely used icons.
As some older browsers have difficulty rendering SVG transparency, the default images for this metatemplate are in PNG rather than SVG format and have been optimised by hand to ensure they work across a wide range and age of browsers. (SVG icons only look somewhat bad in older browsers, thus such optimisation is only worthwhile for very widely used icons.)


'''Note to admins:''' MediaWiki does not parse and convert HTML wikimarkup in system messages the same way as it does for normal pages. This means for instance that <code>&lt;br></code> is not automatically converted to <code>&lt;br /></code> and missing <code>&lt;/td></code> and <code>&lt;/tr></code> tags are not automatically added. Thus see to that any HTML code you use in system messages are valid XHTML. That is, close all tags that you begin. However, regular wikimarkup works fine in most system messages.
'''''Admins:''''' MediaWiki's parsing and converting HTML markup for system messages is not the same as for normal pages: {{plaincode|<nowiki><br></nowiki>}} for instance, is not automatically converted to {{tag|style=plain|br|single}} and missing {{tag|style=plain|td|close}} and {{tag|style=plain|tr|close}} tags are not added automatically. Any HTML code used in system messages, therefore, must already be valid (include all complementary close tags, etc).


For more technical details see the [[Template talk:Fmbox|talk page]]. Since this template works almost exactly like {{tl|ambox}}, {{tl|tmbox}}, {{tl|imbox}}, {{tl|cmbox}} and {{tl|ombox}} their talk pages and related pages might also contain more details.
For more details, see [[Template talk:Fmbox|the talk page]]. Since this template works in almost the same way as {{tl|Ambox}}, {{tl|Tmbox}}, {{tl|Imbox}}, {{tl|Cmbox}} and {{tl|Ombox}}, further information found on their talk pages may also be relevant.


=== See also ===
===See also===
* {{tl|fmbox warning ruler}} – A horizontal ruler in the same colour as the red border for the warning type. Used inside some system warning notices.
* {{tl|Fmbox warning ruler}}, a horizontal ruler, used within some system warning notices, that uses the same red as this template's {{mono|warning}} type.


{{Mbox templates see also}}
{{Mbox templates see also}}


 
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox |
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
| <!-- CATEGORIES BELOW THIS LINE, PLEASE: -->
<!-- CATEGORIES AND INTERWIKIS HERE, THANKS -->
[[Category:Mbox and messagebox templates]]
[[Category:Wikipedia metatemplates|{{PAGENAME}}]]
 
}}</includeonly>
}}</includeonly>

Revision as of 17:31, 17 December 2014

Template:Mbox templates

This is the {{Fmbox}} ([F]ooter and header [m]essage box) template.

It can be used to build message boxes for system messages such as MediaWiki:Sp-contributions-footer-anon. It can also be used for footer and header boxes on user pages and for editnotices.

This template works similarly to {{Ambox}} and mostly uses the same parameters. The main differences are that this box is 100% wide and has different colour styles.

Usage

Simple example

{{Fmbox |text=Some text.}}

produces: Page Module:Message box/fmbox.css has no content.

Complex example

{{Fmbox
 | type = editnotice
 | image = [[File:Emblem-question-yellow.svg|40px]]
 | style = border:1px solid #f4c430;
 | textstyle = font-style:italic; font-weight:bold; color:red;
 | text = The message's text.
}}

produces: Page Module:Message box/fmbox.css has no content.

Footer and header message box types

The following examples use different type parameters but no image parameters, i.e. they use the default image for each type.

Page Module:Message box/fmbox.css has no content.

Page Module:Message box/fmbox.css has no content.

Page Module:Message box/fmbox.css has no content.

Non-default images

The default images shown above are mostly for testing and demonstration. In most cases, it is more appropriate to use a more specific image or no image at all. The following examples use the image parameter to specify an image other than the default.

Page Module:Message box/fmbox.css has no content.

Page Module:Message box/fmbox.css has no content.

Other examples

Page Module:Message box/fmbox.css has no content.

Page Module:Message box/fmbox.css has no content.

Page Module:Message box/fmbox.css has no content.

Parameters

Template:Parameter descriptions/full Template:Br list

Technical details

This template currently uses hard coded styles and class names. Later it will only use CSS classes making it easier to skin. (In the meantime it can be skinned by using the "!important" keyword.)

If you need to make a box that is less than 100% wide, then do not use this box; instead, use {{Ombox}}. Since this box doesn't have the "1px empty image cell" code that makes it so the other mboxes get proper box flow in all browsers when less than 100% wide.

If you need to use special characters in the text parameter, then you need to "escape" them like this:

{{Fmbox
| text = <div>
Equal sign = and a start and end brace { } work fine as they are. 
But here is a pipe {{!}} and two end braces <nowiki>}}</nowiki>. 
And now a pipe and end braces <nowiki>|}}</nowiki>.
</div>
}}

This produces:

Page Module:Message box/fmbox.css has no content.

To avoid potential difficulties with e.g. parser functions or special characters, this metatemplate uses HTML rather than wiki markup to produce the table carrying its output.

As some older browsers have difficulty rendering SVG transparency, the default images for this metatemplate are in PNG rather than SVG format and have been optimised by hand to ensure they work across a wide range and age of browsers. (SVG icons only look somewhat bad in older browsers, thus such optimisation is only worthwhile for very widely used icons.)

Admins: MediaWiki's parsing and converting HTML markup for system messages is not the same as for normal pages: Template:Plaincode for instance, is not automatically converted to <br /> and missing </td> and </tr> tags are not added automatically. Any HTML code used in system messages, therefore, must already be valid (include all complementary close tags, etc).

For more details, see the talk page. Since this template works in almost the same way as {{Ambox}}, {{Tmbox}}, {{Imbox}}, {{Cmbox}} and {{Ombox}}, further information found on their talk pages may also be relevant.

See also

  • {{Fmbox warning ruler}}, a horizontal ruler, used within some system warning notices, that uses the same red as this template's warning type.
There are seven metatemplates in the Module:Message box family:
  • {{Ambox}}, for messageboxes on article pages.
  • {{Cmbox}}, for messageboxes on category pages.
  • {{Imbox}}, for messageboxes on file (image) pages.
  • {{Tmbox}}, for messageboxes on talk pages.
  • {{Fmbox}}, for header and footer messageboxes.
  • {{Ombox}}, for messageboxes on other types of page.
  • {{Mbox}}, for messageboxes that are used in different namespaces and change their presentation accordingly.

Closely related metatemplates:

  • {{Asbox}}, for messageboxes in article stubs.
  • {{Dmbox}}, for messageboxes on disambiguation or set-index pages.
  • {{Ivmbox}}, a simple full-width box with default ivory background intended to frame important messages or notices.

Templates intended to be used in conjunction with Mboxes: