It's better when it's simple

User Tools

Site Tools


Table of Contents

Legacy note


Please note that a rewritten version of the “monobook” template was released on 2009-01-12, maintained by Andreas Haerter. Please upgrade (see instructions on the template's page), this version developed by Terence J. Grant is no longer supported.

You should not edit it this page, it exists to archive the “old” messages. If you got ideas/bug reports/foo/bar, use the current monobook page.



It's not required, but please consider linking to this page if you like this product.

Also, feel free to leave a link to your site(if it uses this product) on the discussion page.


Before downloading or using this product, make sure you understand and accept the terms of the license.

After downloading, make sure to follow the install instructions or upgrading instructions below; trust me, they're worth reading.

  • Older downloads are available on request only.

Note: always points to the latest stable version!


  1. download the tarball/zip-file
  2. unpack it into <dokuwiki>/lib/tpl/
  3. login as admin and change the template in the configuration manager

using git:

% cd <dokuwiki>/lib/tpl/
% git clone git:// monobook

Debian install (or probably any other distribution):

# cd /usr/share/dokuwiki/lib/tpl/
# wget
# tar -xvzf monobook-stable.tar.gz
# chown -Rv 33 monobook/

Note: always points to the latest stable version!


This is the set of monobook style sheets, directly from both Mediawiki's and Wikipedia's style sheets, only adapted for DokuWiki.

Personally I think Monobook makes DokuWiki the perfect Wiki software available by far.

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.

  • Discussions are supported without requiring an additional plugin.
  • User pages so you can have your own home page on your wiki.
  • Cite this Article allows students, journalists, researchers, and the like to easily reference articles on your site.
  • Permanent Link guarantees that articles you link to in emails are as you saw them that second.
  • All non-page portions of the template can be edited just as if they were pages. How cool is that?

So with all of this, we get not only everything DokuWiki offers, but the best features of MediaWiki as well.

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.

Install and Configure

Installation is simple, just unzip the file into the folder lib/tpl in your DokuWiki install, and set monobook as your template in the configuration manager.

<note>You will also need the displaywikipage plugin, so download and install that as well.</note>

Also, please turn off “Compact CSS and JavaScript files” in the configuration manager because this option is broken and generally causes problems with templates.

Standard Options

  • To enable User pages, create wiki:user:username and set username's permissions to read and edit it.
  • To enable Discussion pages, set the discussion's namespace to only read and edit by all users. Then manually create the discussion page yourself. This solves the problem of people making random pages in the discussion namespace, as they'll only be able to edit the discussion.
  • To enable the subscribe changes button, simply enable Enable page subscription support in your configuration settings.

All other configuration options are now located in the configuration manager, available from the admin page. Look in the configuration manager for “monobook”, and you'll see the following:


All options are fairly self-explanatory; if not, you can experiment with them to see what they do.

Sample Pages

The pages referred to above for navigation, site notice, copyright, can be edited just like a wiki page (provided you followed the installation instructions), but samples are not included by default, so a few samples are provided below.

Sample Navigation Page

  * [[:start]]
  * [[http://mysite/wiki/doku.php?do=recent|Recent Changes]]
  * [[:wiki:dokuwiki|Help]]
  * [[:links]]
  * [[http://mysite/wiki/doku.php?do=index|Site map]]

Sample Site Notice Page

Welcome to my website!

Sample Copyright Page

Copyright 20X6, Stinkoman.

Notes on Toolbox

The same general rules apply to the toolbox portlet, with the exception that an alternate, more sophisticated toolbox is provided by default, although it is not an editable page.

The default toolbox contains the links below.

  • What links hereCalls the same function as “backlinks” in DokuWiki.
  • Upload fileOpens the same window as the upload popup.
  • Special pagesIn wikipedia, this refers to wiki-related pages, so this serves the same function.
  • Printable versionOpens the current page with the printing stylesheets.
  • Permanent linkGrabs a link to the current revision of a page.
  • Cite this articleGives end users a method to cite pages on your website for research papers and articles.


Some additional content that needs to be modified is in a folder called user within the monobook folder. You can edit or delete any of the files in user as you wish; they're all optional.

File name purpose
favicon.ico Web site icon in the address bar.
logo.png / logo.gif / logo.jpg User logo at top left of page.
Monobook.css A file that will adds (or overrides) wikipedia/Monobook.css.
Common.css A file that will adds (or overrides) wikipedia/Common.css.

There is also an optional “lang.css” file that goes into the same folder as language translations– this is in case you need special CSS for your language.


In general, if you are upgrading, make sure you do a force-refresh when you update the monobook for your website. You can do this in Firefox and Internet Explorer by holding shift-control-alt and clicking the refresh button.

Also note that there will be dramatic changes somewhat often, so check What's new to see what's changed between your older version and the current version.


You can change the following settings via the DokuWiki “Configuration Settings” Dialog.

Option Value(s)
navigation_page Name of the wikipage which should be treated as “navigation”.

First Steps

Creating the Navigation

This won't work without the Display Wiki Page Plugin
The template looks for a wiki page called navigation, or whatever you've defined in the configuration, in the current namespace to include it as the sidebar. If this page doesn't exist the template shows a notice containing a link to create it.

Example navigation:

  * [[link1]]
  * [[link2]]
  * [[link3]]

Browser Compatibility

The template was tested with the following Browsers.

If you've seen it working with other browsers feel free to add them to the list :-)!

  • Firefox (Linux 2.0, Mac OS X, Windows Vista Service Pack 2, Windows XP, Windows 7)
  • Opera (Win / Linux 8.5, 9.01, 9.24, 10)
  • Internet Explorer 8 (Windows XP Pro SP 3, Windows 7)
  • Safari (Snow Leopard)
  • Google Chrome (Windows XP)

Bugs / Feature Requests

To report bugs and feature requests please use the bug tracker.

What's New

A complete changelog is available at my github page!

July 30, 2008

This is one of those “higher priority” updates, so I suggest you update if you're able to.

If you need to do a minimal update, just take “context.php” from the new archive and replace your current context.php file with it and you'll be set.

October 3, 2007

  • Added es language, thanks to Fran García.
  • Minor changes to main.php

July 20, 2007

  • Fixed footnote mouseover display (thanks to Christian.)
  • Fixed search preference item

May 23, 2007

  • Added a few new options in configuration settings, thanks to Patrik Bornemann.
  • Better print support, thanks to Tobias Eigen.
  • Proper RTL support, thanks to Tobias Eigen for identifying that this wasn't being handled properly.

March 14, 2007

March 11, 2007

  • Two new languages, zh-cn and zh-tw; thanks to 郭長祐 for this.

February 15, 2007

  • Style.ini updated
  • Author setting now available for “Cite this Article” links.
  • Updated installation instructions.
  • Possibly other minor changes– don't recall.

January 3, 2007

  • Italian language has been added
  • Wikipedia-specific stylesheets have been added for the ten primary languages of Wikipedia: en, de, fr, pl, ja, nl, it, pt, sv, and es.
    • What you'll notice is better support for your native language as well as a closer “look and feel” to Wikipedia.

Tabs look a little better: And the “portlets” are customized as well.

I already predict folks will want a little more customizable look and feel; be assured I'll work on it for the next release.

December 2, 2006

  • Monobook now uses the configuration manager to make things easier.
  • user_pref.php and pref.php have been removed.
  • More generalized options are available in the configuration manager.
  • There was a typo in lang.php for each language… toobox → toolbox
  • settings.php is now added to lang/en and needs localization for each language.
  • Major revamp of this page to make installation easier.

November 18, 2006

  • Search results are now highlighted.

November 3, 2006

  • Fix upload page…
  • Fix support for new “Media manager” (grumble)
  • Add pt-br language
  • Update nl language
  • Credit Danilo Sato for br-pt
  • Credit Eric Hameleers for nl

Note, for some reason in IE's display of the media manager, the [+] icons are not properly aligned with the text labels on the tree. I cannot figure out how to fix this. If you find a solution, please contact me or post on the project's discussion page.

October 22, 2006

  • Some minor changes, and…
  • Translators: Please add a lang.css (even if empty) to lang folders for new languages.
  • Polish, German, Hungarian Language updates
  • Credit to Marcin Hugo Kosiniski for pl, Volker Leonhardt for de, Peter Attila for hu

October 10, 2006

  • Problems with search fixed
  • German language update.

October 7, 2006

Dear monobook users, please test the following:

  • Probably compatible with IE 7?
  • Three new customizable CSS files are available:
    • /user/Monobook.css
    • /user/Common.css
    • /lang/(langauge code here)/lang.css – for instance /lang/de/lang.css

Again please test the above features as I am not able to.

  • New features as follows:
    • Upload file link works again, and now uses correct namespace
    • AJAX Quicksearch is now working (and looks good)
    • Recent Changes access key now works [ALT-R]
    • Documentation typo fixed
    • doku.php is no longer hard-coded, Monobook now uses DOKU_SCRIPT
    • Go no longer searches, it tries the page based on an ID you put in there
      • Search is still the default, though.

This takes care of all but two of the outstanding issues on the discussion page. The discussion page has been cleaned up as well. I trimmed it by 12 pages of mostly fixed bug reports. 8-O

September 3, 2006

August 23, 2006

  • Removed “Display Wiki Page” from this project, it is now its own plugin, displaywikipage.

August 20, 2006

  • German language update (thanks to Volker Leonhardt)
  • Removed Google Analytics code (Use googleanalytics for dokuwiki instead.)

August 19, 2006

  • Hungarian language support
  • Swedish language support
  • French language update
  • English language update
  • other.php no longer included in distribution (see discussion page)

July 28, 2006

  • The printing stylesheet has been updated– might be 100% complete?
  • Now uses the Wikipedia arrow for external links.
  • Toolbox links now use rel=“nofollow” to be more search engine friendly.
  • Apparently the “my talk” link was pointing to an incorrect location if you didn't use “:wiki:talk” as your default; so this is fixed.

June 24, 2006

June 23, 2006

  • There are some style changes so make sure to do a force refresh.
  • All accesskeys, except for R and X, should now be working.
  • Some string functions were moved to string_fn.php
  • A JavaScript bug was fixed for IE. (Thanks Ian Durey.)
  • Disclosure triangles available for “Site map”/“Index” links.
  • There is now a default “favorites icon” in the “user” folder.
  • There are some default values to thwart referrer spam (fake referrers) but it needs a little more work to make it general.
  • Lithuanian(???) language support thanks to Edmondas Girkantas

That's it for now.

May 19, 2006

  • Two small bugs officially fixed:
    • <div id=“dokuwiki”> → <div class=“dokuwiki”> in main.php (Thanks to Eric Hameleers.)
    • $monobook['discussion'] = “talk”; → $monobook['discussion-location'] = “talk”; in pref.php (Thanks to Joanne Walding.)

May 12, 2006

  • Printable Version link now works
  • Cite this Article link now works
  • Permanent Link now works (Thanks to Andi.)
  • Upload file and Image details page now use template, although they may look a little crude
  • de language files (Thanks to Dirk Blasius.)
  • nl language files (Thanks to Eric Hameleers.)
  • New “Driven by DokuWiki” and “Monobook for DokuWiki” buttons (Thanks to Derek Scott.)
  • The following links have been removed permanently since its unlikely they will be implemented:
    • Move tab
    • My contributions
    • My watchlist
  • monobook_nothing (a JavaScript function) has been removed.
  • body_onload has been removed
  • body_ondblclick has been removed
  • move has been removed
  • discussion-location has been added

May 2, 2006

  • 'sitenotice' is now a wiki page location instead of just text
  • 'copyright' is now a wiki page location instead of just text
  • preferences are now editable through local_pref.php
  • navigation display problems fixed
  • Language support is now in; current languages are English and French.
    • Please read the discussion page before sending in a new language, thanks!
  • My talk link now active (thanks to Pasha)
  • Referrer script works a little better and now will alert you if you've set up permissions on “:wiki:referrers” wrong. (That is, if you choose to use it.)

Special thanks again to Etienne Gauthier for most of the changes this week's release.

April 21, 2006

  • Three new options for navigation and toolbar link styles; including wiki_page, the best one! Thanks to Etienne Gauthier for these changes!
  • Discussion tab can be turned on/off
  • Move tab can be turned on/off
  • Google Analytics support now included
  • Referrer script is included for this release
  • php.php has been removed (see discussion)
  • All tabs are available for all special pages

April 7, 2006

  • Fixed bugs in IE
  • Links for navigation, toolbox can now be “wiki” links
  • Button links are now red if the page does not exist
  • All special pages now have the “edit” option

April 1, 2006

  • The project has been completely reworked from the bottom up.
  • Although the configuration method has changed, it should be be much easier to use.
  • Tab context should be 100% correct in “article mode” (as opposed to “special page” mode.)
  • Wikipedia “blue pages” have been implemented for:
    • The wiki namespace
    • Discussion pages
    • User pages
    • Search results
  • Some behavior has changed; if anything seems completely out of place, please discuss it on the discussion page.
  • Please let me know if there are any old issues that have resurfaced by posting to the discussion page, thanks.

March 30, 2006

  • Discussion tab is now in “missing red” when there is no discussion page. Thanks to Eric H. for introducing a better link function. Note that since a change was made to main.css, you will probably need to do a strong-refresh by holding control-shift-alt and clicking the refresh button before changes will be noticeable.

March 26, 2006

  • Rich J. sent in some changes for better XHTML compliance. Here's something to remember for the future:
    • Ensure single tags are <xml/> style
    • Apparently you're supposed to use &amp; instead of & in URLs now.

March 25, 2006

  • Watch/Unwatch tab is enabled if you enable subscription support now, thanks to Eric H.

March 24, 2006

  • Important note: While this project is in development, all links will be in English language only.
  • Discussion is implemented(see Install notes.)
  • Breadcrumbs will appear at the top if you enable that
  • You are here will appear at the bottom if you enable that
  • Eric H. sent in some really good changes for the buttons at the top to keep them fairly consistent with the “state” of the page; proper highlighting for page buttons and backlinks.
  • I've also re-added some previous code to hide the “show page” button when its not needed.
  • The following toolbox links:
    • What links here
    • Upload file ← done, but the page needs template
    • Special pages
  • Some placeholders on the actions toolbar:
    • Discussion (I think there's a plugin for this?)
    • Move (I've read talk that someone was working on this recently.)
    • Watch (I think this is already implemented, I just need to figure out where it is in DokuWiki.)
  • Some new things on the personal toolbar:
    • Your username now links to wiki:users:username
    • Admin has been moved to the toolbar
    • My preferences links to update profile
  • Some placeholders for the personal toolbar:
    • my talk ← is this possible?
    • my watchlist ← is this possible?
    • my contributions ← is this possible?

March 18, 2006

  • Monobook now conforms better to the new DokuWiki CSS namespace… this improves rendering in plugins and rendering in general (Found by Eric H.)
  • User logo is now easier to customize

March 14, 2006 The following issues have been fixed:

  • Missing file(the bullet) for the table of contents
  • Breadcrumbs are available and will be above article if enabled
  • Upload file link on toolbox works
  • Link color for missing articles
  • Search index now gets properly updated(thanks to Kevin)
  • Footnotes styles fixed
  • Smiley picker and character picker styles now DokuWiki-like
  • Update profile link now available at top right when logged in
  • Username displayed at top right

March 5, 2006 New version should work with new DokuWiki 2006-03-05.

March 1, 2006 (First two issues listed were found by Christian G., fixed by myself.)

  • Search works for DokuWiki users not using rewrite engine.
  • Edit this page works for DokuWiki users not using rewrite engine.
  • Editing old revisions works again

Also the file includes a README and LICENSE file.

February 28, 2006

  • Should be able to use this style within a “frames required” website. (Thanks to Péter A.)

February 27, 2006

  • Styles for spell checking have been fixed.

Sites using this Template

Link your site here if you wish


Customize Toolbox

Items can be added to the default toolbox by modifying context.php. Starting somewhere after line 355, insert code similar to the following samples.

//Add link to clear page's cache with one click
$monobook['defaulttoolbox']['purgecache']['href'] = DOKU_BASE."doku.php?id=".$ID."&purge=true";
$monobook['defaulttoolbox']['purgecache']['text'] = $lang['monobook_purgecache'];

//Add ODT export link for ODT plugin
//FIXME: should probably check if ODT plugin is installed
$monobook['defaulttoolbox']['odt']['href'] = exportlink($ID, 'odt');
$monobook['defaulttoolbox']['odt']['text'] = $lang['monobook_odtexport'];

//Add quick access to PageMove plugin
//FIXME: Should probably hide this for non-superusers, check if plugin is installed
$monobook['defaulttoolbox']['movepage']['href'] = DOKU_BASE."doku.php?id=".$ID."&do=admin&page=pagemove";
$monobook['defaulttoolbox']['movepage']['text'] = $lang['monobook_movepage'];

Now in the template's lang/en/lang.php file, add lines similar to the following samples:

$lang['monobook_purgecache'] = "Clear page cache";
$lang['monobook_odtexport'] = "OpenOffice export";
$lang['monobook_movepage'] = "Move/rename page";

Additional Examples

Using the above method, this is extra items I have added…

// TOC Index 
$monobook['defaulttoolbox']['special']['href'] = DOKU_BASE."doku.php?idx=wiki";
$monobook['defaulttoolbox']['special']['text'] = $lang['monobook_specialpage'];
$monobook['defaulttoolbox']['special']['rel']  = "nofollow"; 

// Upload file 
$monobook['defaulttoolbox']['upload']['href'] = DOKU_BASE."lib/exe/mediamanager.php?ns=".getNS($ID);
$monobook['defaulttoolbox']['upload']['text'] = $lang['monobook_upload'];
$monobook['defaulttoolbox']['upload']['rel']  = "nofollow";

// PageMove 
$monobook['defaulttoolbox']['movepage']['href'] = DOKU_BASE."doku.php?id=".$ID."&do=admin&page=pagemove";
$monobook['defaulttoolbox']['movepage']['text'] = $lang['monobook_movepage'];
$monobook['defaulttoolbox']['movepage']['rel']  = "nofollow";

// export raw 
$monobook['defaulttoolbox']['exportraw']['href'] = $baseurl.DOKU_BASE."doku.php?".$ID."&do=export_raw";
$monobook['defaulttoolbox']['exportraw']['text'] = $lang['monobook_exportraw'];
$monobook['defaulttoolbox']['exportraw']['rel']  = "nofollow";

// export html
$monobook['defaulttoolbox']['exporthtml']['href'] = $baseurl.DOKU_BASE."doku.php?".$ID."&do=export_xhtmlbody";
$monobook['defaulttoolbox']['exporthtml']['text'] = $lang['monobook_exporthtml'];
$monobook['defaulttoolbox']['exporthtml']['rel']  = "nofollow";

// Text printout 
if (isset($_REQUEST['rev']))
    $monobook['defaulttoolbox']['print']['href'] = DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$requestREV."&amp;mbdo=print";
    $monobook['defaulttoolbox']['print']['href'] = DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$INFO['lastmod']."&amp;mbdo=print";
$monobook['defaulttoolbox']['print']['text']     = $lang['monobook_print'];
$monobook['defaulttoolbox']['print']['rel']      = "nofollow";

// Permanent link 
if (isset($_REQUEST['rev']))
    $monobook['defaulttoolbox']['permanent']['href'] = DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$requestREV;
    $monobook['defaulttoolbox']['permanent']['href'] = DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$INFO['lastmod'];
$monobook['defaulttoolbox']['permanent']['text']     = $lang['monobook_permanent'] ;
$monobook['defaulttoolbox']['permanent']['rel']      = "nofollow";

// citation
if (isset($_REQUEST['rev']))
    $monobook['defaulttoolbox']['cite']['href'] = DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$requestREV."&amp;mbdo=cite";
    $monobook['defaulttoolbox']['cite']['href'] = DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$INFO['lastmod']."&amp;mbdo=cite";
$monobook['defaulttoolbox']['cite']['text']     = $lang['monobook_cite'];
$monobook['defaulttoolbox']['cite']['rel']      = "nofollow";

// backlink
$monobook['defaulttoolbox']['whatlinkshere']['href'] = DOKU_BASE."doku.php?id=".$ID."&amp;do=backlink";
$monobook['defaulttoolbox']['whatlinkshere']['text'] = $lang['monobook_whatlinkshere'];
$monobook['defaulttoolbox']['whatlinkshere']['rel']  = "nofollow";

// contact us
$monobook['defaulttoolbox']['contactus']['href'] = $baseurl."/public/~site-info/email.shtml";
$monobook['defaulttoolbox']['contactus']['text'] = $lang['monobook_contactus'];
$monobook['defaulttoolbox']['contactus']['rel']  = "nofollow";

Don't forget to add the definitions to the language file! “lang/en/lang.php” Such as…

$lang['monobook_specialpage']   = 'TOC Index';
$lang['monobook_whatlinkshere'] = "Links to this Page";
$lang['monobook_upload']        = "Upload File";
$lang['monobook_print']         = "Export Print Version";
$lang['monobook_permanent']     = 'Permanent Link';
$lang['monobook_cite']          = "Cite this Article";
// jz-custom
$lang['monobook_movepage']      = "Move/Rename Page";
$lang['monobook_exportraw']     = "Export as Text";
$lang['monobook_exporthtml']    = "Export as HTML";
$lang['monobook_contactus']     = 'Contact Us';

Customize Nav Bar

I have not found any place to add items to the navigation bar so I found the place to hard code it.Enjoy! - jwz (8/1/2009)

Please, do not hard code your navigation using the template files. If you do so, you always have to change them from outside the wiki. Here the way to use monobook's navigation from inside the wiki:

  1. :!: IMPORTANT: You have to install the plugin “Diplay Wiki Page” to use the navigation! (see Monobook install)
  2. Open Config → Monobook Template Konfiguration
    • Check tpl»monobook»mb_use_navigation (Use Navigation?)
    • Set tpl»monobook»mb_navigation_location (If yes, navigation location:) to the page, where your navigation should be saved (For example use
  3. :!: If you do not see an edit button (you must be superuser) in the nav bar, then the plugin is not installed (properly). P.S. The author has been very helpfull in clarifying and updating these instructions. I have followed them and it works. :) - jz-8-10-09
  4. Create the page the normal way
  5. (Open the page and) enter your navigation items

SteRe 2009/08/03 15:10

The page wiki:navigation is a normal wiki page. To use it as navigation list, just enter links to your sites, for example the following syntax is used:

  * **Title 1**
    * [[page1]]
    * [[page1]]
  * **Title 2**
    * [[page1]]
    * [[page1]]

Here is an actual example…

  * **Main Menu**
    * [[:start|Main Menu]]
    * [[:start|Basic Editing]]
    * [[wiki:syntax|Advanced Editing]]
  * **About DokuWiki**
    * [[|Dokuwiki Site]]
    * [[|Dokiwiki Manual]]

SteRe 2009/08/06 00:39

Adding new Tabs

There is a thread on the Forum which explains how to add some more tabs.

I needed an multilingual Navigationmenue, so I replaced/modified line ~140 in main.php
Now it will add a languagecode like en or de to the navigation link.
For example: :wiki:navigation:de


<?php if function_exists('dwp_display_wiki_page')) 
dwp_display_wiki_page(tpl_getConf('mb_navigation_location')); ?>


<?php if (function_exists('dwp_display_wiki_page')) 
if ( $conf['lang'] ) { $mb_navigation_location_lang_ext = tpl_getConf('mb_navigation_location').':'.$conf['lang']; } 
else { $mb_navigation_location_lang_ext = ''; } 
dwp_display_wiki_page($mb_navigation_location_lang_ext); ?>

— Mark Wolfgruber 26.06.2009

modification using the Translation-Plugin

Disable list-style-image

If you are using the Translation-Plugin there is a square before each language-code.
To disable the square-image edit the ~plugins/translation/style.css and
add in line ~14 list-style-image: none !important;

.dokuwiki div.plugin_translation ul li{
    float: left;
    list-style-type: none;
    list-style-image: none !important;
    padding: 0;
    margin: 0;

— Mark Wolfgruber 2009/06/30


Installed the template but the out come looks nothing like the image here!

You might want to clear your browser cache or force a re-cache in Firefox (CTRL+SHIFT+R) …

I missed in the ''...monobook/lang/hu/lang.php'' the the section //Constants for the tool box//

here it is:

  //Constants for the tool box
  $lang['monobook_whatlinkshere'] = "Mi kapcsol itt";
  $lang['monobook_upload'] = "Feltöltodo file";
  //$lang['monobook_specialpage'] Already here;
  $lang['monobook_print'] = " Nyomtatható verzió";
  $lang['monobook_permanent'] = 'Állandó link';
  $lang['monobook_cite'] = "Hivatkozás erre a cikkre";

— Mark

Local Language Support

If you wish to support a language, please do the following:

  1. Create the language file based on en file in the lang folder. (And optionally a lang.css if you need special style support.)
  2. Send an email to Terence (with the file, and please tell me the two-character code, “en”, “de”, etc.)
  3. Last, add an entry below so we'll all know which languages still are needed; thanks! :-)

After I get your email, I'll add the language to the next release, and link it below so those who need it before the next release can get it.


These are the top questions that always seem to come up; I guarantee you that they're not caused by the template.

Wiki Editing tools menu has disappeared?

Your problems can be explained and fixed here.

The template didn't cause this.

Reread the installation instructions.

I had this problem because I had not installed the displaywikipage plugin. After installing it the trouble disappeared. It is not documented, is it?

It is documented, follow the link above. — Terence J. Grant 07/19/2007 23:04

I have a Navigation permissions issue

This has to do with the displaywikipage plugin, so ask it on that discussion page.

I'm having trouble with ACL

This has nothing to do with the template, so don't ask it here.

Ask any question you want about ACL and the mailing list.

If you paste in ACL to this discussion, it will get deleted.

Here's a couple of things to consider.

  1. Not using the prefix “:” means that for any page, your navigation will look for “current_namespace:wiki:navigation” (which is a different page in different namespaces.) If you don't use anything beyond the root namespace, you're fine; but most people don't use DokuWiki this way.
  2. Some ACL routines were (and might still be) broken in DokuWiki. Essentially this meant (or might still mean) that:
    1. if you have your root namespace not readable by all,
    2. and you set the page permissions for “:wiki:navigation” to be readable by all,
    3. then regardless of this, “:wiki:navigation” will still inherit the permissions of the root namespace regardless.

I've reported this bug here, and here. As you can see from both links, they're not able to reproduce the bugs (but they're comparing this to the “current dev version” rather than the “stable” versions everyone else uses.) This means either one of two things:

  1. This may mean the bug was fixed in one of the stable versions released in the last few months.
    • If so, try upgrading if you haven't already.
  2. This may mean the bug isn't fixed, for some reason the problem is not understood by the DokuWiki team.

And again, I'll state, if this problem still exists, it isn't a problem with monobook, it's a bug in DokuWiki's ACL. ACL problems have absolutely nothing to do with this project– if it's a problem with ACL here, it's a problem with ACL everywhere– and there's truly absolutely nothing I can do from here to fix them. — Terence J. Grant 08/02/2007 03:02

I installed the template and now...

  • My plugins don't work!
  • My ACL broke!
  • Pages say they're locked!
  • Other non look and feel issue!

If it's not related to look and feel, the template didn't do it. It's not even remotely possible.

  • How do I export PDFs from these pages?

My suggestion is to use a PDF print driver, like one you might find in Adobe Acrobat (commercial version). Personally I use PDF995's PDF printer, and it's great.

Otherwise, there are many plugins that attempt to solve this problem. I don't use them.

  • Okay, now how do I add a link to export as PDF?

If you use a PDF print driver, just click “Printable Version” and you're set– just print. Otherwise, it's up to how the PDF plugin you're using does it; editing the toolbox is covered on monobook project page, so I'll refer you to that.

What is "create this page" and "[edit]" everywhere?

That's part of the displaywikipage plugin. It's required for navigation, site notice, and copyright.

  • I don't want it!

Just uninstall the plugin then!

  • I can't set permissions for…

See I'm having trouble with ACL.

General Discussion

Ask any other questions below.

missing print.css

I use monobook version July 30, 2008, too. I found an error:

Apache error-logfile:

  [Fri Feb  6 12:06:36 2009] [error] [client] File does not exist: /www/xxx/www/dokuwiki/lib/tpl/monobook/common/print.css

I created print.css in the common-directory.

—- pilgrims aka mha

Second this! The print.css file is missing. I can create an empty one to prevent errors, but would be more comfortable if a proper one was provided or else the reference removed if it is no longer needed. The reference is in line 58 of main.php. Thanks!

—- DC

3rd one! This can be a big problem, if the server does various things when he can't find a page…

Mail icon is not displayed

I installed the monobook tempaltes. Everything is working fine except that for mail links like this:

it does not display the envelope bitmap on the left any more and it looks like this:

except that it is blue and not underlined and red

oh, I just noticed that since the last time i checked the envelope bitmap has now disappeared here too :( It used be next to the first someone.


If you add the following to your Monobook.css file in monobook/users:

div.dokuwiki a.mail {
    background: transparent url(mail_icon.gif) left center no-repeat;
    padding-left: 18px;

and also copy the mail_icon.gif into the same directory as the Monobook.css file, your mail icons will start showing up correctly again. Not sure why it can't find the mail_icon.gif file without these changes.

Hello, I use monobook version July 30, 2008. When I try to use the mediamanager.php there is no formatting available, the look is very confusing. Perhaps I found the problem when looking into the page source:

<style type="text/css" media="screen,projection">/*<![CDATA[*/
		@import "DOKU_TPLwikipedia/de/Common.css";
		@import "DOKU_TPLwikipedia/de/Monobook.css";
		@import "DOKU_TPLdokuwiki/doku.css";
		@import "DOKU_TPLlang/de/lang.css";
		@import "DOKU_TPLuser/Common.css";
		@import "DOKU_TPLuser/Monobook.css";

I tried to fix it but did not find the right place yet where this declarations are put together.

—- Matthias

Edit: This bug is related to plugin loadskin as it changes the place of setting the mentioned environment variables which then seems to pass the mediamanager. I deinstalled the plugin and reverted the changes in init.php and doku.php and now everything works fine.

—- Matthias

Customizing CSS, Which File?

I want to customize the UI a bit. There's a *lot* of CSS going on… I read through the PHP and I gather that possibly a “userstyle.css” is the last to be loaded and possibly that means this is the best place to make changes? Yes? I already tweaked the main.css (trying to get rid of all the vertical white space around heads…) but I don't think that is “best practices.” I might want to replace the background so it does not look exactly like Wikipedia, (cool, but gets boring) I also change the “logo.png” with my own, again, probably not best practice…(gets wiped on upgrade i would think…) I should put our own company logo somewhere and call it in from user local user conf that will survive over an upgrade… Please advise.


Himalayan Academy

Aloha Terence, I'm on Kauai…

Just switched from PMWiki DokuWiki… good move!

I'm interested in providing better navigation in the side bar. I'm using Display_Wiki page in the side bar now, and of course the Site Map works fine, but what would be ideal would be for the default index for those names for which the user has permissions, to appear automatically in the side bar. I note below the option to create separate nav pages for different names spaces, which could work, but I would need to call an index for just one name space.. can we do that?

i.e. do=index does the whole site.. it would be neat to have a “do=index?$namespace for the current names space only and actually have it displayed in the side bar.

Thanks for listening!

Himalayan Academy

install Display Wiki Page in which directory?

Hi Terence, hi folks

Aloha bud,

the monobook install instructions says to put Display Wiki Page folder into tpl - the template directory.
Installation is simple, just unzip the file into the folder lib/tpl in your DokuWiki install,

the install instructions for Display Wiki Page says to put it into the plugins directory


  • Monobook itself goes into tpl
  • Display Wiki Page goes into plugins

I take the approach that the instructions for each component are on their own individual pages, rather than trying to explain how to install everything on one page. It may not be 100% intuitive, but that may help you in the future at least.

As a plugin all you need to do is unpack the file into the lib/plugins/ directory (you should end up with a lib/plugins/displaywikipage folder.)


where do i put the Display Wiki Page folder, in the plugins directory OR the tpl directory?

That definitely goes in the plugins directory, however instead of unzipping directly into the directory, you can use the extension manager to install it that way.

ps QUESTION, off topic, what plugin do you use for the “put the letters into the box to prove you're human”

That would be the "captcha" plugin from the author of DokuWiki himself.

Terence J. Grant 07/27/2008 04:23

Table of content showing up in Navigation frame...?


I recently upgraded to the latest DokuWiki (2008-05-05) and sometimes when I open a page, the table of content of that page appears at the top in the navigation frame, as well as at the standard location. Simply reloading the page solves the issue and gives me a normal navigation frame. Any thought how this can be caused…? The former DokuWiki engine did not show this problem, so it must be related to that, I guess, but I cannot disentangle where DokuWiki stops and monobook starts…

I have a picture showing the effect but I can't upload it.

Cheers, Arno Schoenmakers (schoenmakers 'at' astron 'dot' nl).

Hi it is me again – Len from I am having the same problem as Arno.

When using Firefox, the table of contents form the main page shows up in the navigation window. If I refresh the page, the TOC goes away and the page correctly renders. I have deleted the DokuWiki cache pages in the data directory and this is not caused by browser cache.

When using Internet Explorer, I get a different problem – the background of my logo isn't transparent like it used to be.

I posted screenshots of the issue here.

– Len May 31, 2008

I've just made a new issue, watch bugs.

– Milan Zmatlo 19/10/2009

Formatting error?

Hi. I noted a minor formatting error that seems to only appear in Firefox browsers. I reported the bug to splitbrain, but then realized maybe it is a monobook issue more than a DokuWiki issue. The bug report is here. I'll repeat what I wrote for convenience sake:

“This is a rendering error that appears to be limited to Firefox. Opera and IE seem to render correctly. The problem is that a long unordered list beginning across from an “expanded” table of contents will not wrap around the table of contents.” See my sample page here:

(By the way – love the template, good works and tons of thanks!) –Len

Hi Len, I see what you're talking about, though truthfully I don't know how to fix this. I'd say it's definitely a CSS related issue though. Do you get this same behavior with the “default” template, by the way?

My guess would be, any fix for this will happen in doku.css in the monobook distribution. Look for “toc”, as all style matters related to the DokuWiki table of contents uses this. — Terence J. Grant 08/02/2007 06:55

Search Toggle Linked to Sitenotice

Perhaps this has already been fixed, but in the version I have (quite recent) the search box toggle option is actually set to toggle with the sitenotice toggle. In main.php, line 125 down:
<?php if (tpl_getConf('mb_use_sitenotice')) { ?>
  <div id="p-search" class="portlet">
        <label><?php echo $lang['monobook_bar_search']?></label></h5>

Shouldn't the first line use a variable like mb_use_search?
I can confirm that toggling the option (in config options) for sitenotice turns on/off BOTH the sitenotice and the search box.

This has already been fixed, so just upgrade and you should be fine. — Terence J. Grant 07/24/2007 17:05

change size of left navigation

First of all thanks for a wonderful plugin.

At the moment my wiki is being filled with a huge amount of pages, by itself this is not an issue, however the navigation box is filling up rapidly (have the indexmenu here, for easy navigation) and it would be great if the boxes can be resized by about 20%. I've been browsing in the CSS files, and i did find the size control for the boxes itself, however the rest of the screen is a little less obvious.

Can someone help me? – Herman 06/14/2007

Really this is just a matter of diving into the CSS files provided– I get them from both Wikipedia and MediaWiki's websites so I couldn't tell you offhand what to change. There is an extension for Firefox called “web developer” which can help though; it's listed on the links page. — Terence J. Grant 07/20/2007 02:22

I can recommend two extensions for CSS-analysis:

Admin option not available

Even the latest Monobook template do not have the admin option (top right menu) for user that had been granted Manager privilege using the “Manager” field configurable under Authentication Settings of Configuration Manager. The admin option is available when using DokuWiki's default template. Is this a bug of monobook template or some setting is require to turn on the admin option for user not having superuser authority? – Sam 06/04/2007
Well, I'm not on the core dokuwiki team, so sometimes I miss the big changes like “manager”; I've become aware of it, and looking into it, but I can't provide anything right now, sorry.

In the mean time, if anyone would like to send an update that handles this, it would be appreciated. — Terence J. Grant 07/20/2007 02:30
Any news ?

Yeah, the news is: I don't have time to look into it this second. — Terence J. Grant 07/20/2007 23:13

ids named "Content"

It appears that the monobook template uses id's named “content” to format parts of the document. See “lib/tpl/monobook/monobook/main.css, Line 18” This is an issue for those wanting to use the word “Content” alone in a heading. A quick fix has been written at, but I wanted to report this issue to the template author.

Otherwise, Monobook is fantastic, thanks for a great template!

Ryan Cargo 03/13/2007 11:03

Hi Ryan, the fix does not work unfortunately; the change causes the entire content of the site to become misaligned. I believe the reason is due to later references to “content” from within one of the other CSS files, perhaps expecting it to be an ID rather than a class. I'll investigate more, though don't let me stop you from doing the same. — Terence J. Grant 03/13/2007 20:32

Modifying Toolbox

With version 12022006 you can specify whether to use the default toolbox or to have a DokuWiki place for it. How can you use the 'special' variables to make a menu consisting of eg. Upload File and Permanent link ?

You can peek into context.php, near the bottom; look for $monobook['toolbox']. It uses the old style method for creating links, which is described here in an old revision of the project page.

I'll expose an API to handle this better in a future release. — Terence J. Grant 12/03/2006 23:55

How can i add a link in the toolbox to export the current page as PDF? I am using the procedure explained here

Please read the above explanation; peek into context.php, near the bottom. You can add in a new link via the $monobook['toolbox'] variable. — Terence J. Grant 03/11/2007 01:42

For example: To append a link to a page in namespace dh add:
$monobook['defaulttoolbox']['new_page']['href'] = DOKU_BASE."doku.php?id=dh:seiteanlegen";
$monobook['defaulttoolbox']['new_page']['text'] = "Neue Seite";
$monobook['defaulttoolbox']['new_page']['rel'] = "nofollow";

How do I hide "everything" until a user has logged on

How do I hide navigation, search, the toolbox, etc. until the user has logged in?
I have the same problem. I use the latest versions.

Quick answer: Certain things in DokuWiki don't work correctly; I've reported them, but there's nothing I can do about them from my end.

The full story is located here.

Terence J. Grant 02/17/2007 13:20

Translation plugin

Philippe, my advice would be to customize either the template code or the plugin code to suit your needs– unfortunately I can't agree with the method in which the translation plugin works. Notice that even on English language pages, everything on your site is in french.

This is not really sufficient in my opinion.

Terence J. Grant 07/20/2007 03:10

In the configuration settings, activate the Should the language of the user interface be switched in foreign language namespaces, too? option. This options translates the entire site, with the exception of the sidebar. To have a multi-language side bar, in the main.php find the following text:

<?php if (function_exists('dwp_display_wiki_page')) dwp_display_wiki_page(tpl_getConf('mb_navigation_location')); ?>

and replace it with:

$translation = plugin_load('syntax','translation');
$currentlang = $translation->_currentLang();
<?php if (function_exists('dwp_display_wiki_page')) dwp_display_wiki_page($navigation_location); ?>

All you need to do now is to create a page for the sidebar for each language. I tested this with a dual language site and so far I have no problems with it.

Marco Constâncio 05/11/2007 22:41

Hello. This is helpful. Is there a good way to add a “Translations available language-selection” block to the Monobook template? When adding

$translation = plugin_load('syntax','translation');
echo $translation→_showTranslations();
after the line

<?php if (tpl_getConf('mb_use_sitenotice')) { ?><div id=“siteNotice”><?php if (function_exists('dwp_display_wiki_page')) >dwp_display_wiki_page(tpl_getConf('mb_sitenotice_location')); ?></div><?php } ?>

I end up with a Monobook-wiki-styled bullet-list of my languages…

Yes, I am referring to the translation plugin from DokuWiki and thank you for pursuing this in your next version.
Thank you for your hints. Now it is almost perfect. The only annoyance is, that the language tags do have bullets, like in a bullets list…
Update 2009/03/31 Daniel

Hello anonymous,

I haven't investigated translations in nearly two years now. If you're talking about the translation plugin from say, I'd say add it somewhere before the “tpl_content()” call.

I'll investigate into adding it into the next version.

Terence J. Grant 2009/03/23 03:44

Adding banners

Please, what is the best practice for adding clickable banners beneath the toolbox section while preserving the original toolbox? Thanks. joe

Hi Joe, look for this in main.php:

<?php if (tpl_getConf('mb_use_toolbox')) { ?>
<?php } ?>

The ”…“ represents additional code; it's a big block, so look for the first line listed there. Add whatever banner you want after that, and before the </div> tag. — Terence J. Grant 08/06/2007 08:51

Problem with searchGoButton

Using the current versions of DokuWiki and Monobook, I have a Problem with the “searchGoButton”: If I search for a term, it shows a mouseover-effect with Firefox and shows nothing with IE – clicking this button produces a failure in IE (maybe a javascript-failure?) and nothing happens if I click the searchGoButton in Firefox. As I can see this button works at Any ideas?

Wolfgang - 2007/09/06

How to add another box under "navigation" and "toolbox"?

Open up the main.php file (make a backup too just in case)

Look for this set of code more then half way down that page under the <div id=“column-one”>:

<?php if (function_exists('dwp_display_wiki_page')) dwp_display_wiki_page(tpl_getConf('mb_navigation_location')); ?>
<?php } ?>
<div id="p-x-navigation" class="portlet"> <h5><?php echo $lang['monobook_bar_navigation']; ?></h5>
<div class="pBody">
<?php if (function_exists('dwp_display_wiki_page')) dwp_display_wiki_page(tpl_getConf('mb_navigation_location')); ?>

Now paste this code under the two divs.

<div id="p-x-navigation" class="portlet"> <h5>Section Title Here</h5>
<div class="pBody">
<li id="tb-whatlinkshere"><a href="/docwiki/doku.php?id=start&amp;do=backlink" rel="nofollow">What links here</a></li>
<li id="tb-upload"><a href="/docwiki/lib/exe/mediamanager.php?ns=" rel="nofollow">Upload file</a></li>
<li id="tb-special"><a href="/docwiki/doku.php?idx=wiki" rel="nofollow">Special Pages</a></li>
<li id="tb-print"><a href="/docwiki/doku.php?id=start&amp;rev=1228422934&amp;mbdo=print" rel="nofollow">Printable Version</a></li>
<li id="tb-permanent"><a href="/docwiki/doku.php?id=start&amp;rev=1228422934" rel="nofollow">Permanent link</a></li>
<li id="tb-cite"><a href="/docwiki/doku.php?id=start&amp;rev=1228422934&amp;mbdo=cite" rel="nofollow">Cite this Article</a></li>

You can also modify the lang files and create your own tag to control the sections name outside of the main.php file by putting this back in between the <H5> tags. <h5><?php echo $lang['monobook_bar_newsecton']; ?></h5>

I used this instead of the sidebar app since the ACL controls would take over my wiki.

Can't succeed in creating this link in the toolbox, can someone paste here the necessary code? thanks.

Problem with table BORDERS?

  • I am trying to install in my wiki a table like this (using DokuWiki-latest version and monobook-latest ) :
  • but in my wiki the last line to the right in the last column after the “8” disappear … a mean the whole border it is missing ..!! I don't know what is the style-cheat (CSS) or .php that is in change of parsing the “|” character that makes this tables.
  • Any help will be highly appreciated.
  • The old version of DokuWiki with the old-monobook still working…!! … so I don't know which one to start looking for :-( , if there is any compare that I can perform to spot the error. (I know some basics about PHP and CSS)

Enrique Miranda

(ps: I hope that is the place in your wiki for this general question)

  • Found the solution: My problem was my install using Ubuntu and Firefox somehow gets corrupted. Solved by reinstall the /home/<user>/.mozilla directory meaning: remove my directory then the next time I try to run Firefox its recreate the directory. ( of course I copy my bookmarks first , then after the install finished, include back my add-ons)

User Contributions

Post your patches and code contributions here if you wish.

"In other languages"

This file has been included with the main monobook download for some time, but I'm dropping it and will just link it here since it has remained unfinished. Also, I spent a lot of time getting the names of the languages right and did not want to delete the file.

So here it is as a prototype for someone else to possibly finish:

It does not work as a simple drop in, you will have to figure it out on your own. Also if you do use it, it will make your wiki much slower(which is why it was never enabled in any release.)

I believe there is a better (and different way) to do “in other languages” support; this method isn't very good though.

Terence J. Grant 08/19/2006 17:53


I needed easy method for changing top left logo
(at least easier that changing files on server), so I made it configurable.
It's not a big change, but for me it make difference, so it would be
nice if you apply attached patch.

Best regards,
Marcin Semeniuk
diff -u -r -N monobook/conf/default.php
---	2007-05-23 08:59:40.000000000 +0200
+++ monobook/conf/default.php	2009-11-17 17:14:23.000000000 +0100
@@ -28,3 +28,4 @@
 $conf['mb_author']			= "Anonymous Contributors";
+$conf['mb_logo']			= "lib/tpl/monobook/user/logo.png";
diff -u -r -N monobook/conf/metadata.php
---	2007-05-23 08:49:50.000000000 +0200
+++ monobook/conf/metadata.php	2009-11-17 16:51:48.000000000 +0100
@@ -27,3 +27,5 @@
 $meta['mb_hbc_loc']			= array('multichoice','_choices' => array('top','bottom'));
 $meta['mb_author']			= array('string');
+$meta['mb_logo']			= array('string');
diff -u -r -N monobook/lang/en/settings.php
---	2007-05-23 08:57:13.000000000 +0200
+++ monobook/lang/en/settings.php	2009-11-17 17:15:53.000000000 +0100
@@ -28,3 +28,4 @@
 $lang['mb_author']			= "Author name in \"Cite this Article\":";
+$lang['mb_logo']			= "Link to image with logo:";
diff -u -r -N monobook/main.php
---	2008-03-12 22:45:40.000000000 +0100
+++ monobook/main.php	2009-11-17 17:05:07.000000000 +0100
@@ -123,7 +123,9 @@
 			<div id="column-one">
 				<div class="portlet" id="p-logo">
-						<?php if (file_exists(dirname(__FILE__).'/user/logo.png')) { ?>
+						<?php if (tpl_getConf('mb_logo') != "") { ?>
+						style="background-image: url(<?php echo tpl_getConf('mb_logo') ?>"
+						<?php } else if (file_exists(dirname(__FILE__).'/user/logo.png')) { ?>
 						style="background-image: url(<?php echo $DOKU_TPL?>user/logo.png);"
 						<?php } else if (file_exists(dirname(__FILE__).'/user/logo.gif')) {?>
 						style="background-image: url(<?php echo $DOKU_TPL?>user/logo.gif);"


I needed a logbook in my wiki (namespace :logbook) but I don't have the time to create a new subpage with the current date from my logbook-namespace every day (e.g. :logbook:2006-11-13 for 11/13/2006). This code for “pref.php” adds a link in the navigation toolbar which leads to the logbook page of the current day in the logbook-namespace:

$monobook['navigation']['log']['wiki'] = ":logbook:".date("Y-m-d");
$monobook['navigation']['log']['text'] = "LogMe";

At the moment, the code seems to work fine, leading to an link to logbook:2006-11-13 in the navigation bar.

Since the links will become orphaned the next day, I've included the orphanswanted-plugin with the following code on the logbook-page itself:


which reminds me which dates I've got to link there once I've got a few minutes time.

We're using one wiki for all our people, and they have access to the namespaces they need for their work. So they wished to get some different navigation bars for each namespace (because almost nobody has access to everything right now).

So I got some inspiration by the comment above and checked the sidebar template by Christopher Smith and implemented his recursive sidebar function to display_wiki.

For testing, add the changed code.php in your plugins/displaywikipage folder and edit line 261 in context.php of the MediaWiki template to
if (function_exists('dwp_display_wiki_page')) dwp_display_wiki_page($action['wiki_page'], true);

See monobook for dokuwiki

Martin Schleyer 11/29/2006 13:22

I'll look into this when I get some time, thanks. — Terence J. Grant 12/04/2006 00:21

Different navigation for each user/group

This is my very simple solution

I'm adding following code to the beginning of <mainwikifolder>/lib/tpl/monobook/main.php:

(after @include(dirname(FILE).'/context.php'); on the line 7)

if ($INFO['client']=="username"){ //or for group info: $INFO['userinfo']['grps']
    $conf['tpl']['monobook']['mb_navigation_location'] = 'namespace:page';  //for ex.: 'wiki:navigation'

Fero Gajdosik 12/02/2007

If logo-image is not wanted...

and its usual position is to be used for navigation links (adaptation of css), I believe that this small change to main.php is appropriate (search for p-logo, to find the position of this code in main.php):

<?php if (file_exists(dirname(__FILE__).'/user/logo.png')
or file_exists(dirname(__FILE__).'/user/logo.gif')
or file_exists(dirname(__FILE__).'/user/logo.jpg')) { ?>
<div class="portlet" id="p-logo">
	<?php if (file_exists(dirname(__FILE__).'/user/logo.png')) { ?>
	style="background-image: url(<?php echo $DOKU_TPL?>user/logo.png);"
	<?php } else if (file_exists(dirname(__FILE__).'/user/logo.gif')) {?>
	style="background-image: url(<?php echo $DOKU_TPL?>user/logo.gif);"
	<?php } else if (file_exists(dirname(__FILE__).'/user/logo.jpg')) {?>
	style="background-image: url(<?php echo $DOKU_TPL?>user/logo.jpg);"
	<?php } ?>
	href="<?php echo DOKU_BASE?>" accesskey="h" title="[ALT+H]">
<?php } ?>

Borut, 2007-03-22

To move the user and user talk pages out of the wiki namespace...

I didn't want the wiki namespace on my wiki (though I know this will probably have some disastrous consequences in the future.. ;-) ) To do this, I opened ~lib/tpl/monobook/context.php and search for wiki:user - and remove “wiki:” from each instance. If you do this, be very careful to maintain the syntax - e.g. in some places it's :wiki:user and you need to change that to :user. Please let me know if I missed something! tobias 2007-03-27

Footnotes not visible due to CSS settings

I think this problem only occurred in the new version of the monobook template (05.23.2007). In the main.css the #content has a z-index:2, whereas the div.insitu.footnotes in doku.css don`t have any z-index, so the footnotes are rendered behind the content, and thus invisible. This behavior can for example be seen here: footnotes Setting the z-index of div.insitu.footnotes in doku.css to 3 should take care of this problem and display the footnotes properly. Christian 06-01-2007

Recent changes in toolbox

Just add the code below to context.php to get the link back.

/* Default Toolbox Portlet */
$monobook['defaulttoolbox']['recentchanges']['href'] = DOKU_BASE."doku.php?do=recent";
$monobook['defaulttoolbox']['recentchanges']['text'] = "Recent Changes";
$monobook['defaulttoolbox']['recentchanges']['rel'] = "nofollow";

On another note I am still wondering why there is wiki:toolbox namespace setting if its not used.

$conf['mb_toolbox_location'] = ":wiki:toolbox";

Scott Grayban 2007-06-20

HTTPS, IE "unsecure items" & CSS bullet images

When upgrading to DokuWiki 2007-06-26b with monobook 2007-07-20, I noticed IE (ver 7) began complaining about “This page contains both secure and nonsecure items”. Apparently, an image in the template was being referenced as “http” whereas my site only allows “https”. I finally tracked this down to the Monobook.css file (lib/tpl/monobook/wikipedia/en/Monobook.css) which pulls image files from a public site for display. IMO, this should be fixed in a later Monobook update as this is less efficient than delivering the files from your own server and a potential security risk.

My temp solution is as follows:

  • Download the files in question
  • Store them in lib/tpl/Monobook/common/images
  • Then modify the Monobook.css file as follows
.portlet li {
  /* The following image causes IE to produce nonsecure popup warning when using https://
  list-style-image: url("");
  list-style-image: url("../../common/images/Monobook-bullet.png");

li.FA {
  /* The following image causes IE to produce nonsecure popup warning when using https://
  list-style-image: url("");
  list-style-image: url("../../common/images/Monobook-bullet-star.png");

This gets rid of the IE complaints (not an issue under Firefox 1.5 at least).

Bobby Metz 07/25/2007

Thanks for the notes on how to fix the IE7 error “this page contains both secure and non-secure items”. Monobook.css seems to be taken unaltered from MediaWiki, and no one over there seems concerned about this, so I decided to edit my /en/Monobook.css following your instructions.

Michael McCarn 02/24/2009

Heading Indention like in Default Template

I just wondered how to get the same heading-indention (and the “contents” inside a heading) like it is done in the default DokuWiki template. After some investigating of both the themes using Mozilla Firefox & FireBug I found out that the default DokuWiki template has some extended CSS-styles to get the indention. Here are some of my findings:

  • To get the headings indention change the following code in ../lib/tpl/monobook/monobook/main.css from:
h1, h2, h3, h4, h5, h6 {
	color: black;
	background: none;
	font-weight: normal;
	margin: 0;
	padding-top: .5em;
	padding-bottom: .17em;
	border-bottom: 1px solid #aaa;
h1 { font-size: 188%; }
h2 { font-size: 150%; }
h3, h4, h5, h6 {
	border-bottom: none;
	font-weight: bold;
h3 { font-size: 132%; }
h4 { font-size: 116%; }
h5 { font-size: 100%; }
h6 { font-size: 80%; }


h1, h2, h3, h4, h5, h6 {
	color: black;
	background: none;
	font-weight: normal;
	margin: 0;
	padding-top: .5em;
	padding-bottom: .17em;
	border-bottom: 1px solid #aaa;
h1 { font-size: 188%; }
h2 { font-size: 150%; margin-left: 20px; }
h3, h4, h5, h6 {
	border-bottom: none;
	font-weight: bold;
h3 { font-size: 132%; margin-left: 40px; }
h4 { font-size: 116%; margin-left: 60px; }
h5 { font-size: 100%; margin-left: 80px; }
h6 { font-size: 80%; }

  • To get the contents “inside” the headings indented add the following code in ../lib/tpl/monobook/monobook/main.css (behind the section modified in the last item):
/* indent different sections */
div.dokuwiki div.level1 {margin-left: 3px;}
div.dokuwiki div.level2 {margin-left: 23px;}
div.dokuwiki div.level3 {margin-left: 43px;}
div.dokuwiki div.level4 {margin-left: 63px;}
div.dokuwiki div.level5 {margin-left: 83px;}

I also noticed that the Monobook CSS-styles are kind of expecting support for H6-headings although DokuWiki only supports H1-H5. So the H6-support can be dropped, in my opinion.

Maybe it's an idea to create a configurable option for the Monobook-template which enables/disables this hack. This way no hacks are needed although users can use the “heading-indention”…

Mischa The Evil, 10-08-2007

Use better wl() and ml() to create the links, to support the [userewrite] option.

Example: wl($ID, array('rev'⇒$_REQUEST['rev'], 'mbdo'⇒'cite']))

Spamers are searching sites for spamable content, “doku.php” shows such a spamable environment. So its better to hide “doku.php” completely.

Admin menu item for manager group members

DokuWiki let some people in manager group (see $conf['manager'] ) have access to admin menu for some restricted actions. It would be nice for them to have as the superuser a 'Admin' menu item in the personal-bar. Just a little change is needed in context.php


200:  if ($INFO['perm'] == AUTH_ADMIN)
201:  {
202:  	  $monobook['personal']['admin']['href']=DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=admin";


200:  if ($INFO['ismanager']) 
201:  {
202:  	  $monobook['personal']['admin']['href']=DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=admin";

Marc DeXeT 2007/08/23 23:08

Special-Page Look-and-Feel-Modifications

I have done some changes in /lib/tpl/monobook/context.php to have more “specialpages” and to have them displayed in a MediaWiki-style: To have more specialpages I added

after if (beginsWith($ID, "wiki:"))

if (beginsWith($ID, "Hilfe:")) /**** my Help-Files - may be "help" for others ****/
      $pagetype = "special";	/* Special page */
if (beginsWith($ID, "Spezialseiten:")) /**** my Special pages ****/
      $pagetype = "special";	/* Special page */

and after if ($ACT == "search")

else if ($ACT == "index")
	$pagetype = "special";	/* Special page */

and finally after if ($_REQUEST['mbdo'] == 'cite')

else if ($_REQUEST['do'] == 'recent')
	$pagetype = "special";	/* Special page */
else if ($_REQUEST['do'] == 'backlink')
	$pagetype = "special";	/* Special page */

I didn't want discussion, old revisions and edit/show pagesource to be visible for “ALL” in specialpages - so I modified the code to make it visible to admin only.

I modified the part after else if ($pagetype == "special"):

/************** code not changed *********************/
else if ($pagetype == "special")
	$monobook['nsclass'] = 'mediawiki ns-1 ltr';	/* Special page */
	$monobook['content_actions']['nstab-main']['class'] = "selected";
	if ($ACT != "search")
		$monobook['content_actions']['nstab-main']['href'] = DOKU_BASE.DOKU_SCRIPT."?id=".$ID;
		$monobook['content_actions']['nstab-main']['href'] = "#";
	$monobook['content_actions']['nstab-main']['text'] = $lang['monobook_specialpage'];
	$monobook['content_actions']['nstab-main']['accesskey'] = 'v';
/************ now the changed code ***************/
/************** only visible to admin *********************/
      if ($_SERVER['REMOTE_USER'])
       if ($INFO['perm'] == AUTH_ADMIN)
	/* Now the edit button... ************ I don't need it for "ALL" on Special page */
	if ($ACT == "edit")
		$monobook['content_actions']['edit']['class'] = "selected";
	$monobook['content_actions']['edit']['href'] = DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=edit&amp;rev=".$_REQUEST['rev'];
			$monobook['content_actions']['edit']['text'] = $lang['btn_edit'];
			$monobook['content_actions']['edit']['text'] = $lang['btn_create'];
		$monobook['content_actions']['edit']['text'] = $lang['btn_source'];
/************** even Revisions visible only to admin on Special page *********************/
         if ($ACT == "revisions")
		$monobook['content_actions']['history']['class'] = "selected";
	$monobook['content_actions']['history']['href'] = DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=revisions";
	$monobook['content_actions']['history']['text'] = $lang['btn_revs'];
	$monobook['content_actions']['history']['accesskey'] = 'o';
/************** Revisions visible for "ALL" on normal page (article) *********************/
     if ($pagetype == "article")
	if ($ACT == "revisions")
		$monobook['content_actions']['history']['class'] = "selected";
	$monobook['content_actions']['history']['href'] = DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=revisions";
	$monobook['content_actions']['history']['text'] = $lang['btn_revs'];
	$monobook['content_actions']['history']['accesskey'] = 'o';
/************** subscription on changes only on normal page (article) *********************/
     if ($pagetype == "article")
			if ($conf['subscribers'])
				if (!$INFO['subscribed'])
					$monobook['content_actions']['watch']['href'] = DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=subscribe";
					//$monobook['content_actions']['watch']['text'] = "Watch";
					$monobook['content_actions']['watch']['text'] = $lang['btn_subscribe'];
					$monobook['content_actions']['watch']['href'] = DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=unsubscribe";
					//$monobook['content_actions']['watch']['text'] = "Unwatch";
					$monobook['content_actions']['watch']['text'] = $lang['btn_unsubscribe'];
/************** end of changes *********************/
/* Determine what will be listed on personal tools */

I did it with try and error - so this code may not be optimal (but it works - compare for example Recent Changes on Heine-Wiki and "Navigation" from this page as “special pages”)

Wolfgang - 2007/09/14

Use better wl() and ml() to create the links, to support the [userewrite] option.

Example: wl($ID, array('rev'⇒$_REQUEST['rev'], 'mbdo'⇒'cite']))

Spammers are searching sites for spammable content, “doku.php” shows such a spammable environment. So its better to hide “doku.php” completely.

/** Determine the look of the page based on the current context
 * for Monobook for DokuWiki
 * By Terence J. Grant
 * tjgrant [at] tatewake [dot] com
 * License: GPL v2
$pagetype = "article";	/* Normal page */
$monobook['nsclass'] = 'mediawiki ns-0 ltr';		/* Normal page */
$monobook['discussion-location'] = tpl_getConf('mb_discussion_location');
if (beginsWith($monobook['discussion-location'], ':'))	/* Strip leading colon */
	$monobook['discussion-location'] = substr($monobook['discussion-location'], 1);
if (beginsWith($ID, "wiki:"))
	if (!beginsWith($ID, $monobook['discussion-location']))
		if (!beginsWith($ID, "wiki:user:"))
			$pagetype = "special";	/* Special page */
if ($ACT == "search")
	$pagetype = "special";	/* Special page */
if ($_REQUEST['mbdo'] == 'cite')
	$pagetype = "special";	/* Special page */
else if ($_REQUEST['mbdo'] == 'detail')
	$pagetype = "special";	/* Special page */
else if ($_REQUEST['mbdo'] == 'media')
	$pagetype = "special";	/* Special page */
if ($pagetype == "article")
	if (!beginsWith($ID, $monobook['discussion-location']))
		$monobook['content_actions']['nstab-main']['class'] = "selected";
		$monobook['content_actions']['nstab-main']['wiki'] = ':'.$ID;
		$monobook['content_actions']['nstab-main']['text'] = $lang['monobook_article'];
		$monobook['content_actions']['nstab-main']['accesskey'] = 'v';
		if (tpl_getConf('mb_use_discussion'))
			$monobook['content_actions']['talk']['wiki'] = ':'.$monobook['discussion-location'].':'.$ID;
			//Etienne : Discussion, not found in the lang.php files
			//$monobook['content_actions']['talk']['text'] = "Discussion";
			$monobook['content_actions']['talk']['text'] = $lang['monobook_discussion'];
		$monobook['nsclass'] = 'mediawiki ns-1 ltr';	/* Special page */
		$monobook['content_actions']['nstab-main']['wiki'] = ':'.substr($ID,strlen($monobook['discussion-location']));
		$monobook['content_actions']['nstab-main']['text'] = $lang['monobook_article'];
		$monobook['content_actions']['nstab-main']['accesskey'] = 'v';
		if (tpl_getConf('mb_use_discussion'))
			$monobook['content_actions']['talk']['class'] = "selected";
			$monobook['content_actions']['talk']['wiki'] = ':'.$ID;
			//Etienne : Discussion, not found in the lang.php files
			//$monobook['content_actions']['talk']['text'] = "Discussion";
			$monobook['content_actions']['talk']['text'] = $lang['monobook_discussion'];
	if (beginsWith($ID,"wiki:user:"))
		$monobook['nsclass'] = 'mediawiki ns-1 ltr';	/* Special page */
		$monobook['content_actions']['nstab-main']['text'] = $lang['monobook_userpage'];
		$monobook['content_actions']['nstab-main']['accesskey'] = 'v';
	/* Now the edit button... */
	if ($ACT == "edit")
		$monobook['content_actions']['edit']['class'] = "selected";
	$monobook['content_actions']['edit']['href'] = wl($ID, array('do'=>'edit', 'rev'=>$_REQUEST['rev'])); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=edit&amp;rev=".$_REQUEST['rev'];
			$monobook['content_actions']['edit']['href'] = wl($ID, array('do'=>'draft', 'rev'=>$_REQUEST['rev'])); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=draft&amp;rev=".$_REQUEST['rev'];
			$monobook['content_actions']['edit']['text'] = $lang['btn_draft'];
				$monobook['content_actions']['edit']['text'] = $lang['btn_edit'];
				$monobook['content_actions']['edit']['text'] = $lang['btn_create'];
		$monobook['content_actions']['edit']['text'] = $lang['btn_source'];
else if ($pagetype == "special")
	$monobook['nsclass'] = 'mediawiki ns-1 ltr';	/* Special page */
	$monobook['content_actions']['nstab-main']['class'] = "selected";
	if ($ACT != "search")
		$monobook['content_actions']['nstab-main']['href'] = wl($ID); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID;
		$monobook['content_actions']['nstab-main']['href'] = "#";
	$monobook['content_actions']['nstab-main']['text'] = $lang['monobook_specialpage'];
	$monobook['content_actions']['nstab-main']['accesskey'] = 'v';
	/* Now the edit button... */
	if ($ACT == "edit")
		$monobook['content_actions']['edit']['class'] = "selected";
	$monobook['content_actions']['edit']['href'] = wl($ID, array('do'=>'edit', 'rev'=>$_REQUEST['rev'])); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=edit&amp;rev=".$_REQUEST['rev'];
			$monobook['content_actions']['edit']['text'] = $lang['btn_edit'];
			$monobook['content_actions']['edit']['text'] = $lang['btn_create'];
		$monobook['content_actions']['edit']['text'] = $lang['btn_source'];
	if ($ACT == "revisions")
		$monobook['content_actions']['history']['class'] = "selected";
	$monobook['content_actions']['history']['href'] = wl($ID, array('do'=>'revisions')); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=revisions";
	$monobook['content_actions']['history']['text'] = $lang['btn_revs'];
	$monobook['content_actions']['history']['accesskey'] = 'o';
			if ($conf['subscribers'])
				if (!$INFO['subscribed'])
					$monobook['content_actions']['watch']['href'] = wl($ID, array('do'=>'subscribe')); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=subscribe";
					//$monobook['content_actions']['watch']['text'] = "Watch";
					$monobook['content_actions']['watch']['text'] = $lang['btn_subscribe'];
					$monobook['content_actions']['watch']['href'] = wl($ID, array('do'=>'unsubscribe')); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=unsubscribe";
					//$monobook['content_actions']['watch']['text'] = "Unwatch";
					$monobook['content_actions']['watch']['text'] = $lang['btn_unsubscribe'];
/* Determine what will be listed on personal tools */
		$monobook['personal']['userpage']['wiki'] = ":wiki:user:".$_SERVER['REMOTE_USER'];
		$monobook['personal']['userpage']['text'] = $_SERVER['REMOTE_USER'];
		if ($INFO['perm'] == AUTH_ADMIN)
			$monobook['personal']['admin']['href'] = wl($ID, array('do'=>'admin')); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=admin";
			//$monobook['personal']['admin']['text'] = "Admin";
			$monobook['personal']['admin']['text'] = $lang['btn_admin'];
		if (tpl_getConf('mb_use_discussion')) {
			//Etienne : My Talk, not found in the lang.php files.
			$monobook['personal']['mytalk']['wiki'] = $monobook['discussion-location'].":wiki:user:".$_SERVER['REMOTE_USER'];
			$monobook['personal']['mytalk']['text'] = $lang['monobook_mytalk'];
		$monobook['personal']['preferences']['href'] = wl($ID, array('do'=>'profile')); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=profile";
		//$monobook['personal']['preferences']['text'] = "My preferences";
		$monobook['personal']['preferences']['text'] = $lang['btn_profile'];
		$monobook['personal']['logout']['href'] = wl($ID, array('do'=>'logout')); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=logout";
		//$monobook['personal']['logout']['text'] = "Log out";
		$monobook['personal']['logout']['text'] = $lang['btn_logout'];
		$monobook['personal']['login']['href'] = wl($ID, array('do'=>'login')); //DOKU_BASE.DOKU_SCRIPT."?id=".$ID."&amp;do=login";
		//Etienne : text is slightly different from the monobook original one.
		//$monobook['personal']['login']['text'] = "Sign in / create account";
		$monobook['personal']['login']['text'] = $lang['btn_login'];
Portlet writing function
by Terence J. Grant
tjgrant [at] tatewake [dot] com
07/28/2006 - This function needs cleaning up...
function writeMBPortlet($arr, $name, $subname, $prefix, $istabs = "")
	if ($arr)    #write it only if we even have a section for this
		echo '<div id="'.$name.'" class="portlet">';
		echo ' <h5>'.$subname.'</h5>';
		if (!$istabs)
			echo '  <div class="pBody">';
		$ULFlag = 1;
		foreach($arr as $key => $action)
			#TJG 07/28/2006 Initial rel nofollow support
			$rel = "";
			if ($action['rel'])
				$rel = ' rel="nofollow"';
			//Etienne (start)
			if ($action['wiki_page']) #display a wiki page
				if ($ULFlag == 0)
					echo '   </ul>' . "\n";
					$ULFlag = 1;
				if (function_exists('dwp_display_wiki_page')) dwp_display_wiki_page($action['wiki_page']);
			else	//Etienne (end)
				if ($ULFlag == 1)
					echo '   <ul>' . "\n";
					$ULFlag = 0;
				echo '<li id="'.$prefix.'-'.$key.'"';
					echo ' class="'.$action['class'].'"';
				echo '>';
				if($action['wiki'])    #a wiki link
					if ($action['text'])
						tpl_pagelink($action['wiki'], $action['text']);
				else if ($action['href']) #uses a href
					if ($action['accesskey'])
						echo '<a href="'.$action['href']
							.'" accesskey="'
							. $action['accesskey']
							.'" title="[ALT+'
							. strtoupper($action['accesskey'])
						echo '<a href="'.$action['href'].'"'.$rel.'>';
					echo $action['text'];
					echo '</a>';
				}//Etienne (start)
				else if ($action['externurl']) #uses an external URL
					echo '<a href="' . $action['externurl']
						. '" class="urlextern" title="' . $action['externurl'] . '" rel="nofollow"'
						. $action['text']
						. '</a>';
				else if ($action['html']) #directly copy the given html
					echo $action['html'];
				//Etienne (end)
				else    #no link
					echo "<font color=\"#cccccc\">".$action['text'].'</font>';
				echo '</li>'."\n";
		if ($ULFlag == 0)
			echo '   </ul>' . "\n";
			$ULFlag = 1;
		if (!$istabs)
			echo '  </div>';
		echo '</div>';
/* Change Edit to [Edit] */
$lang['btn_secedit'] = '['.$lang['btn_secedit'].']';
/* Default Toolbox Portlet */
$monobook['defaulttoolbox']['whatlinkshere']['href'] = wl($ID, array('do'=>'backlink')); //DOKU_BASE."doku.php?id=".$ID."&amp;do=backlink";
$monobook['defaulttoolbox']['whatlinkshere']['text'] = $lang['monobook_whatlinkshere'];
$monobook['defaulttoolbox']['whatlinkshere']['rel'] = "nofollow";
$monobook['defaulttoolbox']['upload']['href'] = DOKU_BASE."lib/exe/mediamanager.php?ns=".getNS($ID);
$monobook['defaulttoolbox']['upload']['text'] = $lang['monobook_upload'];
$monobook['defaulttoolbox']['upload']['rel'] = "nofollow";
$monobook['defaulttoolbox']['special']['href'] = wl($ID, array('idx'=>'wiki')); //DOKU_BASE."doku.php?idx=wiki";
$monobook['defaulttoolbox']['special']['text'] = $lang['monobook_specialpage'];
$monobook['defaulttoolbox']['special']['rel'] = "nofollow";
if (isset($_REQUEST['rev']))
    $monobook['defaulttoolbox']['print']['href'] = wl($ID, array('rev'=>$_REQUEST['rev'], 'mbdo'=>'print')); //DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$_REQUEST['rev']."&amp;mbdo=print";
    $monobook['defaulttoolbox']['print']['href'] = wl($ID, array('rev'=>$INFO['lastmod'], 'mbdo'=>'print')); //DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$INFO['lastmod']."&amp;mbdo=print";
$monobook['defaulttoolbox']['print']['text'] = $lang['monobook_print'];
$monobook['defaulttoolbox']['print']['rel'] = "nofollow";
if (isset($_REQUEST['rev']))
    $monobook['defaulttoolbox']['permanent']['href'] = wl($ID, array('rev'=>$_REQUEST['rev'])); //DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$_REQUEST['rev'];
    $monobook['defaulttoolbox']['permanent']['href'] = wl($ID, array('rev'=>$INFO['lastmod'])); //DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$INFO['lastmod'];
$monobook['defaulttoolbox']['permanent']['text'] = $lang['monobook_permanent'] ;
//"Permanent Link";
$monobook['defaulttoolbox']['permanent']['rel'] = "nofollow";
if (isset($_REQUEST['rev']))
    $monobook['defaulttoolbox']['cite']['href'] = wl($ID, array('rev'=>$_REQUEST['rev'], 'mbdo'=>'cite')); //DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$_REQUEST['rev']."&amp;mbdo=cite";
    $monobook['defaulttoolbox']['cite']['href'] = wl($ID, array('rev'=>$INFO['lastmod'], 'mbdo'=>'cite')); //DOKU_BASE."doku.php?id=".$ID."&amp;rev=".$INFO['lastmod']."&amp;mbdo=cite";
$monobook['defaulttoolbox']['cite']['text'] = $lang['monobook_cite'];
$monobook['defaulttoolbox']['cite']['rel'] = "nofollow";

Trouble with print.css

I'm in my 6th day of messing around with DokuWiki (dokuwiki-2007-06-26b.tgz), so color-me-noob. Under your Monobook template (03 Oct 2007) I am observing odd results in common/print.css. You don't supply a common/print.css but one is getting added to the page headers. The request fails here with 404 (and sorry I don't have a live link to the desktop web server yet). On your wiki I get your wiki's “This topic does not exist yet” page – which strikes me as a security issue of sorts. While this seems simple enough, I have not been able to run this one to ground, yet. The best I have been able to do is drop a blank file in for common/print.css to plug the whole. –charlesg, Saturday, February 9, 2008 4:19:47 PM

The problem appears to be that print.css comes with Monobook in the dokuwiki/ directory, not the common/ directory where the page is looking for it. Another problem this causes is that the darn TOC and [edit] buttons appear on the print preview, so it is not actually a clean printed copy. The dokuwiki/print.css has all of the correct fixes for this (hiding the TOC and [edit] links), so the solution is simple: copy dokuwiki/print.css to the common/ directory! FIXME Is this a bug that could be fixed in a subsequent version? – drSampson, June 2, 2008

Linking the dokuwiki/print.css stylesheet to common/print.css does indeed solve the problem with TOC. I think though that “dokuwiki/print.css” is the correct location, and it should be fixed in the template code (the “main.php” file references “common/print.css”). But am I the only one who sees that the “wiki external link” arrow which is located to the right of a URL on a Wiki page, is painted over the right part of the URL in the printable version? My CSS skils are insufficient to fiox this but my Wiki readers complaine about this display glitch when they want to print my articles. – Eric Hameleers, Wed Sep 24 11:21:39 UTC 2008

Eric, if you still have that problem, here's a fix:

Comment out Line 165 in commonPrint.css in .\lib\tpl\monobook\common:


    /* padding: 0 !important */


Hopefully this fix doesn't break anything.

Other CSS-Errors: If you need to find errors in your CSS-script, just open the Developer Tools of the IE 8 (F12) and navigate to your HTML-tag. You should now see all CSS-styles that are applied on your item: The commonPrint.css code will overwrite the right settings of doku.css and this results in the wrong image placing. So remember: Don't bother finding infos in the net when you can just disable the css-Tags that you think are wrong, and compare the results…

Page-action bar in Firefox, requiring full name to register, and Search page CSS

  1. Where can I find CSS declarations for the Search page, specifically background and text colors?
  2. Is there any way to remove the registration requirement for a new user to provide their full name? Can the registration page be modified in any way?
  3. When I hover over the page-action bar in Firefox, it isn't clickable unless I approach it from underneath. I have changed the top margins for both the page-action bar and main content area, so perhaps that is related.

Any help would be much appreciated! –Trivix, Mar 18, 2008

Some problems with special characters (acute accent) in Spanish

Hello, I'm just trying to make my own wiki page here: And I have some problems with monobook template with Spanish special characters as “á, é, í, ó, ú” and “¿”; it does always appears as or (Ex: “page” is “página” and appears as “pgina”); in every page and also in the monobook template parameters. But the rest of the text not depending on monobook template is right. The languaje package is right (/es/lang.php) as far as I know (my PHP and programming knowledge is quite small). How could I solve? Thanks. natrix (natrixm at hotm….com), Jun 4, 2008

Actualization: If I select a different character encoding in my web browser, such as occidental (ISO-8859-1), then I can see properly the text belonging to monobook, but the rest of the DokuWiki gets wrong. So I suppose the problem is in the character encoding format anywhere; but I don't know how to check nor to solve it. - natrix (natrixm at hotm….com), Jun 4, 2008

SOLUCIÓN: Yo he tenido el mismo problema varias veces que he instalado un sitio con dokuwiki y por fin he solucionado el problema. En los ficheros que tienen los códigos correspondientes a las traducciones (setings.php y lang.php) situadas en: ”/dokuwiki/lib/tpl/monopbook/lang/es“ he cambiado los textos poniéndoles el código &aacute; para la á, &eacute; para la é, etc y me funciona. No se si esta solución es muy ortodoxa pero me sirve.

NO FUNCIONA - Doesn't work for me. Escribo en inglés por si algún otro puede ayudarme, muchas gracias, pero ya he probado eso y no me funciona. I have tryed what you said of changing á by &aacute; but it didn't worked for me. If I use the code Artículo apears Artculo in the webpage and Artculo in the source code; if I use the code Art&aacute;culo apears Art&aacute;culo in the webpage and Art&amp;aacute;culo in the source code of the webpage. I'm getting crazy. I don't understand and my knowlegde is not enought to solve it by myself. And what more puzzle to me is that in fr (french) is right, but not in es (spanish)… Thanks you.

SOLUTION: I found the solution thank to the above help, just changing in the files he said the chracteres in that way:

á á
é é
í í
(cannot write here the correct code for í. Check it (copy&paste) in the source code.
It is that way: í- but is not this hyphen or dash character, is a different one; 
I don't know how to show it here. You can copy that í for í but you will see í-)
ó ó
ú ú
¿ ¿
ñ ñ

So the spanish languaje should be changed to something like that: lang.php:

//Language constant, for the monobook DokuWiki template  :  spanish
$lang['monobook_article'] = 'Artículo';
$lang['monobook_discussion'] = 'Discusión';
$lang['monobook_userpage'] = 'Página de usuario';
$lang['monobook_specialpage'] = 'Página especial';
$lang['monobook_mytalk'] = 'Mis discusiones';
//Constants for the search toolbar
$lang['monobook_bar_views'] = 'Vistas';
$lang['monobook_bar_personnaltools'] = 'Herramientas personales';
$lang['monobook_bar_navigation'] = 'Navegación';
$lang['monobook_bar_toolbox'] = 'Barra de herramientas';
$lang['monobook_bar_inotherlanguages'] = 'En otros idiomas';
$lang['monobook_bar_search'] = 'Buscar';
$lang['monobook_btn_go'] = 'Ir';
$lang['monobook_btn_search'] = 'Buscar';
//Constants for the tool box
$lang['monobook_whatlinkshere'] = "Qué enlaza aquí";
$lang['monobook_upload'] = "Subir fichero";
//$lang['monobook_specialpage'] Already here;
$lang['monobook_print'] = "Versión imprimible";
$lang['monobook_permanent'] = 'Enlace permanente';
$lang['monobook_cite'] = "Citar este artículo";

and settings.php (in the original raiz is raíz):

 * Spanish language file
 * @author Terence J. Grant <>
$lang['mb_use_discussion']		= "¿Utilizar las pestañas de discusión?";
$lang['mb_discussion_location']	= "Si es que sí, espacio de nombres raíz para discusiones:";
$lang['mb_use_sitenotice']		= "¿Utilizar notas del sitio?";
$lang['mb_sitenotice_location']	= "Si es que sí, localización de las notas del sitio:";
$lang['mb_use_navigation']		= "¿Utilizar navegación?";
$lang['mb_navigation_location']	= "Si es que sí, localización de la navegación:";
$lang['mb_use_copyright']		= "¿Utilizar copyright?";
$lang['mb_copyright_location']	= "Si es que sí, localización del copyright:";
$lang['mb_use_search']			= "¿Utilizar búsqueda?";
$lang['mb_use_toolbox']			= "¿Utilizar barra de herramientas?";
$lang['mb_use_defaulttoolbox']	= "Si es que sí, ¿utilizar barra de herramientas?";
$lang['mb_toolbox_location']		= "Si es que no, localización de la barra de herramientas:";
$lang['mb_bc_loc']			= "Localización de las migas de pan (si está activado):";
$lang['mb_hbc_loc']			= "Localización de 'Usted está aquí' (si está activado):";
$lang['mb_author']			= "Nombre del autor en \"Citar este Artículo\":";

i`m using this fabulous template for my wiki and i`ve customized it a little for my work. now i have a problem with the footer. when i use FF it`s all okay, but when i look at the side with IE6, i don?t get the footer placed at the end of the side, including the two ad-sections. could you give me a hint?

kindly regards, volker

Idea for IEfixes

Try this : (IExxFixes.css)

.portlet ul,input.searchButton {


can I hide discussion and old revisions ?

Hello, thanks for this splendid monobook, is-it possible to use ACL to show a page content but not it's discussions neither it's old revisions ? NewMorning.
  • You can turn off old revisions globally in the DokuWiki configuration settings.
  • You can turn off discussions publicly by using ACL on the location mentioned in the root namespace for discussions in the Monobook configuration settings.

Terence J. Grant 07/25/2008 17:15

Thanks, I've done that :-)
In the configuration settings pannel, I first mentionned wiki:charte to be copyright's location. It worked fine until I changed its location to wiki:licence : this resulted in this line in conf/local.php :
$conf['tpl']['monobook']['mb_copyright_location'] = ':wiki:licence';

and the wiki was no more accessible, nore from this template nore from a disconnected user (I could disconnect from FluxBB that has the same cookie):

require_once(/[my wiki root]/htdocs/test/dokuwiki/../forum/include/common.php) [function.require-once]: failed to open stream: No such file or directory in /[my wiki root]/htdocs/test/dokuwiki/inc/auth/punbb.class.php on line 19

Fatal error: require_once() [function.require]: Failed opening required '/[my wiki root]/htdocs/test/dokuwiki/../forum/include/common.php' (include_path='.:/usr/share/php:/usr/share/pear') in /[my wiki root]/htdocs/test/dokuwiki/inc/auth/punbb.class.php on line 19

Could you please give me a hint with that bug ?

It seems like the template looks for the punBB forum on /[root]/forum instead of /PUN_ROOT/ (given in local.php), but I don't now what to do with that…

Well, monobook has no interaction with punBB whatsoever, what this sounds like is some configuration problem with punBB and DokuWiki itself (not monobook) on your end. My guess would be, if you used the default template, you would have the same issues.

I would attempt to step backwards through your configuration until you find the true problem.

Keep in mind, monobook is a “look and feel”, and nothing more.

Terence J. Grant 07/28/2008 23:15

Sure, this crashes dokuwiki as a whole, but what I don't get is what happens when the monobook template's configuration tool ads
$conf['tpl']['monobook']['mb_copyright_location'] = ':wiki:licence';

in local.php : this instruction is specific to the template and causes the crash, whatever other configuration problem there might be, and that is why I'm seeking help here.

Modifying local.php is what the author of DokuWiki wants us to do for templates, which is why it's done in monobook. And it's valid PHP as well.

I've tested this same change to local.php, and I'm not crashing here. I'm still not convinced, sorry.

Once again, monobook sits on top of dokuwiki, and dokuwiki connects directly with punbb in your case. Monobook doesn't connect to punbb directly in any way.

If anything I'd say the problem lies within punbb.class.auth, which is what the error says, or perhaps even the configuration of the wiki.

At this point my best suggestion at this point would be to start asking about this in the DokuWiki forum. Feel free to include the snippet here if you want:

$conf['tpl']['monobook']['mb_copyright_location'] = ':wiki:licence';

They'll tell you as I'll tell you, it's valid PHP and isn't the problem.

There's some very smart guys there though, they ought to help you figure it out.

Good luck, — Terence J. Grant 07/29/2008 02:41

Many thanks for answering so fast, I found my trouble in the meantime : you're right this does not come from your template at any point, but from a “define” to punBB root that was set in local.php instead of local.protected.php : each change in the configuration menu would erase the define, and causing this “bug” (which, as many bugs, is rationnal once a code line is missing). Well done for your valid PHP monobook template which I did not realy suspected : it was more like an entry point to my problem 8-)
By the way, there is a small suggestion I can make at this point which is undirectly related to my PunBB connexion troubles : since dokuwiki does'nt deal with capital letters and latin caracters, I disabled dokuwiki login page. Now this “Login” button doesn't appear anymore in “default” template, while it still appears in monobook template. If you click it will say “you have no permission” but this would be slighlty better if it would not appear at all, if you manage to do so. The best for me would be to link to PunBB “register.php” page, as suggested in this French instruction page about interconnection (doesn'nt work for me), but this again has more to do with dokuwiki itself.

Add a small header


I added a small header for some differente sites of the same association. On Dokuwiki, it's OK as long as I use “default” template, or “arctic” template (there are template switchers on the start page). But if I select “Monobook” (wich I called “Wikipedia” for users' guess) or “desert”, it seems that the way I included the css interferes with the template. All I done was to add the first and last line of this section of main.php :
      <link rel="stylesheet" media="screen" type="text/css" title="Design" href="<?php echo DOKU_TPL?>bandeau.css" />
<body class="<?php echo $monobook['nsclass']; ?>">
<?php @include('bandeau.html')?>

If you go to my site and click on “wikipedia” button you'll see the result : the “bandeau.html” is stuck under the “login” link on the top right of the page. I tried something like :

      <link rel="stylesheet" media="screen" type="text/css" title="Design" href="<?php echo DOKU_TPL?>bandeau.css" />
<body class="<?php @include('bandeau.html'); echo $monobook['nsclass']; ?>">

But this gave a perfect white page page (no code at all !) so this isn't the solution. What can I do to let my “bandeau.html” on top of your beautifull template ? NewMorning

Hi NewMorning, try this instead:

   <?php @include(dirname(__FILE__).'/bandeau.html')?>

Terence J. Grant 08/29/2008 07:34

I did, and this didn't change anything : the header still shows underneath the “login” button (or username once connected) and all the links are disabled (the header is a table of links). The trouble seems to come from that all the “body” section is a specific “class”, and I don't know if this can be changed. NM
Michitux found the solution for me on an irc session : all was in the “main.css” where I had to add :
     #globalWrapper {
position: relative;

Simple, isn't it ? Thanks for trying anyway.
By the way, what was


supposed to change ? NewMorning

Is there a possibility in Monobook for DokuWiki to display a Back to Top link on the bottom of the page? - That would be really helpful!
Or get the UPARROW Plugin84.154.17.245

Yes, this is a better solution. — Terence J. Grant 09/07/2008 05:45

Plugin designed for monobook : ImageBox

In wikipedia, many images have a caption. I have reproduced these “ImageBox” in my plugin.




BUG ?显示错位,编辑时词条名称发生变化

Special Pages vs Articles/regular Pages

Hello and thanks so much for the great template. I am so glad I found this.
I have a quick problem. How might one add pages that have the 'article' tab and the 'discussion' tab instead of the 'special pages'
tab? I added some pages but they are showing as special pages and no discussion link. Can you point me in the right direction? >Thanks. Here is a link to my site to show you what I am talking about:

Ray James.

Try creating a namespace other than wiki … i.e. create some pages that do not start with and you will see that those will not be “special pages” but instead have article and discussion tabs.
Eric Hameleers :: Wed Jan 7 22:20:50 UTC 2009

Limiting Discussion to logged in users only?

Feb 23, 2009

Good Day - thanks for this awesome work!

My issue: I don't wish my logged-in users to be able to edit the article itself, but would like them to have permission to edit the Discussion page

How is this possible? Thanks!


nevermind → Admin → Configuration Settings → “If yes, root namespace for discussions:” → :talk ← make sure that namespace starts with the :

Make Site Notice Un-Editable by Users?

Feb 25, 2009

Is there a way to make the site notice un-editable by users, but keep it editable for the admin? I've looked everywhere, but can't find reference to this option.

The default place for notice ist :wiki:site_notice - just set ACL for both groups.

March 01, 2009

Hi, sometimes links do not work. An example: I have a list with 3 items, one of them is a link to another wiki page. When I write the link, it is displayed as wanted and “userewrite” works fine, but I can not click it. BUT: on same site I have another list (see also….) with the same link - there it works fine. Any idea?

Discussion section below a wiki page (at the bottom)

June 22, 2009

Is it possible to use the template for displaying the discussion section after the contents of wiki page, not at a separate page? I would like to keep :talk in a separate namespace just as the original design does, but display it together with the “article”. Plugin:discussion does it for all templates, but I am afraid it may conflict with the monobook template. Or? — tarlaf 2009/06/22

Errors in style.ini

I was having trouble getting code2 to work so I had a look at my errorlog and it was throwing up an error which looked like

PHP Warning:  syntax error, unexpected '/' in xxx/lib/exe/../../lib/tpl/monobook/style.ini

where xx is my htdocs directory. It looks like some definitions in the style.ini file have been assigned wrongly.

In the original file lines 4-7 are:

screen.css     = screen
rtl.css        = rtl
dokuwiki/print.css = print
common/commonPrint.css = print

but I think they should be:

screen = "screen.css"
rtl = "rtl.css"
print = "dokuwiki/print.css"
print = "common/commonPrint.css"

Making this change fixes the problems I was having and now code2 works perfectly as well as other style sheet elements like the upgrade notices having a colored background. Hope this helps! -Marc. 18/Dec/09

Modify to CSS to support new LinkWizard

To fix the support for new LinkWizard (see the default template), add to your user\Monobook.css this lines:

#link__wiz {
    position: absolute;
    display: block;
    z-index: 99;
    width:   300px;
    height:  250px;
    padding: 0;
    margin:  0;
    overflow: hidden;
    border: 1px solid #bba;
    background-color: #ffffee;
    text-align: center;

#link__wiz_header {
    background-color: #ffffee;
    height: 16px;
    margin-bottom: 5px;
	font-weight: bold;	

#link__wiz_close {
    cursor: pointer;
    margin: 0;

#link__wiz_result {
    background-color: #fff;
    width:  293px;
    height: 193px;
    overflow: auto;
    border: 1px solid #bba;
    margin: 3px auto;
    text-align: left;

#link__wiz_result div.type_u {
    padding: 3px 3px 3px 22px;
    background: transparent url(../../../images/up.png) 3px 3px no-repeat;

#link__wiz_result div.type_f {
    padding: 3px 3px 3px 22px;
    background: transparent url(../../../images/page.png) 3px 3px no-repeat;

#link__wiz_result div.type_d {
    padding: 3px 3px 3px 22px;
    background: transparent url(../../../images/ns.png) 3px 3px no-repeat;

#link__wiz_result div.even {
    background-color: #eef3f8;

#link__wiz_result div.selected {
    background-color: #fff;

#link__wiz_result span {
    display: block;
    color: __text_neu__;

/*FIXME maybe move to a more general style sheet*/
.ondrag {
    cursor: move;
    opacity: 0.8;

Luigi 2010/01/01 11:30

Thanks to Terence J. Grant for this Template
template/monobook/legacy.txt · Last modified: 2023-09-01 16:21 by Klap-in

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