模板:Cmbox/doc

来自决策链云智库

This is a cascade-protection notice, mostly intended for near the top of the documentation pages of template that are subject to cascaded protection because of their transclusion in some other page, and which are expected to have that protection indefinitely.

While a similar template is automatically generated by the system from MediaWiki:Cascadeprotected as an editnotice when someone tries to edit ("view source") on such a template, they have to actually try that before they get any inkling that the template is protected because of cascading. By putting a notice also on the template's /doc page, this should forestall attempts to have the template's protection level reduced to template-editor level (such requests must always be declined in cases of cascade-protection).

Usage

Just add {{Cascade-protected template}} near the top of the template's /doc subpage (usually right below the {{documentation subpage}} header).

In the odd case that the cascade-protected page is not a template, |page= can be used to change the word, e.g. |page=interface page.

This template is not for temporary protection. Many pages get short-term cascade-protected because of transclusion from an article listed on the Main Page for a few days. We do not need to tag then untag 100+ templates with this notice during that period. Volunteer editorial time is Wikipedia's most precious resource, and WP is not BureaucracyPedia.


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 {{Cmbox}} ([C]ategory [m]essage [box]) metatemplate.

It is used to build message box templates such as {{Category diffuse}} for category pages. It offers several different colours, uses default images if no image parameter is given, and it has some other features.

This template works almost exactly like {{Ambox}} and uses the same parameters.

Usage

Simple usage example:

{{cmbox | text = Some text.}}


Complex example:

{{cmbox
| type      = style
| image     = [[File:Emblem-question-yellow.svg|40px]]
| style     = width: 400px;
| textstyle = color: red; font-weight: bold; font-style: italic;
| text      = The message body text.
}}


Category 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 convenience. In many cases it is more appropriate to use more specific images. These examples use the image parameter to specify an image other than the default images.


Special

Some other parameter combinations.


Parameters

List of all parameters:

{{cmbox
| name = name of the template
| type  = speedy / delete / content / style / notice / move / protection
| image = none / [[File:Some image.svg|40px]]
| imageright = [[File:Some image.svg|40px]]
| class = A custom CSS class to apply to the box
| 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 notice. That means it gets a blue 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 is usually about right depending on the image height-to-width ratio (but the message box can handle images of any size).
For example: image = [[File:Sub-arrows.svg|40px]]
none = Means that no image is used.

imageright

No parameter = If no imageright parameter is given, no image is shown on the right side.
An image = Should be an image with usual wiki notation. 40px - 50px width is usually about right depending on the image height-to-width ratio (but the message box can handle images of any size).
For example: imageright = [[File:Nuvola apps bookcase.png|40px]]
Anything = Any other object that you want to show on the right side.

style

An optional CSS value used by the entire message box table. Without quotation marks " ".
For example: style = margin-bottom: 0.5em;

textstyle

An optional CSS value used by the text cell.
For example: textstyle = 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

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

{{cmbox
| 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 template uses the cmbox CSS classes in MediaWiki:Common.css for most of its looks, thus it is fully skinnable.

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 parser functions and 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.

For more technical details see the talk page. Since this template works almost exactly like the other mboxes, their talk pages and related pages might also contain more details (see the See also section below).

See also

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.