Help:Creating Templates

From Chewiki: 1% Funny, 99% Hot Gas
Jump to navigation Jump to search

So you wanna help out the Chewiki by creating a template? Templates save you time by not having to update the coding on each and every page, rather being able to change the template itself. With that in mind, here's some tips on template making.

Creating a Template and Embedding it on Pages

You can create a template in the same way you create a regular pages. Just put Template: before the name of the template you want to create.

To place a template on a page, just put {{name of your template here}} on the page you want to place it on, and it should appear there after you save the changes.

Making a Simple Tag

If you want your template to be placed in a box, put this.

<div class="box">Hi, I'm a template. I liek to eat pie.</div>

And you'll get something like this.

Hi, I'm a template. I liek to eat pie.

Formatting

Background colors

This will make the background color red.

<div class="box" style="background: red;">Hi, I'm a template. I liek to eat pie.</div>
Hi, I'm a template. I liek to eat pie.


HTML hex values can also be used for more customization.

<div class="box" style="background: #00ff4b;">Hi, I'm a template. I liek to eat pie.</div>
Hi, I'm a template. I liek to eat pie.

Customize the template with whatever background color and message you need.

Borders

To add a black border put:

<div class="box" style="border: 1px solid;">Hi, I'm a template. I liek to eat pie.</div>
Hi, I'm a template. I liek to eat pie.


This will add a thicker blue border:

<div class="box" style="border: 4px solid blue;">Hi, I'm a template. I liek to eat pie.</div>
Hi, I'm a template. I liek to eat pie.

Images

To add an image to the side of the tag simply put this:

<div class="box">[[File:Image.jpg|38px]] Hi, I'm a template. I liek to eat pie.</div>
Error creating thumbnail: File missing
Hi, I'm a template. I liek to eat pie.

Parameters

You can add specify parameters to be added to your template.

Anonymous Parameters

To add an anonymous parameter put:

<div class="box">Hi, I'm a template. I liek to eat {{{1}}}.</div>
Hi, I'm a template. I liek to eat {{{1}}}.

It doesn't look like any has happened yet, but if you place this template on a page like this:

{{nameoftemplate|dinner}}

You will get:

Hi, I'm a template. I liek to eat dinner.

Named Parameters

If you would like to be more organized or you have a lot of parameters. Naming your parameters is a good idea. Here is an example:

<div class="box">Hi, I'm a template. I liek to eat {{{food}}}.</div>
Hi, I'm a template. I liek to eat {{{food}}}.

Here is the template placed this template on a page with the food parameter given the value of cheese:

{{nameoftemplate|food=cheese}}

You will get:

Hi, I'm a template. I liek to eat cheese.

Default Values for Parameters

You can assign a default value in a parameter. The default value will be shown if the parameter is not defined. To do this put a pipe ( | ) between the parameter name and closing brackets.

{{{parameter|value if parameter is not defined or empty}}}

Here is another example:

<div class="box">Hi, I'm a template. I liek to eat {{{food|pizza}}}.</div>

Now lets put the template on a page without supplying the parameter:

{{nameoftemplate}}

And you will get this:

Hi, I'm a template. I liek to eat pizza.

Various Parser Functions

You can also use programming in a template.

#if

Basic syntax:

{{ #if: test string | value if test string is not empty | value if test string is empty }}

If you place

{{ #if: {{{test|}}} | Hey, {{{test}}}| }}

in your template, and when placing a template on a page you put

{{nameoftemplate|test=I liek pie.}}

, you should get this:

Hey, I liek pie.

In this example, when you leave the test parameter empty the template generates nothing.

#ifeq

If you put

{{ #ifeq: 70 | 0070 | Value if equal here | Value if different here }}

on a page, you should get this:

Value if equal here

This function is case sensitive with letters, but not with numbers.

Additionally, you can use #ifeq to check the namespace/pagename/etc. of a page and produce a certain result. Really helpful, for creating a clean-up template or revamp your failed Featured Articles idea.

{{ #ifeq: {{NAMESPACE}} | Help | Yep. | Nah, man }}

produces

Yep..

{{ #ifeq: {{NAMESPACE}} | MediaWiki | Yep. | Nah, man }}

produces

Nah, man.

#switch

Basic syntax:

{{ #switch: test
|one = value when test is one
|two = value when test is two
|three = value when test is three
|#default = value if test doesn't match one, two, or three
}}

Example:

{{ #switch: {{NAMESPACE}}
|Talk= this is a talk page
|Help= this is a help page
}}

Gives you:

this is a help page

Another good example is located in the User template which you can view the code of.

Magic Words

If you place any of these codes on a page, they should yield the following results:


{{PAGENAME}} = Name of the page; in this case, Creating Templates

{{FULLPAGENAME}} = Entire name of the page including the namespace; in this case, Help:Creating Templates

{{NAMESPACE}} = The namespace of this page, which on this page is Help

{{CURRENTYEAR}} = The year it is right now: 2021

{{CURRENTMONTHNAME}} = The current month: October

{{CURRENTMONTH}} = The current month in date form: 10

For more variables, look here!

Additional Info

  • Pages can be embedded just like regular templates. Just put the name of the page between the '{{' and '}}' brackets and put a colon before the title.
  • Subpages are similar to templates. To create a subpage, just do it as you would create a regular page, but put a / and the name of the subpage you want to create after the main page. Subpages can be embedded like templates too.
  • If you need any more help, just look up MediaWiki articles on templates.