Help:Template

HELP CONTENTS · Getting Started · New to Gamification Wiki · Editing Gamification Wiki · Editing Gamification Wiki (advanced) · The Gamification Wiki Community · Additional Help
See http://meta.wikimedia.org/ Meta-Wiki HelpIntro for basic MediaWiki usage!

This page is meant to be a quick how-to with helpful tips for creating and editing templates in Gamification Wiki. It is not meant as a definitive tech reference. MediaWiki's own page has that already.

Contents

"Template:" vs Local Templates

You may already have seen that some pages use {{Sometemplate}} while others use {{Template:Sometemplate}}. This usually means the same thing; if you don't tell the wiki in which namespace to look, it will look under "Template:".

Wait, what did I just say?

  • A template does not have to live under "Template:". You can pull in a page from wherever into your page.

For site-wide templates, it makes sense to put them in the "Template:" namespace where everyone can find them, but for something that you're only using in a few pages, it makes much more sense to just put it in e.g. "MyPage/TheTemplate", and pull it in with {{:MyPage/TheTemplate}}.

  • Note the ":" at the beginning of {{:MyPage/....   Since most pages live in the "main" namespace of the wiki, we'd not be telling the wiki where to look for the page to include, so it'd go look in "Template:", where it wouldn't find much.   ":" by itself means "Look in the main namespace, please".

You will have to use your own judgement for what's right for your template. Here's a few instructive examples though:

Templates that belong in "Template:"

Naming your template

This depends on where your template gets placed, really. And how commonly used you think it's going to be.

  • Used dozens of times?
- Pick a short name.
  • Used a handful of times?
- Long, descriptive name.
  • In "Template:", a very commonly used template will likely be a single word, or two contracted words, all in lowercase. This makes it fast and easy to write. Examples include: {{clr}}, {{infoline}}.
  • "Template:" templates that are more seldomly used will need a more descriptive name. But its name will still be fairly short.
  • A locally stored template will typically be a subpage of something else, e.g. "My Page/My Template". Other than that, it can have just about any name.

    • If it needs to be long winded and descriptive, make it so: {{Gamification_Wiki:Policy/Terminating/Direct termination terms}} (but you'll still go nuts if you need to include it in more than a handful of pages).
    • Or be more brief; as long as you think people understand what the template is about when they stumble over it.

Explaining what your template does

It's very helpful to others (or, heck, yourself half a year from now!) to explain what your template actually does and why it exists. It's easy to put this information in the template without it pestering pages where it's included:

<noinclude>''This template does X and is used by Y. I made it a template because Z. --~~~~''

</noinclude>
(and then the actual template...)

... where "X" and "Z" certainly can be left out if it's obvious, and "Y" might be "globally" or "all pages dealing with ...". It doesn't even have to follow any particular format, really; just a quick note about the template helps!

This becomes even more important when your template uses parameters. Other people really appreciate it when you explain what order to input things.

Templates have Talk pages too!

If there's more you'd like to say about your template than you care to explain between <noinclude> tags, templates do have talk pages just like any other page! It might be a good idea to mention that there's info in the talk page between your <noinclude> tags though; most people don't go looking for talks on templates. ;-)

Tips and tricks

Categories in templates

If you put a category in a template, all pages that use the template will suddenly end up in that category. Well, semi-suddenly anyway; the page needs to be edited once (just add a blank line or a space) before they're actually moved.

However, if you just go ahead and put in the category tag, your template will end up in the category too, which is maybe not what you intended. Use this:

<includeonly>[Bad Link: Plugin  Not Found]</includeonly>

Template parameters

This is actually a fairly huge topic; we'll try to cut it short.

MyTemplate: {{{1}}}, My template uses {{{2}}}!
Using it: {{MyTemplate|Look!|parameters}}
Results in:

Look! My template uses parameters!

You can also name parameters:

MyTemplate: {{{who}}}, look! My template uses {{{something}}}!
Using it: {{MyTemplate|something=parameters|who=Mommy}}
Results in: Mommy, look! My template uses parameters!

You can also give default values for things that aren't supplied:

MyTemplate: {{{who|Oi}}}, look! My template uses {{{something|parameters}}}!
Using it: {{MyTemplate|something=parameter defaults!!}}
Results in: Oi, look! My template uses parameter defaults!!!

Equal signs in parameter values

Since equal signs, "=", are part of how parameter values are supplied, they're a little bit troublesome. You can't supply equal signs to numbered parameters at all. However, you can supply them to named parameters:

{{MyTemplate|Haha =)}}

This will probably not work like you intended. You're setting the parameter "Haha" to ")". Not "1" to "Haha =)".

{{MyTemplate|text=Haha =)}}

This example sets the parameter "text" to "Haha =)".

Templates can use templates!

When your templates are getting big, chances are you want to re-use something from one template in another template.

  • Just cut the common parts out and paste them into a new template and then use that template in other templates!

There's also other reasons why you may want to use sub-templates. See e.g. {{Delete}} and {{Delete/Content}}. Pulling in new" Delete" automatically marks the page for deletion, but Gamification_Wiki:Delete also wants to show what it looks like without getting itself marked for deletion, so it just pulls in "Delete/Content".

Splitting templates into a /Begin and /End

  • For an example of split templates, see {{Example/Begin}} and {{Example/End}}.
  • Of course, {{Example}} pulls them both in for places where you don't need the extra oomph.

Template parameters can't contain just anything. They're pretty aggressive about HTML tags, and trying to insert "{" or "}" or "=" is bordering on painful. So for templates where you know you'll have lots of content, or quirky content, it makes more sense to split them up into a "Begin" and "End" template, e.g. "MyTemplate/Begin", "MyTemplate/End".

  • Note: You cannot begin a HTML tag in one template and end it in another. The MediaWiki software refuses to leave HTML tags unfinished in a page, so it helpfully ends them for you right at the end of the "Begin" snippet, long before they're of any use to you.
MyTemplate/Begin: <table ...><tr>
MyTemplate/End: </tr></table>
« This won't work!
  • Wiki-style tables, on the other hand, can be begun in one template and ended in another.
MyTemplate/Begin: {| ...
MyTemplate/End: |}
« This will work!

Categorize your templates!

It helps other editors (and probably yourself, too!) if you categorize your templates themselves. Perhaps not so much for "Template:" templates, but definitely for local templates!

Pages that use a local template will likely share one or more common categories, so making a "Your Category/Templates" and putting the templates there helps other editors find them easily!

  • Make sure that pages using your template don't end up in the "/Templates" category!
<noinclude>This template does X and is used by Y. See the talk page!  --~~~~
[Bad Link: Plugin Not Found] </noinclude>
(and then the actual template...)

Automatic subtemplate selection

There is a number of built-in variables that are very useful for templates.

One such is {{PAGENAME}}, which for this page is "Template". So all base zone pages could for instance use a template that pulls in ":{{PAGENAME}}/Boss list", and links to "{{PAGENAME}}/Loot list". But attempting to use that template inside one of the subpages would break horribly.

Pages with lots of templates not updating

When a page pulls in lots of templates, it won't always update when a template changes. There are two ways to force a refresh:

Is anything on this page unclear? Or is there something you'd like to know more about? - Drop a line in the Talk page!

See also

  • Category:Templates. Nearly everything in the "Template:" namespace, categorized in subcategories.
Categories: