User:DragonXDoom/Digital Clock

Documentation
This clock started as an experiment on my part in MediaWiki template syntax and formatting, but it also makes a nice user page gadget. To use it, copy this code and fill in the values. All the parameters are optional.

 &#123;&#123; }} 
 * format = 12 or 24 (default: 24)
 * offset = number of hours + or - UTC (default: 0)
 * size = width of each digit in pixels (default: 70)
 * color = any color name or HTML color code (default: red)

Like other user clocks at WP:CLOCK, this won't update in real time once the page has loaded, and due to the cache mechanism of the MediaWiki software, it may not update if the page is viewed often enough to be kept in the cache, unless you purge the page. But despite these limitations it usually works quite well.

Sizes and colors
You can have nearly any size, though the graphics have a base size of 70&times;112 pixels. You can have any color so long as it contrasts with black. ;)

Offsets
You can adjust the time by any number of hours and minutes. (The offset can be fractional.) E.g., offset=9.5 gives Australian Central Standard Time:

12-hour
Twelve-hour clocks get an extra segment for am/pm.

Borders
Normal HTML can be used to add borders and padding space. One tricky bit is that &lt;div> elements expand to the full width of their container, which will make the box too wide. So we must specify an exact width for it, by multiplying the segment size by 5 (for 24-hour clocks) or 6 (for 12-hour clocks):  &lt;div style="background:black; padding:5px 15px; border:3px inset cyan; width:300px;"> &#123;&#123;|format=12|size=50|color=cyan}} &lt;/div> 

A proposed CSS3 property called border-radius allows round borders. It is not finalized but Gecko-based browsers (Firefox and friends) and Webkit-based browsers (Safari, Chrome) support early versions of it (use both).

 &lt;div style="background:black; padding:5px 15px; border:3px inset cyan; -moz-border-radius:15px; -webkit-border-radius:15px; width:300px;"> &#123;&#123;|format=12|size=50|color=cyan}} &lt;/div> 



See User page design center/Style for more borders.

Vertical clocks
Wrapping the clock in a div with the same width as the segments will make it vertical. Borders work as normal.

 &lt;div style="float:right; width:40px; border:5px solid black"> &#123;&#123;|size=40}} &lt;/div> 

Random colors
Parser magic can be used to pick a random color each time the page is generated. E.g., &#123;&#123;#time:U}} is the number of seconds since New Year 1970, so &#123;&#123;#expr:&#123;&#123;#time:U}} mod 6}}  will produce a random number from 0 to 5. So if we put that in a &#123;&#123;#switch}} we can make a list of colors to choose from:

 &#123;&#123; }} </tt>
 * size = 50
 * color = &#123;&#123;#switch:&#123;&#123;#expr:&#123;&#123;#time:U}} mod 6}} |0=red |1=orange |2=lime |3=yellow |4=cyan |5=magenta}}

Suggestions?
Message me &rarr; User talk:DragonXDoom