Wiki Templates

From Drunkapedia
Revision as of 08:29, 20 May 2012 by imported>Arkalor (→‎Navigation)
Jump to: navigation, search

Related topics: Page Templates, Wiki Markup Reference

List of wiki templates that are used in formatting areas/items that recur frequently across different pages. Their purpose is two-fold, to make using advanced formatting simpler and to allow formatting changes in the future with a single edit (so you don't have to go back and reedit all the pages that use the template). Templates are not only convenient, but they can also "force" a useful uniformity. Some templates are simple and do not require any parameters but most do. If you're new to the term parameter or argument passing in general, a more complete description is given below.


Unlike the templates listed here, Page Templates are copies of the basic wiki markup code for an entire page and include large areas where unique information is inserted (for example the walkthough on a quest guide). The templates listed here are self-contained, small, and only the specified parameters can be used. Page templates usually contain one or more wiki templates within them, but it is rare for a wiki template to be sufficient to cover the content of an entire page. An analogy would be page templates are like the blue prints of a house, wiki templates are like the lumber and materials, and unique content is like the furniture and people. Also an important technical difference is content using a wiki template looks up the template each time the page is accessed and will reflect the most current version of the template. This is not true for page templates, the content pages do not change if the page template is changed and must be updated manually.


Note: Wikipedia and many other wikis use lower case or first letter upper case (e.g., "Wiki templates" or "wiki templates") in naming articles, templates, images, etc. However due to the specialized nature of ACC Wiki wherein it holds only content related to Asheron's Call, title case is the default for naming because that is what is used in game.

List of Templates

More information for each template can be found by clicking on the template name.

Maps

  • {{Spawn Map}} - Formats preexisting map of spawn locations. See Spawn Map for additional information.
  • {{Map Point}} - Displays a location on a small map of Dereth given specific coordinates, up to 4 points can be displayed on the same map.
  • {{Map Point Plus}} - Displays locations on a large map of Dereth given specific coordinates. The markers on the map can be individually customized for each point, including a popup description which will link to the article of the same name.
  • {{Scrolling Map}} - Adds horizontal and vertical scroll bars to an oversize image and displays it within a box that scales to the page to the size specified.

Table of Contents

  • {{LeftToC}} - Table of contents appears on left side with text wrapping along the right.
  • {{RightToC}} - Table of contents appears on right side with text wrapping along the left.
  • {{Quest Links}} - Placed in quest summary header provides ToC like links to the major sections of a quest writeup.
  • {{Exemplar ToC}} - Floats an exemplar image and Table of Contents on the right (text will wrap on the left).

Navigation

Quotations

Archive of Internet Article

See Archive of Internet Article Template for an examples.

  • {{Turbine 2008}} - Archived internet articles from Turbine's website following the redesign in August 2008 (ac.turbine.com)
  • {{Turbine 2005}} - Archived internet articles from Turbine's website between the redesigns in July 2005 and August 2008 (ac.turbine.com).
  • {{Turbine Games}} - Archived internet articles from Turbine's new website between 2003 and the redesign in July 2005 (ac.turbinegames.com).
  • {{Microsoft Games Insider}} - Archived internet articles from Microsoft Games (microsoftgamesinsider.com).
  • {{Microsoft Games}} - Archived internet articles from Microsoft Games (microsoft.com/games/zone/asheronscall/).
  • {{Microsoft Zone}} - Archived internet articles from the Microsoft Zone (zone.com/asheronscall/).
  • {{Zogblaster}} - Archived internet articles from Turbine's pre-release pages before Nov 1999 (zogblaster.com/tweb/asherons-call/).

Elements

Rudimentary components used within many other templates/types of pages.

  • {{!}} - Alias for a pipe ( | ) when used within a parameter list for a wiki template.
  • {{!-}} - Alias for a pipedash ( |- ) when used within a parameter list for a wiki template.
  • {{=}} - Alias for an equals sign ( = ).
  • {{Icon}} - Displays Icon, enforces Naming Conventions, sets the Icon popup caption to the item name rather than the full image file name, and links the icon itself to the item rather than the icon's image page.
  • {{Icon Bullet}} - A bulleted list item showing an icon and a text link to the item. Enforces Naming Conventions, sets the Icon popup caption to the item name rather than the full image file name, and links the icon itself to the item rather than the icon's image page..
  • {{Locations}} - Creates a whatlinkshere link for creatures and items, for use in the Notes section.
  • {{nobr}} - Format a block of text/images so that they will not line break, useful in tables also.
  • {{Notes}} - Superscript links for up to 10 other pages or web addresses. Used at the end of a sentence to refer to supporting materials. Footnotes are a more robust solution.
  • {{Post}} - Formatting for an individual post with indenting, can be used on talk pages or the Forum.
  • {{Sold By}} - Creates a whatlinkshere link for items that are sold by one or more vendors, for use in the Notes section (use even when a single vendor since it will automatically update if more vendors are added in the future).
  • {{Strip}} - Remove (trim) leading and trailing white space from a variable.
  • {{tl}} - Links to a wiki template showing the name surrounded by curly braces, for use on instructional/help pages.
  • {{mtl}} - Nonlink for a wiki template showing the name surrounded by curly braces (used as a parameter that will be turned into a link, such as for {{Related}}.

Page Template Related

Templates that are designed for use on specific Page Templates.

Lore Templates

Templates used in various lore pages:

Functions

Technically these are not templates, but they are similar in appearance. These modify a string value or perform some operation. A few that are used often in templates are listed below, for a more complete list, see Wiki Markup Reference#Magic Words and Help:Magic words.

  • {{lc:words}} - Converts the words to all lower case. Useful for allowing case insensitivity in your parameters.
  • {{uc:words}} - Converts the words to all upper case.
  • {{PAGENAME}} - Returns the name of the page where used. For example if used on this page, would give "Wiki Templates".

Image License

Parameters

A parameter, or argument, is information that the template needs to complete its job. If a parameter is required, you must include it, if it is optional you can omit it if it doesn't apply. For example if someone gives you a to do list, the purpose of the list is clear, you are supposed to do the items on the list. But for any given list, the items will differ. A template that requires parameters is the same idea. Parameters are separated with single pipes ( | ). If you need to include a pipe as part of a parameter use {{!}}. Here's an example of formatting a to do list with three items using the fictional ToDoList template:

{{ToDoList|Buy milk.|Return videos.|Wash car.}}

How the list is formatted will depend on exactly how the actual template is setup, but here is one possibility:

To Do List


  1. Buy milk.
  2. Return videos.
  3. Wash car.

Named Variables

Unlike the ToDo list above where all the parameters are things to do, most templates that use parameters give each one an explicit name. This is needed when the parameters are formatted differently or put in particular locations.

An example would be a business card template. The phone number, address, name, etc all go in particular locations and so the template needs to know which parameter is the name, which is the address, etc.

For example:

{{Business Card
| Name = Martine Strathelar
| Address = 100 Planar Drive, Dereth
| Business = Temporal Translocations
| Phone Number = 555-555-1212
}}

which using the hypothetical Business Card template might be displayed as:


Martine Strathelar


Temporal Translocations


100 Planar Drive, Dereth - (555)555-1212

Whitespace

Whitespace (including newlines, tabs and spaces) is stripped from the beginning and end of all parameters. If this is not desirable, adding any non-whitespace characters (including the HTML encoding for a whitespace character, or invisible Unicode characters such as the zero-width space or direction marks) will prevent further stripping:

{{#ifeq: foo            |            foo | equal | not equal }}
equal
{{#ifeq:  foo            |            foo  | equal | not equal }}
not equal

Judicious use of whitespace can make templates more readable, quicker to fill out, and easier to debug when unexpected behavior occurs. Compare the two uses below that would have identical results.

{{Template
 |   Parameter One = One
 |   Parameter Two = Two
 | Parameter Three = Three
 |  Parameter Four = Four
}}

{{Template|Parameter One=One|Parameter Two=Two|Parameter Three=Three|Parameter Four=Four}}

Strip/Trim

Some complicated templates can experience problems with how white space is used when invoking the template (where you would get different results using {{template | variable }} vs. {{template|variable}} even though technically they should be the same. Use the {{Strip}} function around the variable in the template for consistent results.

Advanced Template Syntax

To use templates you won't need to know any of the following, however in order to edit an existing template or to create a new template you may find this information useful. Additional info can be found at Help:Template and Help:Advanced templates (Wikipedia, so the information may not always apply exactly to this installation of Wikimedia software). You cannot preview changes to a template, so to avoid having broken templates for other users, test changes or new templates in the Template:Sandbox. (Don't forget to change your template's name to {{Sandbox}} to see the effects in the Sandbox.) Once it is working how you expect it to, transfer the code to the actual template page and revert the Sandbox.

Syntax

  • <includeonly></includeonly> - Optional tags you can place around the workhorse code that defines what the template does. It will cause the code to not display on the template page, improving the appearance of the page since most variables will be undefined. Also it will not compete with an example in situations where only one of an item can be displayed, such as a table of contents.
  • <noinclude></noinclude> - Anything between these tags will be processed and displayed only when the page is being viewed directly; it will not be included or substituted in normal usage when the template is being referenced.
  • {{{1}}} - The first unnamed variable (parameter) from the template invocation. That is, on another page where {{Related|Weapons|Armor|Loot}} is used, Weapons would be the first unnamed variable. Increment the number for successive variables, for example {{{3}}} would reference the third unnamed variable (Loot). Where this term ({{{1}}}) is used in your template, the variable's value will be inserted. So if [[{{{1}}}]] is in your template, it will be show up as Loot on the page where you used the template.
  • {{{1|}}} - You can declare a default value for any variable by inserting a pipe and a default value. If the variable is undefined the default value will be given instead. For example, if the template uses {{{1|''No Link''}}} then if no value was passed, it will be assigned "No Link."
  • {{{Variable}}} - A named variable has an explicit name assigned with the equals sign when using the template. For example, on the page using the template you could have {{Business Card|Name=John Doe}}. This would mean that for the template "Business Card" the named variable "Name" has a value of "John Doe" and when using this on the actual template page you would use {{{Name}}} to reference this variable's value (John Doe).
  • {{{Variable|}}} - As described above for {{{1|}}} you can also set a default value for named variables. This can be useful for templates where you will usually use a standard value but want to retain the option of specifying a value. When using the default, just leave out the variable. For example, {{{align|center}}}. This would still let you set align=right or align=left when using the template, but if you don't use align at all, it will be center. Keep in mind if align is left blank (align = ) then the default will not be used because the value is an empty string. In other words there are three possibilities, in the example below align has a value of "top," margin has an empty value, and style is absent and would use the default value if one is given for the style variable:
{{Template
 | align = top
 | margin = 
}}
One way around this that would handle both situations (completely absent and just a blank value) would be to use {{#ifeq:{{{align|}}}||<value if absent or blank>|<value if present and nonblank>}}. This comparison sets an empty string as the default, so if it is either not present or blank it will lead give the same result.
  • -

Parser and Variable Functions

  • #if: - {{#if: test string | value if true | value if false}}
  • #ifeq: - {{#ifeq: string 1 | string 2 | value if true | value if false}} - Compares string 1 with string 2 to see if they are equal.
  • #ifexist: - {{#ifexist: page title | value if exists | value if doesn't exist }}, can be used for articles or files (images).
  • #expr: - {{#expr: expression }} - Mathematical operations. Details
  • {{PAGESINCATEGORY}} - {{PAGESINCATEGORY:Page Name}} - Returns the number of pages in a category. Use {{PAGESINCATEGORY:Page Name|R}} for a number without commas.
  • #switch: - {{#switch:comparison string | case=result | case=result | default result }} - This function compares one input value against several test cases, returning an associated string if a match is found. Details
  • #titleparts: - {{#titleparts: pagename | number of segments to return | first segment to return }} - This function separates a pagetitle into segments based on slashes, then returns one or more of those segments as output. Details
  • #vardefineecho - {{#vardefineecho: variablename | value }} - assigns and prints variable, see How To Use Variables.

Request a Template

If you would like a template made but aren't sure how to go about adding one, Tlosk or Widgeon can probably help you.