Wiki Law School will soon be moving! Please update your bookmarks. Our future address is www.wikilawschool.org |
Help:Templates
Help Pages Table of Contents |
Introduction |
Reading |
Navigation |
Searching |
Logging in |
Notifications |
Tracking changes |
Page history |
Watchlist |
Editing |
Editing pages |
Starting a new page |
Formatting |
Talk pages |
Structured Discussions |
User page |
Links |
Categories |
Advanced Editing |
Footnote citations |
Images |
Tables |
Transclusion |
Templates |
Moving a page |
Namespaces |
Variables |
Managing files |
Special pages |
Deleting pages |
Customizing |
Preferences |
If you have standard texts you want to include on several pages, the MediaWiki template feature comes into play (like the Help Pages table of contents, which is included in the pages of the Help namespace).
Creating a template
Template names are prefixed with Template:
, you create them like any other wiki page.
Using a template
Templates are wiki pages which can be used in other pages in three ways:
{{Name}}
includes the current content of the page "[[Template:Name]]".{{subst:Name}}
inserts the content of the page "[[Template:Name]]" when you save your text.{{msgnw:Name}}
includes the template in raw wiki syntax, like<nowiki>
does
Using parameters in templates
Template with numbered parameters | |
'''A little thank you...'''<br> <small>for {{{1}}}.<br> hugs, {{{2}}}</small> | |
You type | You get |
{{Thankyou|all|~~~}}
|
A little thank you... |
with named parameters | |
'''A little thank you...'''<br> <small>for {{{reason}}}.<br> hugs, {{{signature}}}</small> | |
You type | You get |
{{Thankyou |reason=all |signature=~~~}} |
A little thank you... |
You can define parameters in templates either numbered as {{{1}}}
or named {{{param}}}
.
Example: you want a little thank you note you can put other users on their talk page with a reason and your signature. In the Template:Thankyou you enter your text.
When using the template on a page, you fill in the parameter values, separated by a pipe char (|): {{Thankyou|all|~~~}}
or - if you have used named parameters {{Thankyou|reason=all|signature=~~~}}
. The advantage of using named parameters in your template is that they are flexible in order. It also makes the template easier to understand if you have many parameters. If you want to change the order of numbered parameters, you have to mention them explicitly: {{Thankyou|2=~~~|1=all}}
.
Control template inclusion
You can control template inclusion by the use of <noinclude>
and
<includeonly>
tags.
Anything between <noinclude>
and </noinclude>
will be processed and
displayed only when the page is being viewed directly, not included.
Possible applications are:
- Categorising templates
- Interlanguage links to similar templates in other languages
- Explanatory text about how to use the template
The converse is <includeonly>
. Text between <includeonly>
and
</includeonly>
will be processed and displayed only when the page is
being included. The obvious application is to add all pages containing a given template to a category.
Note that the usual update problems apply -- if you change the categories inside a template, the categories of the referring pages won't be updated until those pages are edited.
Documentation
Documentation for users, together with the template's categories, normally goes after the template code, inside <noinclude>...</noinclude>
tags. It is normally necessary to put the opening <noinclude>
tag immediately after the end of the code, with no intervening spaces or newlines, to avoid transcluding unwanted whitespace.
Template documentation should explain what a template does and how to use it. It should be simple enough that a user without complete knowledge of the intricacies of template syntax—which includes many experienced contributors who focus their attention elsewhere—can use it correctly. This is especially true in the case of very widely used templates.
In the case of complex or high-use templates, the documentation is often kept on a separate subpage of the template page (named "Template:XXX/doc"). This applies especially to many protected templates, so that non-administrators can edit the documentation. To do this, place a call to the {{Documentation}} template after the main template code and within <noinclude>...</noinclude>
tags. If the "/doc" subpage does not exist, a link appears when you display the template that you can use to create the subpage. A call to the {{Documentation subpage}} Template is inserted in the "/doc" subpage to identify that page as such.
The documentation subpage, rather than the template itself, is normally what is placed in categories to represent a template.
Adding an Example
For templates to be effective, users need to find them and be able to use them. Wiki are not user friendly when it comes to finding, using and working with templates. A simple technique is to have a usage on the template page. For example, this can be done by inserting the following text on the template page:
==Usage== Allows to establish a link to a subject: <nowiki>{{NameOfTemplate | Term1 = | Term2 = | Term3 = }} </nowiki>
The user can simply copy and paste the template to establish a new page that is similar to other pages. The example demonstrated above is trivial; however, a working example that demonstrates how templates can be used in complex situations to save time, enhance accuracy, and help categorize pages on specialty topics more easily. See a working example here.