The clock plugin provides a visual representation of time in your DokuWiki pages, using nothing more than some CSS and JavaScript… and voilà: the current time, in your browser. This plugin is more useful if combined with a sidebar-enabled template like arctic.

Styles

Sneak Peek

Analog clocks…
the possible future of the clock plugin?

Configuration

The configuration options are reachable via the Configuration Manager. Here is a quick run through the most important options:

helpbar: if this option is enabled, The Helpbar is displayed alongside / below the plugin. By default the helpbar contains a link to the page specified by the infopage option, or to the official plugin page (ie.: this one ;) ), but it can be changed to almost anything.

infopage: this option specifies the location (pagename) of a wikipage containing information for this plugin. By default it points to :wiki:clock and thus you must create that page, but you can leave it empty to point to this very page.

nojs_fallback: this options specifies what to do if JavaScript is not enabled in the client: then the clock shows either the time as seen by the server, or a standard message with the name of the plugin, both static (ie.: non-animated).

font_fallback: this options sets the fallback CSS family for the font style in case you have specified a font-family in your CSS configuration and the clients can't find it. It can be set to any of the standard CSS families.

clock_style: this option specifies the actual style used by the plugin, and may require a cache refresh by the client.

To configure the clock styles or add new ones, check the section on Customization.

Other Details

The Helpbar

This version of the plugin implements a help bar that displays the wiki link selected in the Plugin Configuration options (under infopage), or a link to this very page if that variable is left empty. If you want to remove the help bar, just disable it via the Configuration Manager.

Customization

The aradio and tv24 styles require not only adequate CSS3 typeface support, but also that the client has installed or can access the requires typefaces (fonts). To see why the typefaces are not provided here, check the Questions.

To create your own clock style, the quick&dirty way is to pick one of the default styles (the actual default one, even), copy it to your $DOKU_CONF/userstyle.css and modify as needed. You need to modify the .default classname to one of your liking, which you can then set as the style used from the COnfiguration Manager.

This is the overall styling model from which you can work on. Substitute YOURSTYLE for the class name:

To modify the styling or layout of the helpbar, when available, you can use this as a base:

#dw_clock_object> p.helpbar{}

What you are actually styling is the clock's face (a visual container inside the clock itself). Apply the new style by changing the “style” option under the Configuration Manager. Flushing the cache may or may not be necessary, depending on the CSS attributes you use and some cache options.

Internationalization

As of version 1.4, internationalized strings for descriptions and configurations are provided. However as my knowledge of languages is limited, right now the plugin provides only English, Spanish and Esperanto. if you want to collaborate with string for your language, just let me know.

Known Issues

Only one instance of the clock is allowed to exist in a DokuWiki page. This is by design. If the syntax mode ({{clock}}) is used again in a page, an anchor-link to the location of the existing clock will be shown instead.

The newest version of the plugin, v1.5, has a clean JavaScript code that works on all decent browsers like Opera and Firefox without much trouble. Webkit-based browsers like Safari are reported to work, but I haven't tested them myself. That said, any browser that implements CSS and JavaScript decently and according to standards should be able to display the clock without non-minor issues.

Note that JavaScript support is required for the plugin to work. If you're using Firefox plugins such as “NoScript” in its highest security setting you'll see no clock, instead a tag only. Make sure to at least “allow scripts from the same site” for the clock to work. If JavaScript is not enabled, the fallback message method specified with the nojs_fallback option will take place.

Opera 9.5 beta versions have a JS issue where getSeconds() is not correctly implemented, causing the clock to display either “-1” or “” (empty) seconds. It doesn't matter, really: at this point you should be using the 10.60 release.

The plugin does not support simultaneous loads (like from a page and a sidebar). This won't affect normal rendering unless the two pages are displayed at once, in which case only the first invocation loaded (usually the normal page) will be rendered correctly, and the other (usually a sidebar) will be left an empty space.

Questions

How do I add my own style?

Copy one of the styles of the style.css to your conf/userstyle.css file and edit as appropriate, following the instructions in the Customization section.

I installed the plugin but the aradio and tv24 styles won't show with the adequate typefaces?

The aradio and tv24 styles require the client's browser to support CSS3 @font-face method to load external typefaces. Unfortunately only some browsers support this feature with the necessary degree of completeness (tested in Firefox 3.6 and Opera 10.61 at the moment of this writing).

How do I provide the typefaces from my server to the clients?

The instructions to enable these fonts in your own DokuWiki installation, assuming you already have them, is as follows:

Your clients need web access to the typeface, so make sure that they can download it by placing a direct link somewhere in your website2).

Substitute the “/path/to/your/typeface” entries in the style.css file with the paths above as appropiate and save.

Flush your DokuWiki cache.

Point your users towards the fonts, as well as installation instructions and, if possible, suggest them to use standards-compliant browsers. That's what the infopage setting is about – just put some text to explain how to install the fonts and some download links3).

This has a double effect: if visitors load the page using an up-to-date browser, the browser itself will take care of downloading and rendering the font; if it doesn't, then users can still download the font themselves and install in their systems, which in Firefox 2+ and Opera 9+ should result in the font becoming available.

By this point, visitors should be able to view the plugin's effect at its full potential if they are using a web browser that follows standards. If for some reason the user can't load the fonts (maybe he is using IE?) the plugin will still render with acceptable defaults.

Can you provide the typefaces?

No, because of license issues. These fonts are not mine, in the sense that I have no copyright over them. I have acquired them for personal use as their licenses establish, but these licenses don't allow for me to directly give them away. I can only suggest you to use either them or similar ones, which is why I provide the family names (“lcdd”, “digitalbreakout” and “atomicclockradio”, the last two are offered as Freeware fonts in some collection sites). You can acquire or design a typeface yourself and serve it to your clients with the procedure above. Also see the style.css file headers for details.

Afterwords

The Author

Luis Machuca Bezzaza4) is a Chilean Developer who has released plugins for DokuWiki ever since 2008. He takes somewhat-active participation in the DokuWiki User Forums, where he moderates the somewhat-active-as-well Spanish Discussion. He can be sometimes found at the DokuWiki IRC channel as well, shamelessly promoting his plugins. In his spare time he functions as the Secretary (S) of his city's LUG, Gulix as well as trying to contribute to the overall internet culture.

Legalese

“clock” is developed part-for-fun, part-for-learning, of The Author's free will and during his spare time. It is released “as-is” under the terms of the GPL 2 License. The Author is not affiliated to the core DokuWiki staff, he just knows the guys and likes them (er… their work). The Author takes no responsibility for damages caused by inadequate use of “clock”, but tries to stay available for a nice chat if particular issues related to “clock”'s domain are presented. Insert standard lorem-ipsum like legal disclaimer and/or waiver of warranties here and you know the drill.

Discussion

Do you have a question? Using Mosaic? Does the clock actually work in Links? Have an urge to beat me to a pulp unless I release the release?

No worries! Leave your questions here and I will try to answer as politely as I can to avoid being beaten to a pulp.

I attempted to disable the info link after the clock without success. Exactly what file and syntax needs to be used?
I tried things in <root>\conf\local.php like $conf['helpbar'] = 0;, $helpbar = 0;, etc.
Thanks for the help…

Oopps… it seems some parsing escaped me. The syntax should be $conf['helpbar'] = 0;, which the Configuration Manager already handles. Remove the plugin and download it again (there's a patched version) to see if the changes go through. — Luis 2010/07/07 19:44

Hello team,
How can we make the clock float towards the top right or top left of a given wiki page???

-James

Hello. If you mean float as in be permanently moved, the only option is customizing the CSS as explained above, but that'll effect entire wiki. Not sure if what you ask can be done without writing a plugin that deals with specific pages itself. — Luis Machuca BezzazaLuis Machuca Bezzazaryan.chappelle