Editing User:Pixali/comictemplate/
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | <!-- | + | <includeonly><!-- |
− | + | --><metadesc>Explain xkcd is a wiki dedicated to explaining the webcomic xkcd. Go figure.</metadesc><!-- | |
+ | --><table class="{{{bodyclass|}}}" cellspacing="5" | ||
+ | style="background-color: #FFFFFF; border: 1px solid #AAAAAA; color: black; font-size: 88%; line-height: 1.5em; | ||
+ | margin: 0.5em 0 0.5em 1em; padding: 0.2em; text-align: center; width:98%; {{{bodystyle|}}}"><!-- | ||
− | + | ### Navigation bar (previous, next...) ### | |
− | + | ||
− | + | --><tr><td><!-- | |
− | + | ||
− | + | ### Generate the |< button ### | |
− | + | ### Special case modification: the ifeq has been replaced with switch to make undefined numbers work and make the navigation bar go *poof* when this happens ### | |
+ | --><ul style="text-align: center; margin-bottom: 10px;" class="no-link-underline"><!-- | ||
+ | -->{{#switch: {{{number|-1}}} | 1= |<!-- | ||
+ | -->-1== |<!-- | ||
+ | --><li style="background-color: #6E7B91; | ||
+ | border: 1.5px solid #333333; border-radius: 3px 3px 3px 3px; box-shadow: 0 0 5px 0 gray; | ||
+ | display: inline; font-size: 16px; font-variant: small-caps; font-weight: 600; | ||
+ | margin: 0 4px; padding: 1.5px 0;"><!-- | ||
+ | -->[[1|<span style="color: #FFFFFF; padding: 0 12px;">|<</span>]]<!-- | ||
+ | --></li> <!-- | ||
+ | ### Create the prev button ### | ||
+ | |||
+ | --><li style="background-color: #6E7B91; | ||
+ | border: 1.5px solid #333333; border-radius: 3px 3px 3px 3px; box-shadow: 0 0 5px 0 gray; | ||
+ | display: inline; font-size: 16px; font-variant: small-caps; font-weight: 600; | ||
+ | margin: 0 4px; padding: 1.5px 0;"><!-- | ||
+ | -->[[{{#expr:{{{number}}} - 1}}|<span style="color: #FFFFFF; padding: 0 12px;">< Prev</span>]]<!-- | ||
+ | --></li>}} <!-- | ||
+ | |||
+ | ### Create a centre button with comic number, date (if exists) and link ### | ||
+ | |||
+ | --><li style="background-color: #6E7B91; | ||
+ | border: 1.5px solid #333333; border-radius: 3px 3px 3px 3px; box-shadow: 0 0 5px 0 gray; | ||
+ | display: inline; font-size: 16px; font-variant: small-caps; font-weight: 600; | ||
+ | margin: 0 4px; padding: 1.5px 0;" | ||
+ | class="plainlinks"><!-- | ||
+ | ### Special case modification; if number is undefined ldomain and link must be defined to redirect comic link to elsewhere on xkcd.com ### | ||
+ | -->[{{#ifeq:{{{number|-1}}}|-1|http://{{{ldomain}}}.xkcd.com/{{{lappend}}}/|http://www.xkcd.com/{{{number}}}/}} <!-- | ||
+ | --><span style="color: #FFFFFF; padding: 0 12px;">Comic #{{{number}}} {{#if:{{{date|}}}|({{{date}}})}}</span>]<!-- | ||
+ | --></li> <!-- | ||
+ | |||
+ | ### Generate the "next" button, and have it point to the next comic, unless the current number matches LATESTCOMIC ### | ||
+ | ### Special case modification; if number is left undefined it will default to -1 which results in an invalid comic number which then disables the next button. ### | ||
+ | -->{{#ifexist:{{#expr:{{{number|-1}}} + 1}}<!-- | ||
+ | -->|<li style="background-color: #6E7B91; | ||
+ | border: 1.5px solid #333333; border-radius: 3px 3px 3px 3px; box-shadow: 0 0 5px 0 gray; | ||
+ | display: inline; font-size: 16px; font-variant: small-caps; font-weight: 600; | ||
+ | margin: 0 4px; padding: 1.5px 0;"><!-- | ||
+ | -->[[{{#expr:{{{number}}} + 1}}|<span style="color: #FFFFFF; padding: 0 12px;">Next ></span>]]<!-- | ||
+ | --></li> <!-- | ||
− | + | ||
− | + | ### Generate a button that points to the page specified by LATESTCOMIC: the latest comic. ### | |
− | + | --><li style="background-color: #6E7B91; | |
− | + | border: 1.5px solid #333333; border-radius: 3px 3px 3px 3px; box-shadow: 0 0 5px 0 gray; | |
− | + | display: inline; font-size: 16px; font-variant: small-caps; font-weight: 600; | |
− | + | margin: 0 4px; padding: 1.5px 0;"><!-- | |
− | + | -->[[{{LATESTCOMIC}}|<span style="color: #FFFFFF; padding: 0 12px;">>|</span>]]<!-- | |
− | + | --></li><!-- | |
− | + | -->}}<!-- | |
− | + | ### Undefined numbers should also make this work now. ### | |
− | + | -->{{#ifexist:{{#expr:{{{number|-1}}} + 1}}|| }}<!-- | |
− | + | --></ul><!-- | |
− | + | --></td></tr><!-- | |
− | + | ||
− | + | ||
− | + | ||
− | + | ### Comic title ### | |
− | + | ||
− | + | -->{{#if:{{{title|}}}|<tr><td style="font-size: 20px; padding-bottom:10px"><!-- | |
− | + | -->'''{{{title}}}'''<!-- | |
− | + | --></td></tr>}}<!-- | |
− | + | ||
− | + | ### Text before comic ### | |
− | + | ||
− | + | -->{{#if:{{{before|}}}|<tr><td style="padding-bottom:10px"><!-- | |
− | + | -->{{{before}}}<!-- | |
− | + | --></td></tr>}}<!-- | |
− | + | ||
− | + | ### Comic image and title text ### | |
− | + | ||
− | + | --><tr><td><!-- | |
− | + | -->{{#if: {{{custom|}}} |<!-- | |
− | + | -->{{{custom|}}}|<!-- | |
− | + | -->{{#if:{{{image|}}}|[[File:{{{image|}}}|{{{imagesize|}}}|{{{titletext|}}}]]}}}}<!-- | |
− | + | -->{{#if:{{{imagesize|}}}|<br />[Click comic to enlarge]}}<!-- | |
− | + | -->{{#if:{{{titletext|}}}|<br /><span style="{{{captionstyle|}}}"><span style="color:grey">Title text:</span> {{{titletext}}}</span>}}<!-- | |
− | + | --></td></tr><!-- | |
− | + | --></table><!-- | |
− | + | ||
− | + | ### Add categories to comic based on date field ### | |
− | + | ||
− | + | -->{{DEFAULTSORT: {{padleft:{{{number}}}|4}}}}<!-- (default sorting key for all categories: use zero-padding to make sure #9 comes before #10, etc.) | |
− | + | -->{{#ifeq:{{NAMESPACE}}|{{ns:0}}|<!-- (no categorization except for the main namespace) | |
− | + | -->{{#ifeq:{{FULLPAGENAME}}|{{int:mainpage}}||<!-- (no categorization when transcluded into the main page) | |
− | + | -->[[Category:Comics]]<!-- | |
− | + | -->{{#if:{{{date|}}}|<!-- | |
− | + | -->[[Category:Comics from {{#time:Y|{{{date}}}}}]]<!-- (categorize by year) | |
− | + | -->[[Category:Comics from {{#time:F|{{{date}}}}}]]<!-- (categorize by month) | |
− | + | -->[[Category:{{#time:l|{{{date}}}}} comics]]<!-- (categorize by weekday) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
-->}}<!-- | -->}}<!-- | ||
− | + | -->}}<!-- | |
− | + | -->|}}<!-- | |
− | --> | + | |
− | + | ### DOCUMENTATION ### | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
--></includeonly><noinclude> | --></includeonly><noinclude> | ||
− | + | This is the basic infobox-style header template used to display [[xkcd]] comics on their own pages, including the comic number (with external link to xkcd), publication date, title, comic image, and title text. This is an upgraded version that has support for undefined numbers; allowing use with comics that are not present in the main series (for example, [[Radiation]]). | |
− | This is the basic infobox-style header template used to display [[xkcd]] comics on their own pages, including the comic number (with external link to xkcd), publication date, title, comic image, and title text. | ||
− | This is an upgraded version that has support for undefined | ||
== Sample == | == Sample == | ||
The following is a sample usage of this template: | The following is a sample usage of this template: | ||
− | (see | + | (see talk page?) |
== Usage == | == Usage == | ||
<pre>{{comic | <pre>{{comic | ||
− | | number = | + | | number = |
− | | date = | + | | date = |
− | | title = | + | | title = |
| before = | | before = | ||
− | | image = | + | | image = |
− | | custom = | + | | custom = |
− | | imagesize = | + | | imagesize = |
− | | titletext = | + | | titletext = |
− | | ldomain = | + | | ldomain = |
− | | | + | | link = |
}}</pre> | }}</pre> | ||
Line 153: | Line 133: | ||
* At least the number, title and image are required. | * At least the number, title and image are required. | ||
* The date should be written in the form: January 1, 2006 | * The date should be written in the form: January 1, 2006 | ||
− | * The imagesize field is optional. | + | * The imagesize field is optional. |
** The comic's '''width''' will be limited to the set size. Format must be in pixels (eg: "350px") | ** The comic's '''width''' will be limited to the set size. Format must be in pixels (eg: "350px") | ||
** The comic's '''height''' may be set by adding an 'x' to the start (eg: "x350px") | ** The comic's '''height''' may be set by adding an 'x' to the start (eg: "x350px") | ||
− | ** Warning: If the size is larger than the image, the image will be stretched. | + | ** Warning: If the size is larger than the image, the image will be stretched. |
* '''before''' is a special field for inserting text before the comic. One use is for extremely large comics (e.g. [[Umwelt]]), to skip to the explanation. | * '''before''' is a special field for inserting text before the comic. One use is for extremely large comics (e.g. [[Umwelt]]), to skip to the explanation. | ||
* If the '''custom''' field is not empty, the image field will be ignored and be replaced with any text that you put in the '''custom''' field. | * If the '''custom''' field is not empty, the image field will be ignored and be replaced with any text that you put in the '''custom''' field. | ||
− | * if '''number''' is left undefined, most of the navigation bar will be disabled | + | * if '''number''' is left undefined, most of the navigation bar will be disabled and '''ldomain''' along with '''link''' must be defined to keep the link to xkcd.com valid. |
− | |||
− | |||
− | The | + | The above sample is produced by the following code: |
<pre>{{User:Pixali/comictemplate/ | <pre>{{User:Pixali/comictemplate/ | ||
+ | | number = | ||
| date = October 4, 2005 | | date = October 4, 2005 | ||
| title = Example with different link | | title = Example with different link | ||
− | | image = | + | | image = monty_python.jpg |
| titletext = I went to a dinner where there was a full 10 minutes of Holy Grail quotes exchanged, with no context, in lieu of conversation. It depressed me badly. | | titletext = I went to a dinner where there was a full 10 minutes of Holy Grail quotes exchanged, with no context, in lieu of conversation. It depressed me badly. | ||
| ldomain = www | | ldomain = www | ||
− | | | + | | link = radiation |
}}</pre> | }}</pre> | ||
</noinclude> | </noinclude> |