Template:Fmbox/doc: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>Davidgothberg
Adding the "Other images" and "Special" sections. Documentation now more or less finished.
Ookami (talk | contribs)
m 71 revisions imported
 
(67 intermediate revisions by 43 users not shown)
Line 1: Line 1:
{{Documentation subpage}}
{{Documentation subpage}}
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
{{for|the message box for File: pages|Template:imbox}}
{{mbox templates}}
{{Used in system |in many system messages}}
This is the {{tl|fmbox}} or '''header & footer message box''' template.
{{high-risk|12900+}}
{{Lua|Module:Message box}}
<!-- PLEASE ADD CATEGORIES WHERE INDICATED AT THE BOTTOM OF THIS PAGE -->
{{Mbox templates (small)}}


It can be used to build message boxes for system messages such as [[MediaWiki:Sharedupload]] and [[MediaWiki:Sp-contributions-footer-anon]]. It can also be used for header and footer boxes on user pages.
This is the {{tl|Fmbox}} (['''F''']ooter and header ['''m''']essage ['''box''']) template.


This template works similarly to {{tl|ambox}} and mostly uses the same parameters. The main difference is that this box is 100% wide and only has one colour style.
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]].


=== Usage ===
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}}


Simple usage example:
===Usage===


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


{{fmbox
===Footer and header message box types===
| image    = [[Image:Emblem-question-yellow.svg|40px]]
| style    = background: transparent;
| textstyle = color: red; font-weight: bold; font-style: italic;
| text      = The message body text.
}}


=== Other images ===
The following examples use different {{mono|type}} parameters but no image parameters, i.e. they use the default image for each type.


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


{{fmbox
===Non-default images===
| 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]].
}}


=== 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 |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
===Other examples===
| text  = No type and no image given ('''default''')
}}
{{fmbox
| image = none
| text  = No type and '''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 ===
{{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>}} }}


===Parameters===
List of all parameters:
List of all parameters:


<pre>
<pre>
{{imbox
{{fmbox
| name = name of the template
| type  = system / editnotice / warning
| image = none / [[Image:Some image.svg|40px]]
| image = none / [[Image:Some image.svg|40px]]
| imageright = [[Image:Some image.svg|40px]]
| imageright = [[Image:Some image.svg|40px]]
| style = CSS value
| id = CSS id
| textstyle = CSS value
| class = CSS class names
| style = CSS values
| textstyle = CSS values
| plainlinks  = no
| text  = The message body text.
| text  = The message body text.
}}
}}
</pre>
</pre>
'''name'''
:(Optional) Name of the template. This adds a CSS class with name <code>box-''name''</code> to the HTML element, for use by bots or scripts.
'''type'''
:If no '''type''' parameter is given the template defaults to type '''system'''. That means it gets a light grey background.


'''image'''
'''image'''
:'''No parameter''' = If no '''image''' parameter is given the template uses its default 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:  
:'''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>
::<code><nowiki>image = [[Image:User-info.svg|40px]]</nowiki></code>
Line 92: Line 96:
::<code><nowiki>imageright = [[Image:Nuvola apps bookcase.png|40px]]</nowiki></code>
::<code><nowiki>imageright = [[Image:Nuvola apps bookcase.png|40px]]</nowiki></code>
:'''Anything''' = Any other object that you want to show on the right side.
:'''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'''
'''style'''
:An optional [[Cascading Style Sheets|CSS]] value used by the entire message box table. Without quotation marks <code>" "</code>. For example:
: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>
::<code>style = margin-top: 1em;</code>


'''textstyle'''
'''textstyle'''
:An optional [[Cascading Style Sheets|CSS]] value used by the text cell. For example:
:Optional [[Cascading Style Sheets|CSS]] values used by the text cell. For example:
::<code>textstyle = font-size: 90%; text-align: center;</code>
::<code>textstyle = font-size: 90%; text-align: center;</code>
'''plainlinks'''
:Normally on Wikipedia, external links have an arrow icon next to them, like this: [http://www.example.com Example.com]. However, in message boxes, the arrow icon is suppressed by default, like this: <span class="plainlinks">[http://www.example.com Example.com]</span>. To get the normal style of external link with the arrow icon, use {{para|plainlinks|no}}.


'''text'''
'''text'''
:The message body text.
:The message body text.


=== Technical details ===
===Technical details===


This template currently uses hard coded styles. Later it will use CSS classes enabling it to be skinned.
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 use special characters in the text parameter then you need to escape them like this:
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 {{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 128: Line 144:
}}
}}


Internally this meta-template uses HTML markup instead of wiki markup for the table code. That is the usual way we make meta-templates since wiki markup has several drawbacks. For instance it makes it harder to use [[m:Help:ParserFunctions|parser functions]] and special characters in parameters.  
To avoid potential difficulties with e.g. [[Help:ParserFunctions|parser functions]] or [[Help:Special characters|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.)


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.
'''''Admins:''''' MediaWiki's parsing and converting HTML markup for system messages is not the same as for normal pages: <code><nowiki><br></nowiki></code> 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.).


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


There are several meta-templates in the mbox family:
===See also===
* {{tl|ambox}} – For article message boxes.
* {{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|tmbox}} – For talk page message boxes.
* {{tl|imbox}} – For image page message boxes.
* {{tl|cmbox}} – For category message boxes.
* {{tl|ombox}} – For other pages message boxes.
* {{tl|mbox}} – Has namespace detection, for message boxes that are used on several types of pages and thus need to change style depending on what page they are used on.
* {{tl|fmbox}} – For header and footer message boxes.


<includeonly>
{{Mbox templates see also}}
<!-- CATEGORIES AND INTERWIKIS HERE, THANKS -->
[[Category:Wikipedia metatemplates|{{PAGENAME}}]]


</includeonly>
<includeonly>{{Sandbox other|
| <!-- CATEGORIES BELOW THIS LINE, PLEASE: -->
[[Category:Mbox and messagebox templates]]
}}</includeonly>

Latest revision as of 04:30, 3 September 2020

Message box
meta-templates
templatecontext
{{Ambox}}article
{{Cmbox}}category
{{Imbox}}image
{{Tmbox}}talk
{{Fmbox}}footer / header
{{Ombox}}other pages
{{Mbox}}auto-detect
{{Asbox}}article stub
{{Dmbox}}disambiguation

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:

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:

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.

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.

Other examples

Parameters

List of all parameters:

{{fmbox
| name = name of the template
| 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
| plainlinks  = no
| text  = The message body text.
}}

name

(Optional) Name of the template. This adds a CSS class with name box-name to the HTML element, for use by bots or scripts.

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;

plainlinks

Normally on Wikipedia, external links have an arrow icon next to them, like this: Example.com. However, in message boxes, the arrow icon is suppressed by default, like this: Example.com. To get the normal style of external link with the arrow icon, use |plainlinks=no.

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 {{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:

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: <br> 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: