Help:Template

From ArchWiki

A template is a piece of predefined wikitext that can be inserted into an article. Templates are primarily used to aid in formatting content.

Usage

Templates are used by adding the following markup to an article:

{{Template name}}

Most templates take additional arguments, such as Template:Note:

{{Note|This text should be noted.}}

which produces:

Note: This text should be noted.

Some templates can use named parameters, such as Template:hc:

{{hc|head=/etc/machine-id|output=0123456789abcdeffedcba9876543210}}

which produces:

/etc/machine-id
0123456789abcdeffedcba9876543210

The general format is:

{{Template name|param1|param2|...|paramN}}

See each template's page for specific usage instructions.

Style

  • Templates should be used with the capitalization shown in the examples in their pages, for example {{Pkg|... and {{ic|... are correct, while {{pkg|... and {{Ic|... are not.
  • There should be no spaces around the template name: {{Template name|... is correct, while for example {{ Template name |... is not.
  • Templates should not be categorized.

Escape template-breaking characters

There are some characters that, if used inside a template, will break its output: most frequently this happens with "=" (the equal sign) and "|" (the pipe sign). Solutions to this problem are described below.

Tip:
  • The pipe symbol "|" can be escaped using the {{!}} magic word.
  • The equal sign "=" can be escaped using the {{=}} magic word.

Named and numbered parameters

If the problem is only with "=" signs, the recommended solution is to explicitly introduce template parameters with their positional numbers or names.

Example: {{Tip|1=https://archlinux.org/?foo=bar}}

Result:

This is very useful for:

  • Variable definitions.
  • External links with query strings in URLs.
  • Shell strings and commands.
  • Lines of code.

White space characters (i.e. newlines) are automatically stripped from the beginnings and ends of named parameter values. To preserve white space characters, start the parameter value with a <nowiki/> tag.

Example:

{{Tip|1=<nowiki/>
* https://archlinux.org/?foo=bar
* https://archlinux.org/?foo=baz
}}

Result:

Multiple parameters
  • Using positional parameters 1 and 2
{{hc|1=$ echo "="|2==}}

Result:

$ echo "="
=
  • Using named parameters head and output
{{hc|head=$ echo "="|output==}}

Result:

$ echo "="
=

nowiki tags

If you are having problems with characters other than "=", e.g. "}", the recommended solution is to enclose the whole parameter in <nowiki> tags. This method displays all kinds of characters, but completely prevents the wiki engine from processing text markup, such as links and other templates. For example:

{{Tip|<nowiki>= | }} https://archlinux.org/ {{ic|foo}}</nowiki>}}
Tip: = | }} https://archlinux.org/ {{ic|foo}}

Enclosing only specific parts (or even single characters) in <nowiki> tags still works of course, but for readability it is recommended to use such method only if links or other templates have to be normally displayed. For example:

{{Tip|<nowiki>= | }}</nowiki> https://archlinux.org/ {{ic|foo}}}}
Tip: = | }} https://archlinux.org/ foo

HTML entities

Replacing the offending characters with their respective HTML entities always works, but since it reduces the readability of the source text, it is recommended only when the solutions above are not practicable. For example:

{{Tip|&#61; &#124; &#123;&#123; &#125;&#125;}}
Tip: = | {{ }}

Creation

Note:
  • The Template namespace is semi-protected. Only autoconfirmed users can create or edit templates.
  • Before creating a template, discuss the idea in Help talk:Template.
  • Only create relevant templates. If you are attempting to create a very specialized template that will likely only ever be used on a few articles, please do not bother, avoid cluttering up the templates namespace.
  • Only create concise templates. Remember The Arch Way: Keep It Simple, Stupid!

The following template should be used when creating new templates to facilitate usage and editing:

<noinclude>
{{Template}}

A brief description of the template

== Usage ==

<nowiki>{{Template name|param1|param2|...|paramN}}</nowiki>

== Example ==

{{Template name|param1|param2|...|paramN}}</noinclude><includeonly>Template code goes here...</includeonly>

To begin the creation process, simply visit Template:Template name (substituting Template name with the desired name of the template), edit, and add the relevant wikitext.

List of templates

The templates that users can use directly in articles on the ArchWiki are listed below. Click on the links to see their detailed usage. For a list that also includes localizations and meta templates see Special:AllPages/Template:, Special:PrefixIndex/Template: or Special:MostLinkedTemplates.

Warning: Please do not experiment with existing templates. If you want to edit a non-protected template, copy the text to Template:Sandbox, edit and test it there, and copy it back when it works. It is strongly recommended (and necessary for protected templates) to suggest any modifications on discussion pages first.

Testing

Article status templates

These templates should be added at the beginning of concerning articles or sections. See also Help:Style#Article status templates.

Translators should also check template guidelines in ArchWiki:Translation Team.

The pages flagged with the article status templates are tracked in the corresponding maintenance category and in ArchWiki:Statistics#Maintenance statistics.

Name Recommended use Parameters
Template:Style Content with language, wiki syntax or style issues. 1 — reason, 2 — optional talk page, section — optional section in the default talk page
Template:Accuracy Incorrect or misleading content.
Template:Expansion Incomplete content.
Template:Out of date Outdated content.
Template:Remove Irrelevant or unhelpful content.
Template:Archive Obsolete pages.
Template:Laptop style Laptop pages not following the Laptop page guidelines.
Template:Translateme Incomplete translations.
Template:Bad translation Problematic translations.
Template:TranslationStatus Status of translations. 1 — original title, 2 — translation date, 3 — revision number
Template:Merge Content overlaps with another article. 1 — target page, 2 — reason, 3 — optional talk page, section — optional section in the default talk page
Template:Move Rename page, move section to another article.
Template:Redirect Redirect page to another article.
Template:Unsupported User pages unsupported by Arch Linux. 1 — date of last review by page author

Related articles templates

Code formatting templates

Note templates

For use in drafts on discussion pages only:

Miscellaneous templates

Package templates

Table cell templates

Text align:

Name Align Wiki markup Result
Template:C center {{C|text}} text
Template:L left {{L|text}} text

Cell background:

Name Color Wiki markup Result
Template:R red {{R|text}} text
Template:O orange {{O|text}} text
Template:Y yellow {{Y|text}} text
Template:G green {{G|text}} text
Template:B blue {{B|text}} text
Template:V violet {{V|text}} text
Template:Grey grey {{Grey|text}} text

Common text:

Name Wiki markup Result
Template:Yes {{Yes}} Yes
{{Yes|https://wiki.archlinux.org/}} Yes
Template:No {{No}} No
{{No|https://wiki.archlinux.org/}} No
Template:- {{-}}
Tip: You can use attributes with table cell templates by prefixing them, e.g: | colspan=2 {{Yes}}.

Category templates

See also