Gamepedia Help Wiki
Tag: Visual edit
(14 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
{{Ambox
 
{{Ambox
|type=For a list of all the templates on this wiki, see [https://help.gamepedia.com/index.php?title=Special%3APrefixIndex&prefix=&namespace=10 this list]
+
|type = For a list of all the templates on this wiki, see [https://help.gamepedia.com/index.php?title=Special%3APrefixIndex&prefix=&namespace=10 this list]
|border=yellow
+
|border = blue
|style=font-size:80%
+
|style = font-size:80%
 
}}
 
}}
<br>
+
<br/>
 
{{Infobox
 
{{Infobox
|name=Example infobox
+
|name = Example infobox
|image=Curse hydra.png
+
|image = Curse hydra.png
|race=Plushie
+
|race = Plushie
|location=Curse Headquarters
+
|location = Curse Headquarters
|source=[[User:Encredechine{{!}}Encredechine]]
+
|source = [[User:Encredechine{{!}}Encredechine]]
|related=Fun
+
|related = Fun
 
}}
 
}}
 
 
At their most basic, '''templates''' are basically just wiki pages whose content may be pulled into other pages. In other words, all the content you see when viewing a page may not actually be in the page source. Some or even all of it may be in templates.
 
At their most basic, '''templates''' are basically just wiki pages whose content may be pulled into other pages. In other words, all the content you see when viewing a page may not actually be in the page source. Some or even all of it may be in templates.
   
Two very common types of templates are shown here as examples:
+
Three very common types of templates are shown here as examples:
  +
* At the top, there is an example of a "message box" template, usually used for article maintenance.
 
* To the right, there is an example of an "infobox" template. Nearly every wiki provides at least one of these.
 
* To the right, there is an example of an "infobox" template. Nearly every wiki provides at least one of these.
 
* Below, there is an example of a navigation template called a "navbox" typically used at the bottom of pages.
 
* Below, there is an example of a navigation template called a "navbox" typically used at the bottom of pages.
Line 25: Line 25:
 
== Templates in the page source ==
 
== Templates in the page source ==
 
When editing wiki pages, it is likely you might encounter something like this:
 
When editing wiki pages, it is likely you might encounter something like this:
  +
 
<nowiki>{{Example}}</nowiki>
+
<pre>{{Example}}</pre>
   
 
Or perhaps something more complex like this:
 
Or perhaps something more complex like this:
  +
 
  +
<pre>
<nowiki>{{Infobox
+
{{Infobox
|name=Example infobox
+
|name = Example infobox
|image=Curse hydra.png
+
|image = Curse hydra.png
|race=Plushie
+
|race = Plushie
|location=Curse Headquarters
+
|location = Curse Headquarters
|source=[[User:Encredechine{{!}}Encredechine]]
+
|source = [[User:Encredechine{{!}}Encredechine]]
|related=Fun
+
|related = Fun
 
}}
 
}}
</nowiki>
+
</pre>
   
These are examples of templates being used on these wiki pages. The first is using <nowiki>[[Template:Example]]</nowiki>, the second is using <nowiki>[[Template:Infobox]]</nowiki>. The double curly brackets, <code>{{</code> and <code>}}</code> usually mean that a template is being used there, but unfortunately, double curly brackets also have other uses in wikitext, which can cause some confusion.
+
These are examples of templates being used on these wiki pages. The first is using <nowiki>[[Template:Example]]</nowiki>, the second is using <nowiki>[[Template:Infobox]]</nowiki>. The double curly brackets, <code><nowiki>{{</nowiki></code> and <code>}}</code> usually mean that a template is being used there, but unfortunately, double curly brackets also have other uses in wikitext, which can cause some confusion.
   
  +
Templates can also use [[Lua|lua to run faster.]]
=== jhon==
 
  +
  +
<br />
  +
  +
=== How to tell if it's a template ===
 
Let's look at our examples above again.
 
Let's look at our examples above again.
   
  +
<pre>
<nowiki>{{Infobox
+
{{Infobox
|name=Example infobox
+
|name = Example infobox
|image=Curse hydra.png
+
|image = Curse hydra.png
|race=Plushie
+
|race = Plushie
|location=Curse Headquarters
+
|location = Curse Headquarters
|source=[[User:Encredechine{{!}}Encredechine]]
+
|source = [[User:Encredechine{{!}}Encredechine]]
|related=Fun
+
|related = Fun
 
}}
 
}}
</nowiki>
+
</pre>
   
 
In this case, we have a definite clue because the first thing after the name other than just space is a pipe character: (<code>|</code>). This is definitely a template. If it were a colon instead, (<code>:</code>), then it would not be a template, but some kind of [[magic words|magic word]].
 
In this case, we have a definite clue because the first thing after the name other than just space is a pipe character: (<code>|</code>). This is definitely a template. If it were a colon instead, (<code>:</code>), then it would not be a template, but some kind of [[magic words|magic word]].
   
<nowiki>{{Example}}</nowiki>
+
<pre>{{Example}}</pre>
   
 
Unfortunately, this one doesn't offer any definite clues right off the bat. If you aren't sure, there are a few ways to make a pretty good guess:
 
Unfortunately, this one doesn't offer any definite clues right off the bat. If you aren't sure, there are a few ways to make a pretty good guess:
Line 65: Line 71:
   
 
== Basic transclusion ==
 
== Basic transclusion ==
  +
{{See|mw:Help:Transclusion}}
 
Transclusion is by far the most common way to use templates.
 
Transclusion is by far the most common way to use templates.
   
Line 81: Line 88:
 
There are other ways of using templates, but these are useful only in special situations. Most editors will never have any use for these special functions, so they are explained only at the [[#Alternate ways to use templates|bottom of this page]].
 
There are other ways of using templates, but these are useful only in special situations. Most editors will never have any use for these special functions, so they are explained only at the [[#Alternate ways to use templates|bottom of this page]].
   
=== jhon ===
+
=== Template documentation ===
 
Many template authors provide documentation for how to use specific templates. This can usually be found on the template page itself. If you are editing a page using a particular template, one way you can usually get to the template page quickly is by using the "Templates used on this page" section at the bottom of the edit page.
 
Many template authors provide documentation for how to use specific templates. This can usually be found on the template page itself. If you are editing a page using a particular template, one way you can usually get to the template page quickly is by using the "Templates used on this page" section at the bottom of the edit page.
   
Unfortunately, many templates are not documented. In this case, you can try looking for examples of the template being used on other pages. From the template page, try clicking "What links here" in the "Tools" menu in the sidebar to find other pages where the template is used. If it's not documented, consider writing your own template documentation.
+
Unfortunately, many templates are not documented. In this case, you can try looking for examples of the template being used on other pages. From the template page, try clicking "[[What links here]]" in the "Tools" menu in the sidebar to find other pages where the template is used. If it's not documented, consider writing your own template documentation.
   
 
It can help to understand how to [[Writing templates|write templates]]. Once you do, you may be able to figure out a template simply by opening it for editing and looking at its source, but templates can be very complex and may use advanced wiki features or specific extensions, like any other wiki page. If all else fails, never hesitate to ask for assistance from the wiki community.
 
It can help to understand how to [[Writing templates|write templates]]. Once you do, you may be able to figure out a template simply by opening it for editing and looking at its source, but templates can be very complex and may use advanced wiki features or specific extensions, like any other wiki page. If all else fails, never hesitate to ask for assistance from the wiki community.
Line 92: Line 99:
   
 
* <code><nowiki>{{subst:Name}}</nowiki></code> — when this template link is used, it will be replaced once and for all with the content of <nowiki>[[Template:Name]]</nowiki> as of the time the page with the link is '''saved'''; a copy of the contents of <nowiki>[[Template:Name]]</nowiki> will be ''substituted'' for the template link. The contents are then a part of the including page, and can be edited normally, separately from the original. Changes to the source template page will ''not'' be propagated to the page with the template link.
 
* <code><nowiki>{{subst:Name}}</nowiki></code> — when this template link is used, it will be replaced once and for all with the content of <nowiki>[[Template:Name]]</nowiki> as of the time the page with the link is '''saved'''; a copy of the contents of <nowiki>[[Template:Name]]</nowiki> will be ''substituted'' for the template link. The contents are then a part of the including page, and can be edited normally, separately from the original. Changes to the source template page will ''not'' be propagated to the page with the template link.
* <code><nowiki>{{safesubst:Name}}</nowiki></code> — this is for special cases where a template may be designed to work both through transclusion and substitution. For example, say you used a template <nowiki>{{Firstname}}</nowiki> within <nowiki>[[Template:Name]]</nowiki>. If you use <nowiki>{{subst:Name}}</nowiki>, the <nowiki>{{Firstname}}</nowiki> will be saved on the page. If you try to change it to <nowiki>{{subst:Firstname}}</nowiki> inside <nowiki>[[Template:Name]]</nowiki>, then it'd be substituted inside the template. safesubst: doesn't substitute until the template containing it is used with subst:.
+
* <code><nowiki>{{safesubst:Name}}</nowiki></code> — this is for special cases where a template may be designed to work both through transclusion and substitution. For example, say you used a template <nowiki>{{Firstname}}</nowiki> within <nowiki>[[Template:Name]]</nowiki>. If you use <nowiki>{{subst:Name}}</nowiki>, the <nowiki>{{Firstname}}</nowiki> will be saved on the page. If you try to change it to <nowiki>{{subst:Firstname}}</nowiki> inside <nowiki>[[Template:Name]]</nowiki>, then it'd be substituted inside the template. <code>safesubst:</code> doesn't substitute until the template containing it is used with <code>subst:</code>.
 
* <code><nowiki>{{msgnw:Name}}</nowiki></code> includes the template in a form that displays it as raw wiki syntax (the way <code><nowiki>&lt;nowiki&gt;</nowiki></code> does) when the page containing it is fetched.
 
* <code><nowiki>{{msgnw:Name}}</nowiki></code> includes the template in a form that displays it as raw wiki syntax (the way <code><nowiki>&lt;nowiki&gt;</nowiki></code> does) when the page containing it is fetched.
   
 
== See also ==
 
== See also ==
* [[Wikipedia:Help:A quick guide to templates|Wikipedia]]'s quick guide to templates
+
* [[wikipedia:Help:A quick guide to templates|Wikipedia's quick guide to templates]]
  +
 
[[Category:Editing]]
 
[[Category:Editing]]
 
[[Category:Templates| ]]
 
[[Category:Templates| ]]
Line 102: Line 110:
 
[[fr:Modèles]]
 
[[fr:Modèles]]
 
[[pl:Szablony]]
 
[[pl:Szablony]]
  +
[[pt:Predefinições]]
  +
[[tr:Şablonlar]]

Revision as of 22:04, 9 July 2021


At their most basic, templates are basically just wiki pages whose content may be pulled into other pages. In other words, all the content you see when viewing a page may not actually be in the page source. Some or even all of it may be in templates.

Three very common types of templates are shown here as examples:

  • At the top, there is an example of a "message box" template, usually used for article maintenance.
  • To the right, there is an example of an "infobox" template. Nearly every wiki provides at least one of these.
  • Below, there is an example of a navigation template called a "navbox" typically used at the bottom of pages.


Speaking generally, a template is any wiki page whose content is designed to be transcluded (embedded) inside other pages. Templates follow a convention that the name is prefixed with Template:, assigning it to that namespace.

Templates in the page source

When editing wiki pages, it is likely you might encounter something like this:

{{Example}}

Or perhaps something more complex like this:

{{Infobox
|name = Example infobox
|image = Curse hydra.png
|race = Plushie
|location = Curse Headquarters
|source = [[User:Encredechine{{!}}Encredechine]]
|related = Fun
}}

These are examples of templates being used on these wiki pages. The first is using [[Template:Example]], the second is using [[Template:Infobox]]. The double curly brackets, {{ and }} usually mean that a template is being used there, but unfortunately, double curly brackets also have other uses in wikitext, which can cause some confusion.

Templates can also use lua to run faster.


How to tell if it's a template

Let's look at our examples above again.

{{Infobox
|name = Example infobox
|image = Curse hydra.png
|race = Plushie
|location = Curse Headquarters
|source = [[User:Encredechine{{!}}Encredechine]]
|related = Fun
}}

In this case, we have a definite clue because the first thing after the name other than just space is a pipe character: (|). This is definitely a template. If it were a colon instead, (:), then it would not be a template, but some kind of magic word.

{{Example}}

Unfortunately, this one doesn't offer any definite clues right off the bat. If you aren't sure, there are a few ways to make a pretty good guess:

  • One clue is that it is a template is that isn't in all capital letters. Virtually all magic words that don't require a colon are typed in all caps.
  • To be sure, when editing a page, you should see "Templates used on this page" at the bottom of the screen under the "Save Page" and other buttons. If it's listed there, it's definitely a template.
  • If it isn't a documented magic word, it's almost certainly a template.

Basic transclusion

Transclusion is by far the most common way to use templates.

  • {{Name}} — as described above, this link will be dynamically replaced by the current content of [[Template:Name]] at the time the page with the template link is loaded. The page's source will be unchanged.

In fact, an ordinary wiki page can also be used as a template, simply by specifying the namespace in which it resides, so:

  • {{Template:Pagename}} includes [[Template:Pagename]]
  • {{Foo:Pagename}} includes [[Foo:Pagename]]
  • {{:Pagename}} includes [[Pagename]]
    • {{SUBST::Pagename}} replaces itself with the contents of [[Pagename]]

If no such namespace exists, the full title is assumed to be a template:

  • {{Foo:Bar}} includes [[Template:Foo:Bar]]

There are other ways of using templates, but these are useful only in special situations. Most editors will never have any use for these special functions, so they are explained only at the bottom of this page.

Template documentation

Many template authors provide documentation for how to use specific templates. This can usually be found on the template page itself. If you are editing a page using a particular template, one way you can usually get to the template page quickly is by using the "Templates used on this page" section at the bottom of the edit page.

Unfortunately, many templates are not documented. In this case, you can try looking for examples of the template being used on other pages. From the template page, try clicking "What links here" in the "Tools" menu in the sidebar to find other pages where the template is used. If it's not documented, consider writing your own template documentation.

It can help to understand how to write templates. Once you do, you may be able to figure out a template simply by opening it for editing and looking at its source, but templates can be very complex and may use advanced wiki features or specific extensions, like any other wiki page. If all else fails, never hesitate to ask for assistance from the wiki community.

Alternate ways to use templates

In addition to standard transclusion, templates can be used in other pages in these ways:

  • {{subst:Name}} — when this template link is used, it will be replaced once and for all with the content of [[Template:Name]] as of the time the page with the link is saved; a copy of the contents of [[Template:Name]] will be substituted for the template link. The contents are then a part of the including page, and can be edited normally, separately from the original. Changes to the source template page will not be propagated to the page with the template link.
  • {{safesubst:Name}} — this is for special cases where a template may be designed to work both through transclusion and substitution. For example, say you used a template {{Firstname}} within [[Template:Name]]. If you use {{subst:Name}}, the {{Firstname}} will be saved on the page. If you try to change it to {{subst:Firstname}} inside [[Template:Name]], then it'd be substituted inside the template. safesubst: doesn't substitute until the template containing it is used with subst:.
  • {{msgnw:Name}} includes the template in a form that displays it as raw wiki syntax (the way <nowiki> does) when the page containing it is fetched.

See also