Editing User:Yfmcpxpj/Template:comic 2x test

Jump to: navigation, search

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><!--
+
https://www.insnecklace.com
 
+
https://namenecklaces.co
  Create the 'box' around the comic template
+
https://www.insnecklace.com/customize-your-own-cheap-nameplate-necklace
 
 
  --><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|}}}"><!--
 
     
 
      This table will contain a table row (tr) and cell (td)
 
  --><tr><td><!--
 
 
 
      Now make an unordered list which will display as the navigation bar
 
  --><ul style="text-align: center; margin-bottom: 10px;" class="no-link-underline"><!--
 
 
 
      Generate the |< and prev buttons, but only if {{{number}}} exists and is greater than 1
 
    -->{{#ifexpr:{{{number|-1}}}>1<!--
 
   
 
        {{{number}}} is greater than 1; make a list item and put a button in it that links to #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;"><!--
 
              link to #1
 
        -->[[1|<span style="color: #FFFFFF; padding: 0 12px;">&#124;&lt;</span>]]</li><!--
 
       
 
        We're not done here yet, make the back button next
 
        --><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;"><!--
 
             
 
              link to previous comic
 
          -->[[{{#expr:{{{number}}}-1}}|<span style="color: #FFFFFF; padding: 0 12px;">&lt;&nbsp;Prev</span>]]</li><!--
 
             
 
              {{{number}}} doesn't exist or is less than 1; just put non-breaking spaces here
 
              -->|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}<!--
 
       
 
        Regardless of {{{number}}}, we need to make the comic date, link etc.
 
      --><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"><!--
 
         
 
          [ and ] makes an external link, vs. [[ and ]] which are internal only.
 
          Depending whether {{{number}}} exists or not, toggle between using wide link mode or number link mode.
 
          Wide link mode requires {{{lappend}}} to be set, while {{{ldomain}}} can default to www
 
          -->[{{#ifexpr:{{{number|-1}}}>=1<!--
 
         
 
          Comic number is probably valid, use number link mode
 
          -->|https://www.xkcd.com/{{{number}}}/<!--
 
         
 
          Comic number is invalid or doesn't exist, use wide link mode
 
          -->|http://{{{ldomain|www}}}.xkcd.com/{{{lappend}}}/}}<!--
 
         
 
          Generate the title, with date if it exists
 
          --><span style="color: #FFFFFF; padding: 0 12px;">Comic&nbsp;<!--
 
          -->{{#ifexpr:{{{number|-1}}}>= 1|&#35;|}}{{{number|}}}&nbsp;{{#if:{{{date|}}}|({{#replace:{{{date}}}| |&nbsp;}})}}</span>]</li><!--
 
       
 
        Should we include a 2x button?
 
        -->{{#if:{{{omit2x|}}}| |<!--
 
         
 
          Has a 2x image been explicitly specified?
 
          -->{{#if:{{{override2x|}}}<!--
 
           
 
            Use that target for the 2x 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;"
 
                    class="plainlinks"><!--
 
             
 
              The image files are hosted at imgs.xkcd.com/comics/
 
              -->[https://imgs.xkcd.com/comics/{{{override2x}}} <span style="color: #FFFFFF; padding: 0 12px;">2x</span>]</li><!--
 
           
 
            Otherwise, check if the comic is #1084 or above.
 
            -->|{{#ifexpr:{{{number|-1}}}>=1084|<!--
 
             
 
              If so, add a "2x" button linking to the 2x image.
 
              --><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"><!--
 
               
 
                The image files are hosted at imgs.xkcd.com/comics/
 
                -->[https://imgs.xkcd.com/comics/<!--
 
               
 
                The filename is the same as the original comic, but with "_2x" inserted at the end of the filename before the extension.
 
                So take everything before the final dot.
 
                -->{{#sub:{{{image|}}}|0|{{#rpos:{{{image|}}}|.}}}}<!--
 
               
 
                Then insert "_2x".
 
                -->_2x<!--
 
               
 
                Then append the dot and filename extension.
 
                -->{{#sub:{{{image|}}}|{{#rpos:{{{image|}}}|.}}}}<!--
 
               
 
                Finally, add the displayed text for the button.
 
                --> <span style="color: #FFFFFF; padding: 0 12px;">2x</span>]</li>}}<!--
 
               
 
          -->}}<!--
 
        -->}}<!--
 
       
 
        Now make the next and >| buttons provided comic number exists
 
        -->{{#ifexist:{{#expr:{{{number|-2}}}+1}}<!--
 
       
 
        No numbers higher than LATESTCOMIC
 
        -->|{{#ifexpr:{{LATESTCOMIC}}-{{{number}}}>0<!--
 
 
 
        Comic number is valid, generate the buttons
 
        -->|<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&nbsp;&gt;</span>]]</li><!--
 
       
 
        Make a button that points to LATESTCOMIC (which is of course 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;">&gt;&#124;</span>]]</li><!--
 
       
 
        Comic number (plus one) is not valid, don't show the buttons
 
        -->|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}</ul><!--
 
    --></td></tr><!--
 
   
 
    Now that the nav bar has been generated, display the rest of the filled-out comic template
 
   
 
    Comic title in =BOLD=
 
    -->{{#if:{{{title|}}}|<tr><td style="font-size: 20px; padding-bottom:10px">'''{{{title}}}'''</td></tr>}}<!--
 
   
 
    Display the (optional) text just before the comic
 
    -->{{#if:{{{before|}}}|<tr><td style="padding-bottom:10px">{{{before}}}</td></tr>}}<!--
 
   
 
    Almost done; just need to display the comic, title text and a bit more
 
    --><tr><td><!--
 
   
 
    {{{custom}}} will replace the image with whatever it contains if it exists
 
    -->{{#if: {{{custom|}}}|{{{custom|}}}<!--
 
   
 
    Not going to replace the image, so let's draw that if it exists
 
    -->|{{#if:{{{image|}}}|[[File:{{{image|}}}|{{{imagesize|}}}|{{{titletext|}}}]]}}}}<!--
 
   
 
    {{{imagesize}}} will allow the comic to be shrinked if it's especially large
 
    -->{{#if:{{{imagesize|}}}|<br />[Click comic to enlarge]}}<!--
 
   
 
    Final bit; if the comic has text on mouse-over, add that in a small print underneath the comic
 
    -->{{#if:{{{titletext|}}}|<br /><span style="{{{captionstyle|}}}"><span style="color:grey">Title text:</span> {{{titletext}}}<!--
 
    --></span>}}</td></tr></table><!--
 
   
 
    Categorisation for people who like that kind of thing
 
   
 
    Sort this page in categories by number. The padding ensures that #9 comes before #10
 
    It otherwise sorts 'alphanumerically'; as in since the first char of 10 is 1, it would normally be placed before 9
 
    The padding turns each into 0009 and 0010 etc. and since 0 is less than 1, #9 gets sorted before #10.
 
    -->{{#ifexpr:{{{number|-1}}}>=1|{{DEFAULTSORT: {{padleft:{{{number}}}|4}}|noreplace}}|<!--
 
    -->}}<!--
 
   
 
  Only categorise if in the main namespace
 
  -->{{#ifeq:{{NAMESPACE}}|{{ns:0}}<!--
 
 
 
  Don't try to categorise the main page nor the extra comics
 
  -->|{{#ifeq:{{FULLPAGENAME}}|{{int:mainpage}}||{{#ifeq:{{{extra|}}}|yes|[[Category:Extra comics]]|<!--
 
 
 
    Alright, start putting it in the appropriate date categories
 
    -->[[Category:All comics]]{{#if:{{{date|}}}|[[Category:Comics from {{#time:Y|{{{date}}}}}]]<!-- Years
 
    -->[[Category:Comics from {{#time:F|{{{date}}}}}]]                                          <!-- Months
 
    -->[[Category:{{#time:l|{{{date}}}}} comics]]                                                <!-- Weekdays
 
    -->}}}}}}|}}<!--
 
--></includeonly><noinclude>
 
<!--    DOCUMENTATION  -->
 
This is a test version of [[Template:comic]], which 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 particular version adds a "2x" button to link to the comic's double-resolution image on xkcd.com.
 
 
 
== Sample ==
 
 
 
The following is a sample usage of this template:
 
{{User:Yfmcpxpj/Template:comic 2x test
 
| number    = 1084
 
| date      = July 20, 2012
 
| title    = Server Problem
 
| image    = server_problem.png
 
| titletext = Protip: Annoy Ray Kurzweil by always referring to it as the 'Cybersingularity'.
 
}}
 
 
 
== Usage ==
 
 
 
<pre>{{User:Yfmcpxpj/Template:comic 2x test
 
| number    =
 
| date      =
 
| title    =
 
| before    =
 
| image    =
 
| custom    =
 
| imagesize =
 
| titletext =
 
| ldomain  =
 
| lappend  =
 
| override2x=
 
| omit2x    =
 
}}</pre>
 
 
 
=== Notes ===
 
 
 
* At least the number, title and image are required.
 
* The date should be written in the form: January 1, 2006
 
* 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 '''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.
 
* '''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 '''number''' is left undefined, most of the navigation bar will be disabled.
 
** '''lappend''' must be defined as <pre>...kd.com/'''lappend'''/</pre> to keep the link to xkcd.com valid.
 
** If the link is to eg. a blog post (blog.xkcd.com) '''ldomain''' can be defined as <pre>blog</pre> to change the subdomain in the link.
 
* For comics as of [[1084]], a "2x" button will automatically appear, linking to the double-size version of the comic on xkcd.com.  That behavior can be modified with the following optional parameters:
 
** If the 2x image for a particular comic doesn't exist, or has some other problem, the "2x" button can be omitted by specifying a non-zero/non-empty value for '''omit2x''' (example: <code>omit2x=true</code>).
 
** Or, if the ''filename'' of the 2x file is different, a specific image filename can be specified for '''override2x''', even for older comics (example: <code>override2x=server_problem_2x.png</code>).
 
 
 
The above sample is produced by the following code:
 
 
 
<pre>{{User:Yfmcpxpj/Template:comic 2x test
 
| number    = 1084
 
| date      = July 20, 2012
 
| title    = Server Problem
 
| image    = server_problem.png
 
| titletext = Protip: Annoy Ray Kurzweil by always referring to it as the 'Cybersingularity'.
 
}}</pre>
 
 
 
[[Category:Templates]]
 
</noinclude>
 

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)

Templates used on this page: