Template:Infobox

From tgchan

Purpose

Template Quest by LionsPhil

This is the template for making a neat infobox for a quest, as shown on the right. Put it at the top of quest pages. It automatically adds the page to Category:Quests, to Category:Series Quests if it has multiple threads, and will add Template:Noauthor and Template:Nolink if appropriate. You'll still need to list other categories manually, as appropriate.

Usage

Parameters (all are optional, although at least author and thread1 are expected):

Metadata

title
Title of the quest. Defaults to the current page name; normally you should leave it to do this. Useful if the page name includes a disambiguation in parenthesis. (Ie, if the page name is "Quest Name (Author)" set |title=Quest Name to avoid the silliness of "Quest Name (Author) by Author").
author
Quest author; will be linked to as a wiki node, even if it has whitespace.
image
Quest image, without namespace. Will be thumbnailed to fit. Optional.
imageext
Post number on the board to take the image from. Use this or image, not both. You can override the board with imageextboard, but should never need to. Useful if the dis thread OP is better than the thread OP. Optional.

If neither image parameter is provided, the Infobox will fall back to using the OP image of the first thread by default.

Special cases

authorext
Extra authors; this is appended after the primary author, so if you need to use it you probably want something like and [[Dave]], or et al.. Adds Category:Quests with Multiple Authors automatically if used. Optional.
authorextcomma
Adds a comma right after the author if set to 1. Useful if there's more than 2 authors, since authorext adds a space before its text appears. Optional.
authoralias
Author alias; this is used if the author goes by a different name, for instance the infamous Silvermoon series. Optional.
dead
Set this to 1 to put the quest in Category:Dead Quests instead of Category:Quests and keep it off the main list. A quest is considered dead if and only if all threads are in the graveyard.
mouseover
Allows you to set mouseover / title text for the infobox image. Optional, use sparingly.

Threads

All thread parameters must be numbered, starting from 1. For example, thread1=500|thread2=600….

threadN
Post numbers for the threads of the quest.
threadNname
Optional 'name' for the thread, e.g. "Chapters 1–2". If the first thread is named, a numbered list is used to automatically provide the thread numbers.
disthreadN
Post numbers for discussion threads.
disthreadNname
Optional name for discussion threads.

Specials

For example, 'April Fool' versions of quests.

specthreadN
Post numbers for any 'special' threads.
specthreadNboard
Board for corresponding 'special' thread; defaults to quest.
specthreadNname
Required name for corresponding special thread.

Other

prethreads
Value is spat out verbatim in the thread block, before thread 1. Avoid using this; it's for some very special cases where quests have some of their threads hosted externally. It is not for subheadings.
threadNpre
Place some markup before a thread entry, for example to do horizontal rules separating the list. You need to do a <nowiki></nowiki> (or <nowiki/>, same thing) trick to get a leading newline to separate it from a previous list element; see Bubble Bucket and Cutebold Slaughter Fest for examples. The matching threadN must be specified.
postthreads
Works like prethreads, but spits out information after the last thread instead of before thread 1. Useful only in special cases, say, when the final thread or epilogue material is hosted externally.

If you really need them, there are dis and spec thread versions of the previous three commands, as well. (Namely predisthreads, disthreadNpre, postdisthreads, prespecthreads, specthreadNpre and postspecthreads). They use the same syntax and function in the same manner, just in different blocks of the infobox.

suppresscat
Set this to 1 to disable automatic categorisation. You probably don't want to use this.
suppressnum
Set this to 1 to disable automatic numbering of threads when using thread names.
suppressimg
Set this to 1 to disable automatic fallback to using the OP image of thread1. Has no effect if you manually specify an image with image or imageext.
caption
Places a caption centered beneath the infobox. Useful if you need to have a footnote, for some reason.

Example

A quick reminder of MediaWiki template syntax; whitespace is reasonably flexible either side of the pipes, so do whatever is most readable:

{{Infobox
|author=TestPattern
|image=tozol_title.png
|thread1=79880
|thread2=94645
|disthread1=316424
|specthread1=156238|specthread1name=April Fool's Edition
}}

There are some more abstract examples on the development testing page, and you can find pages using this template.

Maintenance notes

  • Depends on the automatic redirect from /quest/ to /questarch/ (or /graveyard/) for archived threads (semantically, the /quest/ version is considered its canonical URI). This allows the "current thread" to work without having to be flagged as special in any way.
  • Automatic image fallback depends on the same redirects as Template:Fanart.
  • Depends on the ParserFunctions extension to support optional parameters gracefully. This makes the code pretty hairy, so take care editing.
  • The maximum number of threads is limited by the implementation repeating the definition for each number. Unfortunately this is a common MediaWiki paradigm as it has no set handling in templates.
  • The width is set as a battle between a desired table width of 250px, which sets a softer maximum than a max-width, and a div strut in the title which may be matched by a 250px image, which acts as a min-width for the inner (content) boundary of the table.