Table of Contents

monobook for DokuWiki

By the same author

Compatible with DokuWiki

  • 2012-01-25 "Angua" yes
  • 2011-05-25 "Rincewind" yes
  • 2010-11-07 "Anteater" yes

template MediaWiki/Wikipedia look and feel for DokuWiki (traditional)

Last updated on
2011-12-10
Repository
Source

This template brings you the traditional1) MediaWiki/Wikipedia look and feel for DokuWiki. There are some things you'll find in this template that you won't find in most other templates, and are inspired by Wikipedia and MediaWiki.

Some features:

With that said, there's always room for improvement. If you're able to add any contributions to make monobook for DokuWiki better, please let me know or discuss your thoughts.

Download

:!: If you like the template, think about a donation. It is a lot of work. :-)

Latest release

Version 2011-12-10
Download 2011-12-10_monobook.tar.gz

Latest update

From Any version by Andreas Haerter4)
To 2011-12-10
Download 2011-12-10_monobook-update.tar.gz

Repository (for developers)

The source code of this template is available as Git repository.

Verify download (for geeks)

See CHECKSUMS.asc for MD5, SHA-1 and SHA-256 checksums. The file is signed with my GnuPG/PGP key (0x423B2839). You can use gpg --verify ./CHECKSUMS.asc to check/validate it.

Install

Refer to template on how to install and use templates in DokuWiki. For updating, see below.

Screenshots

Some screenshots can be found here.

Browser compatibility

The template should be compatible with all modern browsers:

Please note:

Update

:!: ATTENTION: This template is a complete rewrite of the no longer supported monobook by Terence J. Grant and will be maintained by Andreas Haerter in the future. That is why you will find two different update descriptions below. Have a look at ”How can I check which version is currently installed?” if you don't know which version you are currently using.

I am using a version newer or equal 2010-01-12 by Andreas Haerter - What to do to ?

  1. Backup your data, especially /lib/tpl/monobook. But don't be scared. It is no rocket science.
  2. Download the current update from above.
  3. Uncompress it and copy it over your current /lib/tpl/monobook. This works without problems when you followed the rules described in the README (⇒ the place for *all* user-defined, custom stuff is /lib/tpl/monobook/user!) cause previously existing files in this directory are simply not included in the update archive (and therefore it can't overwrite anything of your stuff).
  4. Recommended: Also update the plugins Translation, Open Office Export, dw2pdf and html2pdf if you are using one ore more of them. :!: This is especially important regarding Translation (some older versions may cause problems and/or results are looking badly).
  5. Have fun and think about a small donation :-).
  6. Here is a list of files that were removed in recent releases. They do no harm, but you should delete them to keep your installation clean and tidy:
    #removed in 2011-11-29
    /static/3rd/dokuwiki/_mediamanager.css
    /static/3rd/dokuwiki/basic.css
    /static/3rd/dokuwiki/content.css
    /static/3rd/dokuwiki/design.css
    /static/3rd/dokuwiki/includes.css
    /static/3rd/dokuwiki/structure.css
    /inc_mediamanager.php
    
    #removed in 2011-03-16
    /static/3rd/dokuwiki/_linkwiz.css
    /static/3rd/dokuwiki/layout.css
    /static/3rd/dokuwiki/media.css

I am using a version before 2010-01-12 by Terence J. Grant - What to do?

Why should I update? What is new?
If you DO NOT have user-defined/own styles in use...

…you're lucky. An update should be done within minutes:

  1. Backup your data, especially /lib/tpl/monobook. But don't be scared. It is no rocket science.
  2. :!: Check if you run DokuWiki ver. 2009-12-25 “Lemming” or newer (older ones do NOT work). If not, update DokuWiki first.
  3. Take your time to read all listed instructions here. If there is something you don't understand, ask before updating.
  4. Go to the DokuWiki Config Manager and set the template option to “default” or another installed template.
    :!: Don't worry if “monobook” was/is the only available template: you can update without problems, but your Wiki can't work normally until the update is finished.
  5. Rename
    /lib/tpl/monobook
    into
    /lib/tpl/monobook_old
    This directory will be deleted later, we do this for easier data migration.
    :!: Your DokuWiki will be unreachable after renaming if you did not configure DokuWiki to use another template as mentioned above… don't panic, everything should work when the update is finished! ;-)
  6. Download the newest release of monobook for DokuWiki and install as described. After this, the following directories should exist:
    • /lib/tpl/monobook (the new monobook by Andreas Haerter)
    • /lib/tpl/monobook_old (the old monobook by Terence J. Grant)
  7. Go to the DokuWiki Config Manager, set the template option to “monobook” and reconfigure the monobook template options as appreciated. Please note that compress (“Compact CSS and JavaScript output”… don't confuse with the compression option) is now compatible with monobook and should be enabled for better performance and less traffic.
  8. If you used an own logo (normally /lib/tpl/monobook_old/user/logo.[png|gif|jpg]) copy it as logo.[png|gif|jpg] into /lib/tpl/monobook/user/. The template recognizes the file automatically and will use it instead of the default logo.
  9. If you used an own favicon (normally /lib/tpl/monobook_old/user/favicon.ico) copy it to /lib/tpl/monobook/user/favicon.ico. The template recognizes the file automatically and will use it instead of the default favicon.
  10. Empty your browser's cache and call your DokuWiki with your browser. If everything looks fine, delete /lib/tpl/monobook_old/ (but make sure you really backed up the date before upgrading, maybe you done some modification you can't remember now but in a few days…).
  11. You may uninstall the Display Wiki Page plugin if not needed by another plugin or template. “monobook” does not need this anymore.
  12. Have fun and think about a small donation :-).
If you HAVE user-defined/own styles in use...

…there may be some more work to do. Basically it should work as described above, but you may have to figure out which of your own styles located in /lib/tpl/monobook_old/Common.css and/or /lib/tpl/monobook_old/Monobook.css are still needed. If the styles were just bugfixes (e.g. making Linkwizard/Icons work), you should not need them anymore5).

Otherwise look at the README after downloading the template. There is described where to put own CSS6). In most cases, your CSS should work when copied into the user-CSS-files – if not, check if some XHTML-element-IDs may changed and edit. If you need help editing your CSS, ask the forums

Customizing

Have a look at the README. Everything regarding

is described there.

For the ones who are never reading READMEs:

If one of the files within /monobook/user/ does not exist7), just take the missing files from the newest installation archive and copy them into /monobook/user/.

Custom tab examples

…to insert into /monobook/user/tabs.php (NOT /monobook/conf/tabs.php).8)

Recent Changes

//Recent Changes (thanks to Stefan Riemer for this)
//To get some space between this and the other tabs, you may add the following
//additional CSS to /monobook/user/screen.css:
//  li#tab-recent {
//    margin-left: 1.6em;
//  }
if (!empty($conf["recent_days"])){     
    $_monobook_tabs["tab-recent"]["text"]     = $lang["btn_recent"]; //language comes from DokuWiki core
    $_monobook_tabs["tab-recent"]["href"]     = wl("", array("do" => "recent"), false, "&");
    $_monobook_tabs["tab-recent"]["nofollow"] = true;
}

Custom box examples

…to insert into /monobook/user/boxes.php (NOT /monobook/conf/boxes.php).9)

QR Code of the current page

//QR-Code of the current page (thanks to Luigi Micco <http://www.luigimicco.altervista.org> for this)
$_monobook_boxes["qrcode"]["headline"] = "QR-Code";
$_monobook_boxes["qrcode"]["xhtml"] = '<img src="http://api.qrserver.com/v1/create-qr-code/?data='.urlencode(cleanID(getID()), false, true, "&")).'&amp;size=135x135" style="margin:0.5em 0 0.3em -0.2em;" alt="QR-Code: '.wl(cleanID(getID()), false, true).'" title="QR-Code: '.wl(cleanID(getID()), false, true).'" /><p style="font-size:6px !important;margin:0;padding:0;color:#aaa;"><a href="http://goqr.me/" style="color:#aaa;">QR Code</a> by <a href="http://qrserver.com/" style="color:#aaa;">QR-Server</a></p>';

Support for pdfbook plugin

To support BookCreator plugin, use this code:

//To add support for bookcreator plugin
$_monobook_boxes["bookcreator"]["headline"] = "Create book";
$_monobook_boxes["bookcreator"]["xhtml"] =  "        <ul>\n"
                                         ."          <li id=\"tb-bookcreator\"><a href=\"".wl(cleanID(getID()), array("do" => "addtobook"))."\" rel=\"nofollow\">".hsc('Add/Remove page')."</a></li>\n"
                                         ."          <li id=\"tb-bookcreator\"><a href=\"".wl('wiki:ebook')."\" rel=\"nofollow\">".hsc('Show selection')."</a></li>\n"
                                         ."        </ul>";

mluigi 2010/04/01 17:12

Recent changes and the "listeabo" plugin

To add “recent changes” and the plugin "listeabo": added in lang.php

english:

$lang['monobook_changes'] = "Recent changes";
$lang['monobook_listeabo'] = "List with subscribtions";

dutch:

$lang['monobook_changes'] = "Recent gewijzigd";
$lang['monobook_listeabo'] = "Lijst met inschrijvingen";

And the following in user/boxes.php

$_monobook_boxes["Addition"]["headline"] = "TITLE";
$_monobook_boxes["Addition"]["xhtml"] =  "<ul>\n"
                                      // added recent changes 
                                      ."          <li><a href=\"".DOKU_BASE."doku.php?do=recent"."\" rel=\"nofollow\">".hsc($lang["monobook_changes"])."</a></li>\n"
                                      // added listabo
                                      ."          <li><a href=\"".DOKU_BASE."doku.php?do=listeabo"."\" rel=\"nofollow\">".hsc($lang["monobook_listeabo"])."</a></li>\n"
                                      ."</ul>";

Theo Klein 2010/02/18 11:09

Hacks for /user/screen.css

…to insert into /monobook/user/screen.css (NOT /monobook/static/css/screen.css).10)

Custom link colors (wiki/internal links)

Open /user/screen.css and insert:

div.dokuwiki a.wikilink1 :link{
  color: #006600 !important;
}
div.dokuwiki a.wikilink1:visited { 
  color: #009933 !important; 
}
div.dokuwiki a.wikilink1:hover { 
  color: #006600 !important; 
}

Simply replace the colors with a value you like (thanks to Theo for this).

Wider sidebar / more space for left column

Open /user/screen.css and insert:

/* Give sidebar more space.
 
   Default widths:
   - 12.2em as left spacer for the content area. This example is using 14.2em
     instead.
   - 11.6em as sidebar width. This example is using 13.6em instead.
   - 10.9em as width for the search input field. This example is using 12.9em
     instead.
   - 150px as left spacer for the Ajax searchbox. This example is using 180px.
*/
/* move content container more to the right */
#content {
  margin: 2.8em 0 0 14.2em;
}
#column-content {
  margin: 0 0 .6em -14.2em;
}
#column-content #content {
  margin-left: 14.2em !important; /* adjustment for  IE (7) */
}
/* redefine sidebar width + tab bar position */
.portlet {
  width: 13.6em;
}
#p-cactions {
  left: 13.6em; /* tab bar */
}
/* search input field */
#qsearch__in {
  width: 12.9em;
}
/* ajax "matching pagename" searchbox */
#qsearch__out {
  left: 180px
}

Thanks to SteReSteRe

Markkleeberg (nahe Leipzig)
for this.

Own background image

Store your background image as /user/background.jpg, open /user/screen.css and insert:

html {
  background-color: #f9f9f9;
}
body {
  background: #f9f9f9 url(user/background.jpg) 0 0 no-repeat;
}

If needed, replace the color #f9f9f9 with a value fitting your needs.

Ajax Quicksearch: show results in sidebar

:!: ATTENTION: This hack needs monobook version 2010-05-29 or newer! Older ones do not work!

Little intro: before I began using the monobook template I used dokubrick, this had a different quicksearch, integrating it into the right side menu. In monobook I didn't like the quicksearch, that little screen floating over the text… So I made an alteration, integrating it into the left side of monobook. To do this you need open /user/screen.css and insert:

#qsearch__out {
  position: static !important;
  font-size: 85% !important;
  background: __background__ !important;
  margin-top: 0 !important;
  margin-bottom: 0.5em;
  width: 12.2em;
  display: none;
  border: 1px solid #aaa;
  padding: 0 .8em .3em .5em;
}

Theo

Preserve whitespace (multiple spaces, tabs) within ''Code Text''

Open /user/screen.css and insert:

div#content .dokuwiki code {
  white-space: pre;
}

FAQ

What are these "Please fill this placeholder ([pagename])" everywhere?

The template optionally imports normal wiki pages and shows their content as

This means you can create the page mentioned in the “Please fill this placeholder” message (e.g. ”:wiki:navigation”) and its content will be shown instead of the message. All of these placeholders are configurable. Have a look at the DokuWiki admin section:

How can I check which version is currently installed?

Simply have a look at lib/tpl/monobook/VERSION. This is a textfile containing the version you are using (e.g. 2010-06-02). If there is no VERSION file, you are running the no longer supported monobook by Terence J. Grant. Have a look at the update notes to get a maintained version.

How to change the logo/favicon/tabs/boxes[...]?

See customizing.

How can I hide the edit tab and boxes until users are logged in?

Go to the DokuWiki admin section and have a look at the following option (introduced in monobook version 2010-06-29):

Is the template compatible to the Discussion plugin?

Short answer: yes. The template brings support for basic discussion pages without the need to install any additional plugin. However, if you are interested to use the Discussion plugin (which allows threaded replies, avatars, captcha and other controls at the bottom of the wikipage instead of a separated basic discussionpage), simply install it and deactivate the template option “Use discussion tabs/sites?” at the DokuWiki admin section.

The insitu JS footnotes are displayed at the wrong position. Why don't you fix this?

Even if the footnotes may work as expected in some other templates, the wrong insitu footnote popup position is not a template but a DokuWiki 2010-11-07 “Anteater” issue (see Bug 2114). All templates with relative positioning are affected. This bug is fixed since DokuWiki 2011-04-22 “Rincewind RC1”. If you update your DokuWiki installation, the problem should be gone.

Discussions, comments and questions

Please refer to the discussion page.

Development Roadmap

In development

Planned

Latest changes

Version history

:!: For a complete change log, see the commits on Github. Older releases are no longer recommended for usage and are listed for reference only.

monobook version Download Designed for and tested on DokuWiki Comment
2011-12-10 Release
Update
rc2011-11-10 “Angua RC1”,
2011-05-25a “Rincewind”
Added fix for wrong horizontal rule clearing (---- / <hr>-Tag)
2011-11-29 Release
Update
rc2011-11-10 “Angua RC1”,
2011-05-25a “Rincewind”
:!: Full support for DokuWiki's new Media Manager; :!: Multilingual navigation for Translation plugin users; Apple Touch Icon support (see README for details).
2011-05-10 Release
Update
rc2011-05-08 “Rincewind RC2”,
2010-11-07 “Anteater”,
2009-12-25 “Lemming”
Cross browser compatibility fixes.
2011-05-04 Release
Update
rc2011-04-22 “Rincewind RC1”,
2010-11-07 “Anteater”,
2009-12-25 “Lemming”
Improved media manager, added Russian and Esperanto language, hide breadcrumbs in mediamanager.
2011-03-17 Release
Update
2010-11-07 “Anteater”,
2009-12-25 “Lemming”
Added Polish language, plugin compatibility improvements (CSS): bureaucracy and some others.
2011-03-16 Release
Update
2010-11-07 “Anteater”,
2009-12-25 “Lemming”
Improved Anteater compatibility; Switched css base from 'default' template to 'starter' template (→ reason).
2010-08-17 Release
Update
2009-12-25 “Lemming” Added /user/tracker.php to make web analytics software integration easier; CSS fixes for lists and TOC; some minor bugfixes.
2010-06-29 Release
Update
2009-12-25 “Lemming” New config options (user pages optional, :!: closed wiki - most tabs/boxes will be hidden until user is logged in if active). :!: Template respects $conf['disableactions']. :!: Improved translation plugin integration (now placed at sidebar). Language names are taken from title attribute (→ introduced in newer plugin versions), so you may have to update the plugin for best optical results. Support for PNG favicon. Many many improvements.
2010-06-02 Release
Update
2009-12-25 “Lemming” Added Spanish language, fixed Italian language (settings), added workaround for “jumping textarea” in MSIE8.
2010-05-29 Release
Update
2009-12-25 “Lemming” Added Dutch language, added Brazilian Portuguese language, TOC position now configurable, removed “access denied” messages for included pages, some bugfixes.
2010-01-20 Release
Update
2009-12-25 “Lemming” Added Norwegian language, updated Japanese and French language, added workaround for PHP Bug #49692.
2010-01-19 Release
Update
2009-12-25 “Lemming” Configurable boxes (left column), optional “full screen” media manager (see config), Japanese language, some bugfixes.
2010-01-13 Release
Update
2009-12-25 “Lemming” Configurable footer buttons, Italian language, some bugfixes.
2010-01-12 Release
Update
2009-12-25 “Lemming” First version released by new maintainer (Andreas Haerter), rewrite of the no longer maintained monobook by Terence J. Grant.
Pre 2010-01-12 ≤ 2009-02-14 All older versions were maintained and developed by Terence J. Grant. There will be no more support for them, please follow the update instructions to get a supported version. If you have to run a DokuWiki version older than 2009-12-25 “Lemming” (for whatever reason) and therefore still have to use an outdated monobook version, the archived legacy monobook content may be interesting.

Credits

All versions >=2010-01-12 are heavily inspired and partially based on the great work done by Terence J. Grant. He developed the template from 2006 until the end of 2009 but did not have enough time to maintain it any longer. Thank you for your work and your ideas! :-)

:!: For a complete listing, see the enclosed CREDITS file.

Sites using this Template

Feel free to add yours here:

1) Wikipedia used “monobook” until the mid of 2010, now ”vector” is in use.
2) , 3) via custom tab, see /monobook/user/tab.php
4) 2010-01-11 and above
5) I did my very best to bring monobook up2date. If something fails, please send me a bug report instead of fixing it silently – If it is a bug, I will release an update ASAP
6) hints: /lib/tpl/monobook/user/screen.css influences normal layout; /lib/tpl/monobook/user/print.css influences print layout, /lib/tpl/monobook/user/rtl.css influences “right-to-left” languages like Hebrew
7) cause some files may were added during the development of monobook, and updates normally do not touch the content of /monobook/user/
8) , 9) , 10) cause files in monobook/user/ will be preserved on updates, so you don't have to do your customizations over and over again