DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:clock

This is an old revision of the document!


clock plugin

Compatible with DokuWiki

No compatibility info given!

plugin Display a clock in DokuWiki

Last updated on
2010-10-15
Provides
Syntax

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Tagged with time

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.

Feel free to use and comment (see ⇒Discussion).

Quick Questions:
So you want to…
…install this plugin? Instructions
…configure this plugin? Configuration
…see the plugin in action? Demo
…read a legal disclaimer? Legalese
…read about the author? The Author
No longer under experimental!

Usage

Download and Installation

Download and install the plugin using the Plugin Manager using the URL given above. Refer to Plugins on how to install plugins manually.

The link above will always point to the latest version. Should you need a previous version, check the Demo section for more information.

It is recommended that you clean your DW cache immediately after installing or upgrading this plugin.

Syntax

Just write in a line of its own:

{{clock}}

Details:

  • The plugin syntax takes no parameters.
  • Configuration is available via the Configuration Manager.

Demo

Want to see the plugin in action?

:!: The (Neo) Demo site will show you how does the plugin work, live1).

Note language is Spanish but online translators shall do a good job with it.

Snapshots:

An example visualization of the clock plugin
(using a custom CSS style to match "24"'s digital clock)

Styles

Plugin, with default style.
Plugin, with the “aradio” style.
See Manual Styling, however.
Plugin, with the “tv24” style.
See Manual Styling, however.
Plugin, with the “bluebox” style.

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:

clock_style.css
#dw_clock_object > #clock_face.YOURSTYLE .face {
  font-family: monospace;
  font-size: 1.5em;
  text-align: center;
  color: __text__;
  border: 4px inset __text_alt__;
  background-color: __background_alt__;
  }

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:

  1. 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).
  2. Substitute the “/path/to/your/typeface” entries in the style.css file with the paths above as appropiate and save.
  3. Flush your DokuWiki cache.
  4. 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.

Other DokuWiki Plugins by
Luis Machuca Bezzaza (a.k.a ryan.chappelle@DW Forums)
progrecss display progress bars alongside text
tooltip add tooltips (info balloons) to text or special words
clock …you are here now LOL
countdown show the remaining time to an event
divalign2 align your paragraphs for better reading
gil display currency conversions from Yahoo services
hide hide text from immediate view
noiewarning warn users that they are using the shitty IE browser
coming soon control the formatting and properties of external links
coming soon use Mediawiki-style template substitution in wiki pages

Source Code

Unzipping the file from the download link above will give you the source code. It is free, in the GPL definition of the word.

The Next Release

The following are improvements in the latest version (v1.5):

  • Support for i18n-ed descriptions, but only English is provided right now. If you want to provide the texts in your language, just let me know.
  • A fix has been made for a leak that caused errors when the edit form was loaded and this plugin was installed.

The following improvements are planned for the major release (v.2.0):

  • Localization5).
  • AM/PM format option.
  • Better @font-face support.
  • An analog visualization mode (using SVG + CSS, maybe?).
  • A sort of print-version rendering.

When will the major be released? Whenever it's ready.

Legalese

This plugin (“clock”) © The Author.

“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

\\Work on 2010-11-07 “Anteater” — vinnie 2011/01/13 1:25

03/01/2012

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 Bezzaza 2012/01/20 21:08
1)
although, actually, it's the wiki navigation that functions as the demo for this plugin
3)
be wary of licenses however, and see the point below
4)
yes, that's my name, and I'm going to talk in third person now
5)
right now only English and Spanish are available
plugin/clock.1327090196.txt.gz · Last modified: 2012-01-20 21:09 by ryan.chappelle

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki