Template:Infobox: Difference between revisions
(Adding postthreads support. Let's see if I break everything.) |
(Adding disthreadNname support.) |
||
Line 45: | Line 45: | ||
{{#if:{{{disthread1|}}}|{{TR}}{{TD}}|<nowiki />}} | {{#if:{{{disthread1|}}}|{{TR}}{{TD}}|<nowiki />}} | ||
<!-- ^ Conditional template row --><!-- | <!-- ^ Conditional template row --><!-- | ||
-->{{#if:{{{disthread1|}}}|*[http://tgchan.org/kusaba/questdis/res/{{{disthread1}}}.html Discussion{{#if:{{{disthread2|}}}|<nowiki /> thread 1|}}]|}}<!-- | -->{{#if:{{{disthread1|}}}|*[http://tgchan.org/kusaba/questdis/res/{{{disthread1}}}.html {{{disthread1name|Discussion{{#if:{{{disthread2|}}}|<nowiki /> thread 1|}}}}}]|}}<!-- | ||
-->{{#if:{{{disthread2|}}}|*[http://tgchan.org/kusaba/questdis/res/{{{disthread2}}}.html Discussion thread 2]|}}<!-- | -->{{#if:{{{disthread2|}}}|*[http://tgchan.org/kusaba/questdis/res/{{{disthread2}}}.html {{{disthread2name|Discussion thread 2}}}]|}}<!-- | ||
-->{{#if:{{{disthread3|}}}|*[http://tgchan.org/kusaba/questdis/res/{{{disthread3}}}.html Discussion thread 3]|}}<!-- | -->{{#if:{{{disthread3|}}}|*[http://tgchan.org/kusaba/questdis/res/{{{disthread3}}}.html {{{disthread3name|Discussion thread 3}}}]|}}<!-- | ||
-->{{#if:{{{disthread4|}}}|*[http://tgchan.org/kusaba/questdis/res/{{{disthread4}}}.html Discussion thread 4]|}}<!-- | -->{{#if:{{{disthread4|}}}|*[http://tgchan.org/kusaba/questdis/res/{{{disthread4}}}.html {{{disthread4name|Discussion thread 4}}}]|}}<!-- | ||
-->{{#if:{{{disthread5|}}}|*[http://tgchan.org/kusaba/questdis/res/{{{disthread5}}}.html Discussion thread 5]|}}<!-- | -->{{#if:{{{disthread5|}}}|*[http://tgchan.org/kusaba/questdis/res/{{{disthread5}}}.html {{{disthread5name|Discussion thread 5}}}]|}}<!-- | ||
--><!-- SPECIAL THREADS --> | --><!-- SPECIAL THREADS --> | ||
{{#if:{{{specthread1|}}}|{{TR}}{{TD}}|<nowiki />}}<!-- | {{#if:{{{specthread1|}}}|{{TR}}{{TD}}|<nowiki />}}<!-- |
Revision as of 18:25, 20 April 2014
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 withimageextboard
,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]]
, oret 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 matchingthreadN
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 withimage
orimageext
. - 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.