Template:Ambox/doc: Difference between revisions

From Guild of Archivists
No edit summary
m (Removed a bunch of Wikipedia-specific stuff like references to templates we're not using.)
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:
This is the {{tl|Ambox}} (['''A''']rticle ['''m''']essage ['''box''']) metatemplate.
This is the {{tl|Ambox}} (['''A''']rticle ['''m''']essage ['''box''']) metatemplate.


It is used to build ''article message box'' templates such as {{tl|Underlinked}}. It offers several different colours, uses default images if no image parameter is given, and has some other features.
It is used to build ''article message box'' templates such as {{tl|Cleanup}}. It offers several different colors, uses default images if no image parameter is given, and has some other features.


== Common parameters ==
== Common parameters ==
Line 28: Line 28:


=== ''name'' ===
=== ''name'' ===
The ''name'' parameter specifies the name of the template, without the Template namespace prefix. For example {{Tl|Underlinked}} specifies {{Para|name|Underlinked}}.
The ''name'' parameter specifies the name of the template, without the Template namespace prefix. For example {{Tl|DRC Research}} specifies {{Para|name|DRC Research}}.


This parameter should be updated if the template is ever moved. The purpose of this parameter is twofold:
This parameter should be updated if the template is ever moved. The purpose of this parameter is twofold:
* If incorrectly [[Wikipedia:Substitution|substituted]], it allows the meta-template to notify the name of the template which has been substituted, which may help editors to fix the problem.
* If incorrectly [[Wikipedia:Substitution|substituted]], it allows the meta-template to notify the name of the template which has been substituted, which may help editors to fix the problem.
* It allows the template to have a more useful display on its template page, for example to show the date even when not specified, and to apply categorisation of the template itself.
* It allows the template to have a more useful display on its template page, for example to show the date even when not specified, and to apply categorization of the template itself.


=== ''subst'' ===
=== ''subst'' ===
Line 48: Line 48:
* For templates which should ''default to small'', try {{para|small|<nowiki>{{{small|left}}}</nowiki>}}. This will allow an editor to override by using {{para|small|no}} on an article.
* For templates which should ''default to small'', try {{para|small|<nowiki>{{{small|left}}}</nowiki>}}. This will allow an editor to override by using {{para|small|no}} on an article.


See {{sectionlink||sect}}, below, for information on how to limit {{para|small}} display to cases when the template is being used for a section instead of the whole article (recommended, to prevent inconsistent top-of-article display).
See [[#sect|sect]], below, for information on how to limit {{para|small}} display to cases when the template is being used for a section instead of the whole article (recommended, to prevent inconsistent top-of-article display).


=== ''type'' ===
=== ''type'' ===
Line 55: Line 55:
|nocat=true
|nocat=true
| type  = speedy
| type  = speedy
| text  = type=<u>speedy</u> – Speedy deletion issues, such as {{tl|db-g1}} and {{tl|db-g3}}.
| text  = type=<u>speedy</u> – Speedy deletion issues.
}}
}}
{{Ambox
{{Ambox
|nocat=true
|nocat=true
| type  = delete
| type  = delete
| text  = type=<u>delete</u> – Deletion issues, such as {{tl|article for deletion}} and {{tl|proposed deletion}}.
| text  = type=<u>delete</u> – Deletion issues, such as {{tl|proposed deletion}}.
}}
}}
{{Ambox
{{Ambox
|nocat=true
|nocat=true
| type  = content
| type  = content
| text  = type=<u>content</u> – Content issues, such as {{tl|POV}} and {{tl|globalize}}.
| text  = type=<u>content</u> – Content issues, such as {{tl|needs-image}}.
}}
}}
{{Ambox
{{Ambox
|nocat=true
|nocat=true
| type  = style
| type  = style
| text  = type=<u>style</u> – Style issues, such as {{tl|cleanup}} and {{tl|underlinked}}.
| text  = type=<u>style</u> – Style issues, such as {{tl|cleanup}}.
}}
}}
{{ambox
{{ambox
|nocat=true
|nocat=true
| type  = notice
| type  = notice
| text  = type=<u>notice</u> – Article notices, such as {{tl|current}} and {{tl|in use}}.
| text  = type=<u>notice</u> – Article notices, such as {{tl|OOC}}.
}}
}}
{{Ambox
{{Ambox
|nocat=true
|nocat=true
| type  = move
| type  = move
| text  = type=<u>move</u> – Merge, split and transwiki proposals, such as {{tl|split}} and {{tl|copy to Wiktionary}}.
| text  = type=<u>move</u> – Merge and split proposals, such as {{tl|split}}.
}}
}}
{{Ambox
{{Ambox
|nocat=true
|nocat=true
| type  = protection
| type  = protection
| text  = type=<u>protection</u> – Protection notices, such as {{tl|pp-vandalism}} and {{tl|pp-protected}}.
| text  = type=<u>protection</u> – Protection notices, such as {{tl|pp-protected}}.
}}
}}


Line 103: Line 103:
{{em|If using this feature, be sure to remove the first two words ("This article") from the template's text, otherwise it will be duplicated.}}
{{em|If using this feature, be sure to remove the first two words ("This article") from the template's text, otherwise it will be duplicated.}}


A common way to facilitate this functionality is to pass {{para|sect|<nowiki>{{{1|}}}</nowiki>}}. This will allow editors to type <kbd>section</kbd>, for example, as the first unnamed parameter of the template to change the wording. For example, {{tlx|Advert|section}} produces:
A common way to facilitate this functionality is to pass {{para|sect|<nowiki>{{{1|}}}</nowiki>}}. This will allow editors to type <kbd>section</kbd>, for example, as the first unnamed parameter of the template to change the wording. For example, {{tlx|DRC Research|section}} produces:
{{Advert|section|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}}}
{{DRC Research|section}}  
Another approach is to pass {{para|sect|<nowiki>{{{section|{{{sect|}}}}}}</nowiki>}} to provide a named value.  Another is to use {{tlx|Yesno}} to parse the value for a positive, and pass {{para|sect|section}} if true.
Another approach is to pass {{para|sect|<nowiki>{{{section|{{{sect|}}}}}}</nowiki>}} to provide a named value.  Another is to use {{tlx|Yesno}} to parse the value for a positive, and pass {{para|sect|section}} if true.


Line 115: Line 115:
It is also advisable to restrict use of the {{para|small}} parameter so that it is made contingent upon the template being applied to a section (or whatever) rather than the whole article, to prevent the small version of the template being used at the top of the article where it would be inconsistent with other article-wide cleanup/dispute banners:
It is also advisable to restrict use of the {{para|small}} parameter so that it is made contingent upon the template being applied to a section (or whatever) rather than the whole article, to prevent the small version of the template being used at the top of the article where it would be inconsistent with other article-wide cleanup/dispute banners:
{{block indent|1=<code><nowiki>| small = {{#if:{{{sect|{{{section|{{{1|}}}}}}}}}|{{#if:{{{small|{{{left|}}}}}}|left}} }}</nowiki></code>}}
{{block indent|1=<code><nowiki>| small = {{#if:{{{sect|{{{section|{{{1|}}}}}}}}}|{{#if:{{{small|{{{left|}}}}}}|left}} }}</nowiki></code>}}
(In this case, any value of {{para|small}} or {{para|left}} will trigger the small, left display, as long as some value of {{para|sect}} or one of its aliases in that template has also been provided.) This code can be copy-pasted and used with the above code block. See, e.g., [[Template:Trivia]] and its [[Template:Trivia/testcases]] to observe the combined functionality.
(In this case, any value of {{para|small}} or {{para|left}} will trigger the small, left display, as long as some value of {{para|sect}} or one of its aliases in that template has also been provided.) This code can be copy-pasted and used with the above code block. See, e.g., [[Template:DRC Research]].


=== ''issue'' and ''fix'' ===
=== ''issue'' and ''fix'' ===
Line 122: Line 122:
The ''fix'' parameter contains some text which describes what should be done to improve the article. It may be longer than the text in ''issue'', but should not usually be more than two sentences.
The ''fix'' parameter contains some text which describes what should be done to improve the article. It may be longer than the text in ''issue'', but should not usually be more than two sentences.


When the template is in its compact form (when placed inside {{tl|multiple issues}}) or small form (when using {{para|small|left}}), the ''issue'' is the only text that will be displayed. For example, {{Tl|Citation style}} defines
When the template is in its compact form (when placed inside {{tl|multiple issues}}) or small form (when using {{para|small|left}}), the ''issue'' is the only text that will be displayed. For example, {{Tl|needs-image}} defines
* <code>|issue=<nowiki>This article '''has an unclear citation style'''.</nowiki></code>
* <code>|issue=<nowiki>This article '''needs an image to illustrate its subject.'''</nowiki></code>
* <code>|fix=<nowiki>The references used may be made clearer with a different or consistent style of [[Wikipedia:Citing sources|citation]], [[Wikipedia:Footnotes|footnoting]], or [[Wikipedia:External links|external linking]].</nowiki></code>
* <code>|fix=<nowiki>You can help by [[Special:Upload|uploading an image]] and <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} adding it to this page]</span>.</nowiki></code>


When used stand-alone it produces the whole text:
When used stand-alone it produces the whole text:
{{Citation style|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}}}
{{needs-image|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}}}


But when used inside {{Tl|Multiple issues}} or with {{Para|small|left}} it displays only the issue:
But when used inside {{Tl|Multiple issues}} or with {{Para|small|left}} it displays only the issue:
{{Multiple issues <!-- Even though there's only one "issue", please don't remove this {{Multiple issues}} template. It is a demonstration of the formatting. --> |{{Citation style|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}}}}}
{{Multiple issues <!-- Even though there's only one "issue", please don't remove this {{Multiple issues}} template. It is a demonstration of the formatting. --> |{{needs-image|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}}}}}
{{Citation style|small=left|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}}}
{{needs-image|small=left|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}}}


=== ''talk'' ===
=== ''talk'' ===
Line 148: Line 148:
Passing the ''date'' parameter through to the meta-template means that the date that the article is tagged may be specified by an editor (or more commonly a [[Wikipedia:Bots|bot]]). This will be displayed after the message in a smaller font.
Passing the ''date'' parameter through to the meta-template means that the date that the article is tagged may be specified by an editor (or more commonly a [[Wikipedia:Bots|bot]]). This will be displayed after the message in a smaller font.


Passing this parameter also enables [[:Category:Wikipedia maintenance categories sorted by month|monthly cleanup categorisation]] when the ''cat'' parameter is also defined.
Passing this parameter also enables monthly cleanup categorization when the ''cat'' parameter is also defined.


=== ''cat'' ===
=== ''cat'' ===
Line 220: Line 220:
Customised text for the small format can be defined using ''smalltext''.
Customised text for the small format can be defined using ''smalltext''.


=== Additional categorisation parameters ===
=== Additional categorization parameters ===
* ''cat2'' and ''cat3'' provide additional monthly categories; see [[#cat]].
* ''cat2'' and ''cat3'' provide additional monthly categories; see [[#cat]].
* ''all2'' and ''all3'' provide additional categories into which all articles are placed, just like [[#all]].
* ''all2'' and ''all3'' provide additional categories into which all articles are placed, just like [[#all]].


== Technical notes ==
== Technical notes ==
* This meta-template uses the ambox CSS classes in [[MediaWiki:Common.css]]. The classes can also be used directly in a [[m:Help:Table|wikitable]] if special functionality is needed. See the [[Wikipedia:Ambox classes|how-to guide]] for that.
* This meta-template uses the ambox CSS classes in [[MediaWiki:Common.css]]. The classes can also be used directly in a [[Help:Tables|wikitable]] if special functionality is needed. See the [[w:Wikipedia:Ambox classes|how-to guide]] for that.
* 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 text parameter then you need to escape them like this:
<pre>
<pre>
Line 255: Line 255:
{{Mbox templates see also}}
{{Mbox templates see also}}
Other pages:
Other pages:
* [[Wikipedia:Ambox CSS classes]] – Describes how to use the ambox CSS classes directly in [[m:Help:Table|wikitable]]s and [[HTML element#Tables|HTML tables]].
* [[w:Wikipedia:Ambox CSS classes]] – Describes how to use the ambox CSS classes directly in [[Help:Tables|wikitable]]s and HTML tables.
* [[Wikipedia:Article message boxes]] – The style guideline for creating article message boxes.
* [[w:Wikipedia:Article message boxes]] – The style guideline for creating article message boxes.
* [[w:Wikipedia talk:Article message boxes]] – For discussion about these matters.


<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||

Latest revision as of 00:37, 20 January 2018

Message box
meta-templates
template context
{{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 {{Ambox}} ([A]rticle [m]essage [box]) metatemplate.

It is used to build article message box templates such as {{Cleanup}}. It offers several different colors, uses default images if no image parameter is given, and has some other features.

Common parameters[edit source]

The box below shows the most common parameters that are accepted by {{Ambox}}. The purpose of each is described below.

{{Ambox
| name  = 
| subst = <includeonly>{{subst:substcheck}}</includeonly>
| small = {{{small|}}}
| type  = 
| image = 
| sect  = {{{1|}}}
| issue = 
| talk  = {{{talk|}}}
| fix   = 
| date  = {{{date|}}}
| cat   = 
| all   = 
}}

name[edit source]

The name parameter specifies the name of the template, without the Template namespace prefix. For example {{DRC Research}} specifies |name=DRC Research.

This parameter should be updated if the template is ever moved. The purpose of this parameter is twofold:

  • If incorrectly substituted, it allows the meta-template to notify the name of the template which has been substituted, which may help editors to fix the problem.
  • It allows the template to have a more useful display on its template page, for example to show the date even when not specified, and to apply categorization of the template itself.

subst[edit source]

The subst parameter allows the meta-template to detect whether the template has been incorrectly substituted, and give an appropriate warning. It will also add such pages to Category:Pages with incorrectly substituted templates. Just copy the code exactly as it appears in the box.

small[edit source]

The small parameter should be passed through the template, as this will allow editors to use the small format by specifying |small=left on an article:

Otherwise the standard format will be produced:

Other variations:

  • For templates which should never be small, specify |small=no or do not pass the small parameter at all.
  • For templates which should always be small, just specify |small=left.
  • For templates which should default to small, try |small={{{small|left}}}. This will allow an editor to override by using |small=no on an article.

See sect, below, for information on how to limit |small= display to cases when the template is being used for a section instead of the whole article (recommended, to prevent inconsistent top-of-article display).

type[edit source]

The type parameter defines the colour of the left bar, and the image that is used by default. The type is chosen not on aesthetics but is based on the type of issue that the template describes. The seven available types and their default images are shown below.

If no type parameter is given the template defaults to |type=notice.

image[edit source]

You can choose a specific image to use for the template by using the image parameter. Images are specified using the standard syntax for inserting files in Wikipedia (see Wikipedia:Manual of Style/Images#How to place an image.) Widths of 40-50px are typical.

Please note:

  • If no image is specified then the default image corresponding to the type is used. (See #type above.)
  • If |image=none is specified, then no image is used and the text uses the whole message box area.
  • If an icon is purely decorative and also in the public domain, accessibility can be improved by suppressing the link to the file page by adding "|link=|alt=" as seen above.

sect[edit source]

Many article message templates begin with the text This article ... and it is often desirable that this wording change to This section ... if the template is used on a section instead. The value of this parameter will replace the word "article". Various possibilities for use include: |sect=list, |sect=table, |sect="In popular culture" material, etc.

If using this feature, be sure to remove the first two words ("This article") from the template's text, otherwise it will be duplicated.

A common way to facilitate this functionality is to pass |sect={{{1|}}}. This will allow editors to type section, for example, as the first unnamed parameter of the template to change the wording. For example, {{DRC Research|section}} produces:

Another approach is to pass |sect={{{section|{{{sect|}}}}}} to provide a named value. Another is to use {{Yesno}} to parse the value for a positive, and pass |sect=section if true.

These approaches can be combined, and this is recommended. The following ready-to-use code:

| sect = {{#ifeq:{{yesno|def=|1={{{sect|{{{section}}}}}} }}|yes|section|{{{sect|{{{section|{{{1|}}}}}}}}} }}

enables the following:

  • Any positive value that {{Yesno}} can detect will be used with the named parameter in the ambox-based template to get "section" instead of "article": |section=y, |sect=True, etc. It is recommended to allow both |sect= and |section= so that editors do not have to guess which one will work. The sample code above does this for you.
  • Any other value passed, in any manner, will replace "article": |section and its subsections, |1=list, |sect=section, |section=table, etc.

It is also advisable to restrict use of the |small= parameter so that it is made contingent upon the template being applied to a section (or whatever) rather than the whole article, to prevent the small version of the template being used at the top of the article where it would be inconsistent with other article-wide cleanup/dispute banners:

| small = {{#if:{{{sect|{{{section|{{{1|}}}}}}}}}|{{#if:{{{small|{{{left|}}}}}}|left}} }}

(In this case, any value of |small= or |left= will trigger the small, left display, as long as some value of |sect= or one of its aliases in that template has also been provided.) This code can be copy-pasted and used with the above code block. See, e.g., Template:DRC Research.

issue and fix[edit source]

The issue parameter is used to describe the issue with the article. Try to keep it short and to-the-point (approximately 10-20 words) and be sure to include a link to a relevant policy or guideline.

The fix parameter contains some text which describes what should be done to improve the article. It may be longer than the text in issue, but should not usually be more than two sentences.

When the template is in its compact form (when placed inside {{multiple issues}}) or small form (when using |small=left), the issue is the only text that will be displayed. For example, {{needs-image}} defines

  • |issue=This article '''needs an image to illustrate its subject.'''
  • |fix=You can help by [[Special:Upload|uploading an image]] and <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} adding it to this page]</span>.

When used stand-alone it produces the whole text:

But when used inside {{Multiple issues}} or with |small=left it displays only the issue:

talk[edit source]

Some article message templates include a link to the talk page, and allow an editor to specify a section heading to link directly to the relevant section. To achieve this functionality, simply pass the talk parameter through, i.e. |talk={{{talk|}}}

This parameter may then be used by an editor as follows:

  • |talk=SECTION HEADING - the link will point to the specified section on the article's talk page, e.g. |talk=Foo
  • |talk=FULL PAGE NAME - the template will link to the page specified (which may include a section anchor), e.g. |talk=Talk:Banana#Foo

Notes:

  • When this parameter is used by a template, the talk page link will appear on the template itself (in order to demonstrate the functionality) but this will only display on articles if the parameter is actually defined.
  • In order to make sure there is always a link to the talk page, you can use |talk={{{talk|#}}}.
  • If the talk page does not exist, there will be no link, whatever the value of the parameter.

date[edit source]

Passing the date parameter through to the meta-template means that the date that the article is tagged may be specified by an editor (or more commonly a bot). This will be displayed after the message in a smaller font.

Passing this parameter also enables monthly cleanup categorization when the cat parameter is also defined.

cat[edit source]

This parameter defines a monthly cleanup category. If |cat=CATEGORY then:

  • articles will be placed in Category:CATEGORY from DATE if |date=DATE is specified.
  • articles will be placed in Category:CATEGORY if the date is not specified.

For example, {{No footnotes}} specifies |cat=Articles lacking in-text citations and so an article with the template {{No footnotes|date=June 2010}} will be placed in Category:Articles lacking in-text citations from June 2010.

The cat parameter should not be linked, nor should the prefix Category: be used.

all[edit source]

The all parameter defines a category into which all articles should be placed.

The all parameter should not be linked, nor should the prefix Category: be used.

Other parameters[edit source]

The box on the right shows all possible parameters for this template. However, it is not recommended to copy this, because it will never be required to use all parameters simultaneously.

All parameters
{{Ambox
| name        = 
| subst       = <includeonly>{{subst:substcheck}}</includeonly>
| small       = {{{small|}}}
| type        = 
| image       = 
| imageright  = 
| smallimage  = 
| smallimageright = 
| class       = 
| style       = 
| textstyle   = 
| sect        = {{{1|}}}
| issue       = 
| talk        = {{{talk|}}}
| fix         = 
| date        = {{{date|}}}
| text        = 
| smalltext   = 
| cat         = 
| all         = 
| cat2        = 
| all2        = 
| cat3        = 
| all3        = 
}}<noinclude>
{{Documentation}}
</noinclude>

imageright[edit source]

An image on the right side of the message box may be specified using this parameter. The syntax is the same as for the image parameter, except that the default is no image.

smallimage and smallimageright[edit source]

Images for the small format box may be specified using these parameters. They will have no effect unless |small=left is specified.

class[edit source]

A custom CSS class to apply to the box.

style and textstyle[edit source]

Optional CSS values may be defined, without quotation marks " " but with the ending semicolons ;.

  • style specifies the style used by the entire message box table.
  • textstyle relates to the text cell.

text and smalltext[edit source]

Instead of specifying the issue and the fix it is possible to use the text parameter instead.

Customised text for the small format can be defined using smalltext.

Additional categorization parameters[edit source]

  • cat2 and cat3 provide additional monthly categories; see #cat.
  • all2 and all3 provide additional categories into which all articles are placed, just like #all.

Technical notes[edit source]

  • This meta-template uses the ambox CSS classes in MediaWiki:Common.css. The classes can also be used directly in a wikitable if special functionality is needed. See the how-to guide for that.
  • If you need to use special characters in the text parameter then you need to escape them like this:
{{Ambox
| text  = <div>
Equal sign = and a start and end brace { } work fine as they are.
But here is a pipe &#124; and two end braces <nowiki>}}</nowiki>.
And now a pipe and end braces <nowiki>|}}</nowiki>.
</div>
}}
  • The <div> tags that surround the text in the example above are usually not needed. But if the text contains line breaks then sometimes we get weird line spacing. This especially happens when using vertical dotted lists. Then use the div tags to fix that.
  • This template uses CSS classes in MediaWiki:Common.css for most of its looks, thus it is fully skinnable.
  • This template calls Module:Message box which holds most of the code for {{Ambox}}, while {{Ambox}} itself does parameter preprocessing.
  • Internally, this meta-template uses HTML markup instead of wikimarkup for the table code. That is the usual way meta-templates are made, 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.
  • For more technical details see the talk page and the "See also" links below. Since this template works almost exactly like {{Tmbox}}, {{Imbox}}, {{Cmbox}} and {{Ombox}} their talk pages and related pages might also contain more details.

See also[edit source]

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.

Other pages: