Familypedia:Template namespace

Templates are used to duplicate the same content across more than one page. You can change a template in one place and it will immediately propagate to the pages that use it.

Introduction
Templates often look like text boxes with a different background color from that of normal text. They are in the template namespace, i.e. they are defined in pages with "Template:" in front of the name.

For example, consider the template Template:Disambig (follow the link to see the page where it can be edited). To insert the template's content into an article, type in the wiki page (  is called a template tag ). Every article with that tag in it will display the following text:

This technique is commonly known as transclusion. For a table of some useful templates, see Wikipedia:Wikipedia:Template messages.

Spaces in the name are allowed, e.g. . The first character (only) is not case-sensitive, so  and  are the same template, but  and  are not.

Templates can also accept template parameters which are then inserted into the output of the template.

Templates in the article namespace provide information to help readers. These can include navigation aids, or warnings that content is sub-standard. Templates that provide information only of service to editors belong on an article's talk page.

With the template namespace it is possible to include the contents of a page in that namespace within a page in a different namespace, using double curly braces around the template title (for example, would import Template:Title). This is used to:
 * place recurring messages (such as those to denote stubs, disambiguation pages, etc.) into articles in a consistent manner;
 * insert boilerplate messages for various issues like copyright violation, neutrality disputes, etc., using a simple shortcut command; and
 * create navigational templates and sidebars to link series of related articles together.
 * create infoboxes
 * provide cross-language portability of texts which are largely internationally the same, but contain some standard terms different in each language; the standard terms are replaced by referring to Template pages which have the same name but localised content in each language. This is applied for taxoboxes.

Templates should not masquerade as article content in the main article namespace; instead, place the text directly into the article.

Templates should not be used to create serialized links to external sites, with the exception of Wikimedia sisterprojects, such as Wiktionary.

Templates should also not be used to create lists of links to other articles when a category or a See also list can perform the same function.

Templates should also not be used to cite sources. See Wikipedia:WP:CITE and primary source transcluded templates TfD.

For instructions on using this namespace, and for more information about it, please see Template.


 * (Changes) Wikipedia:Wikipedia:Template messages – a list of boilerplate messages
 * (Changes) Wikipedia:Wikipedia:Navigational templates – a list of navigational elements

Template creation
To create a new custom message, simply create a page in the Template namespace, named "Template:", followed by a name for the message, that contains the text of the message. Names can now contain spaces and initial case is irrelevant. To create such a page, one way is to enter http://genealogy.wikia.com/wiki/Template:TheNameOfYourTemplate in the address bar of your browser and edit the page, replacing with an underline any planned space in the name. An alternative, often simpler, method is to create a link something like  Template:mymessage  on your user page or in the sandbox and then click on it.

You may want to consider protecting the messages you create (if you have administrator privileges), but see the talk page for a discussion of this. Please list any custom messages you create on this page and/or put them into a suitable category (with the category tag inside a pair of tags.

Usage
To add a template to the page, simply type the name of the template with two braces on each side. For example, to add Template:Stub to a page, type.

If a template takes a number of parameters, it is suggested that the template be formatted as the following:

Putting each parameter on a separate line and aligning them by the equals sign make it easier to read the wikicode.

Dynamic or subst

 * Main article: Wikipedia:Wikipedia:Template substitution

There are two major ways to include custom messages,   and  .   makes a copy of the message text and places it where you put the tag after you save an article (substitution). Without "subst", the message will be loaded and put on the page every time you view it, a process known as transclusion.

In other words, when the message is updated, you do not need to update a page that uses it if you use  . As a guideline, short temporal messages that will be removed soon should be copied using subst (which has the advantage of showing the message in the wiki source), and standard notices that might remain on a page for months or forever should be transcluded for easy updating. (You should not use   for a message which contains any links which may change in the future. This method doesn't refresh "What links here" unless every article containing the    gets changed after the modification of the link in the message.)

If you need to edit the template message individually after you put it on your page, use subst. If you don't need to edit it, and would rather the message is automatically updated along with changes made to the template, don't use subst.

For an example how to substitute variables at the time of their inclusion see the subst magic section in Wikipedia:Help:Variables.

Template documentation
A template can sometimes be difficult to use by only looking at the source of the template, so you are encouraged to document your template.

There are different ways to do this.

Inserting with "noinclude"
One alternative is to use &lt;noinclude&gt; to include a minor description direct into the template, for example: This is a article.&lt;noinclude&gt; Place this template on any article that requires description. It takes one parameter, an adjective used to describe the article. For example, produces the text, This is a bad article. &lt;/noinclude&gt;

Use talk page
Another alternative is to use the template talk page for documentation (preferred for templates with multiple parameters etc...). Using this approach, it's recommended to separate documentation and discussion, easiest by using level one sections to separate (this is an exception to the style guideline): =Documentation= usage etc... =Discussion= other discussion about the template

The easiest approach to accomplish the second approach is to type {{subst:doctl}} to the template talk space, that will insert standardized boilerplate text for the documentation.

Include template for separate doc page
A third alternative, now common with long documentation here and on Wikipedia, is to have a separate template page for the documentation. See Genealogy:Template doc page pattern.

A caution about line breaks
Note that some templates may accidentally cause extra linebreaks in the rendered articles. This is especially true of Infobox templates and other template boxes that usually float on the right side of an article, since the additional lines will not be seen on the template page.

As a general guideline, avoid two break lines together in your template. These may "add up" with other breaklines in the article and be displayed as unwanted white space.

Sandbox for experiments
If you wish to experiment with templates (and not have your experiments deleted before you are done with them), you may do so in the Template sandbox. You may also use the templates X1, X2, X3, X4, X5, X6, X7, X8 and X9 for experimental purposes. To include a test template, use the form for template X1,  for template X2, etc.

History
Historically, a "msg:" prefix had to be added in front of the template name when it was used on a page. For example, was typed instead of. This is no longer necessary.

In Wikipedia's first 35 months, there was no template or transclusion mechanism at all. The MediaWiki namespace was introduced with MediaWiki 1.2.6 on December 6, 2003, and was used not only for the user interface but also for creating boilerplate text messages, to be inserted in articles, using the syntax. This function was replaced with the Template namespace during the software upgrade to MediaWiki 1.3 on May 30, 2004. As a function of the "Template namespace initialisation script", all non-system messages were moved to the new namespace, and many redirects still exist. The initialisation script also replaced MediaWiki: references in articles with Template: in order to bypass the redirects.