Template:Fmbox/doc: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>Edokter
Undo; this template never appears on VE-enabled pages.
meta>Edokter
Revert to revision 585315874 dated 2013-12-09 18:53:39 by Wbm1058 using popups
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 WHERE INDICATED AT THE BOTTOM OF THIS PAGE -->
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
{{Mbox templates (small)}}


This is the {{tl|Fmbox}} (['''F''']ooter and header ['''m''']essage ['''box''']) template.
{{mbox templates}}
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> produces:
</pre>
{{Fmbox |text=Some text.}}
 
{{fmbox | text = Some text.}}
 
 
Complex example:


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


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


{{Fmbox |type=warning |text={{mono|type {{=}} warning}}<br/>For system warning notices such as [[MediaWiki:Revision-info]] and [[MediaWiki:Protectedpagewarning]].}}
{{fmbox
{{Fmbox |type=editnotice |text={{mono|type {{=}} editnotice}}<br/>Provides a transparent background for [[Wikipedia:Editnotice|editnotices]].}}
| type = editnotice
{{Fmbox |type=system |text={{mono|type {{=}} system}}<br/>Default light-grey system-message background.}}
| text = type=<u>editnotice</u> – Transparent background for [[Wikipedia:Editnotice|editnotices]].
}}
 
{{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]].
}}


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


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.
Some other parameter combinations.


{{Fmbox |image=[[File:User-info.svg|40px]] |text={{mono|image<nowiki> = [[File:User-info.svg|40px]]</nowiki>}}<br/>[[MediaWiki:Sp-contributions-footer]] image.}}
{{fmbox
{{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.}}
| text  = Default image given (no '''image=''' specified)
}}
{{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>
}}


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


{{Fmbox |text=Fmbox's default image (i.e. {{mono|image}} left unspecified).}}
List of all parameters:
{{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>}} }}


===Parameters===
<pre>
{{Parameter descriptions/full
{{fmbox
| tablestyle = padding-bottom:0.25em;border-bottom:1px solid #aaa;
| type  = system / editnotice / warning
| colheadings = border-bottom:1px solid #aaa;
| image = none / [[Image:Some image.svg|40px]]
| defaults = vertical-align:middle;
| imageright = [[Image:Some image.svg|40px]]
| type      | Either {{mono|system}}, {{mono|editnotice}} or {{mono|warning}}. | | {{mono|system}}{{padlsup|a}}
| id = CSS id
| 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}}
| class = CSS class names
| imageright | For an(other) image at the righthand end of the message box. (As above, specify using standard File: syntax.) | | [no image]
| style = 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}} | –
| textstyle = CSS values
| class     | To specify CSS class/es for the template. | <nowiki>class = sp-contributions-footer</nowiki>{{padlsup|b}} | –
| text = The message body text.
| 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. | | –
}}
}}
{{Br list |{{sup|a}} Light-grey background. |{{sup|b}} Used by [[MediaWiki:Sp-contributions-footer]].}}
</pre>


===Technical details===
'''type'''
: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 {{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 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 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&gt;.  
But here is a pipe {{!}} and two end braces &lt;nowiki>}}&lt;/nowiki>.  
And now a pipe and end braces &lt;nowiki>|}}&lt;/nowiki&gt;.
And now a pipe and end braces &lt;nowiki>|}}&lt;/nowiki>.
</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 100: Line 168:
}}
}}


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.
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.  


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.)
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.


'''''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).
'''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.


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.
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.


===See also===
=== See also ===
* {{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.
* {{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.


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


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

Revision as of 21:51, 28 December 2014

Template:Mbox templates This is the {{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 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 usage example:

{{fmbox | text = Some text.}}


Complex example:

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

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.

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.

Special

Some other parameter combinations.

Parameters

List of all parameters:

{{fmbox
| type  = system / editnotice / warning
| image = none / [[Image:Some image.svg|40px]]
| imageright = [[Image:Some image.svg|40px]]
| id = CSS id
| class = CSS class names
| style = CSS values
| textstyle = CSS values
| text  = The message body text.
}}

type

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:
image = [[Image:User-info.svg|40px]]
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:
imageright = [[Image:Nuvola apps bookcase.png|40px]]
Anything = Any other object that you want to show on the right side.

id

Optional CSS id used by the entire message box table. Without quotation marks " ". 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:
id = sp-contributions-footer

class

Optional CSS class names used by the entire message box table. Without quotation marks " ". 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:
class = sp-contributions-footer

style

Optional CSS values used by the entire message box table. Without quotation marks " " but with the ending semicolons ;. For example:
style = margin-top: 1em;

textstyle

Optional CSS values used by the text cell. For example:
textstyle = font-size: 90%; text-align: center;

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 "!important" keyword.)

If you need to make a box that is less than 100% wide, then do not use this box, instead use the {{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>
}}

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 parser functions and some special characters in parameters.

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.

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 <br> is not automatically converted to <br /> and missing </td> and </tr> 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.

For more technical details see the talk page. Since this template works almost exactly like {{ambox}}, {{tmbox}}, {{imbox}}, {{cmbox}} and {{ombox}} their talk pages and related pages might also contain more details.

See also

  • {{fmbox warning ruler}} – A horizontal ruler in the same colour as the red border for the warning type. Used inside some system warning notices.
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: