The following 251 words could not be found in the dictionary of 1275 words (including 1275 LocalSpellingWords) and are highlighted below:
ability   able   accept   adapt   additional   administrator   Administrators   appearance   archives   argument   arguments   at   author   available   avoids   background   bar   be   best   better   between   but   by   cache   call   callables   called   can   changed   changes   changing   choose   chosen   clear   clever   color   common   compatible   config   configuration   containing   Contents   copying   credits   css   Customize   customize   default   depends   details   Dev   Development   development   differ   different   directories   disable   discuss   distributed   download   during   easy   editable   element   encoding   ending   example   existing   file   files   find   fit   follow   following   Foot   footer   footer1   footer2   For   for   forms   fragments   Generally   go   going   h1   h2   h3   h4   h5   head   header   header1   header2   headlines   how   iconbar   idea   if   If   img   import   incutio   inherting   inside   installation   installed   Installing   instructions   interface   into   involved   just   keyword   least   left   like   likings   line   lines   list   loaded   located   locations   logo   look   Make   make   makes   Maybe   mechanism   might   modern   modify   Modify   modifying   more   move   msg   much   mytheme   name   names   navi   navigation   need   needs   new   None   Note   note   now   object   On   on   only   options   or   order   others   output   override   own   page   plain   please   Please   plugin   plugins   pre   Preferences   programmer   put   putting   referring   relogin   rename   request   reside   restart   rightsidebar   same   see   selfrunning   sequence   settings   setup   should   single   small   so   some   standard   static160   steps   string   stuff   styles   subset   sure   system   Table   take   That   that   Theme   theme   themes   Themes   Then   there   these   things   This   this   those   title   to   To   too   top   touched   touching   trail   two   Unless   Unpack   upgrade   use   User   user   username   usually   variable   very   view   visit   visual   want   way   we   Where   where   while   whole   will   wish   with   without   work   writing  

Clear message
Italiano English
Locked History Actions


HelpContents > HelpForAdministrators > HelpOnConfiguration > HelpOnThemes

MoinMoin has a theme plugin system that makes it easy to change the look and feel without touching the core code. As a user you can choose between different themes that are pre-installed1 As a user you may be able to change the theme you can view by going to the page UserPreferences. Unless the wiki administrator has not chosen to disable the ability to change the default theme.

Installing Themes

You can find additional themes if you visit ThemeMarket and download the archives there. Please make sure that the theme you choose is compatible with your version of MoinMoin!

You can not just copy the whole directory to a themes directory. That will not work. To install a new theme follow the instructions by the theme author. Generally you have two different locations:

  1. The directory where all themes reside
    • Unpack the archive and put the theme directory here (containing two directories: css/ and img/).

  2. The data/plugin/theme directory

    • move the theme script here (that has the same name as the theme but with a .py ending).

Your theme should be available now. Maybe you have to relogin or clear the cache to see it. For configuration options please go to HelpOnConfiguration.

Customize Themes

You can customize the pre-installed theme but it is much better to start with a copy. To do this make the following steps (we take theme modern as an example):

  1. Make a copy of the 'modern' theme in the themes directory and call it make 'mytheme'
  2. Copy the script of this theme MoinMoin/theme/' to data/plugins/theme/'

  3. Edit the file '' and change at least the variable name = "modern" to {name ="mytheme"

  4. Then you should be able to see your new theme. In a selfrunning MoinMoin you might need to restart the server.

  5. After that start editing the files in the themes directory.

Where the theme directory is located depends on the installation of the wiki (see HelpOnInstalling for details).

The best way to change the visual appearance of your wiki site is by inherting the default MoinMoin styles and only changing those things you want to adapt to your likings. This avoids the work involved in copying new styles added during development to your own stylesheets. To do this, we use the CSS @import mechanism like this:

@import url("/moin_static160/modern/css/common.css");

h1,h2,h3,h4,h5 {
    background-color: #88CCFF;

In the first line, we import the default common styles as distributed with MoinMoin. You may have to change the URL to fit your system setup and/or MoinMoin version.

In the following lines, we change the background color of headlines. And that's it.

For more see the css-discuss wiki.

For a very clever idea to make CSS wiki editable, see plain.css.

Modify wiki configuration

You can customize your wiki by modifying the wiki configuration as follows:

  1. head
    • config.html_head is added into the <head> element for all pages, while

  2. body
    • you can use some html fragments to customize moin's output (we are referring to classic theme, others could differ) - here is the sequence how stuff is output:

    • header:
      • config.page_header1
      • config.logo_string - use this to modify the logo (usually at top left)
      • username, title
      • iconbar
      • config.navi_bar - is a list of page names that are added to the title area, if None, add no navigation bar.
      • trail
      • config.page_header2
      • msg
    • wiki page
    • footer:
      • config.page_credits
      • config.page_footer1
      • EditText, search forms, actions

      • config.page_footer2
  3. as a wiki user, you can override theme CSS settings by putting your own user CSS URL into UserPreferences - this CSS is loaded after the theme CSS, so you can override all you want changed. Your CSS file must be in UTF-8 encoding (ASCII is OK, too, as it is a subset of UTF-8).

page_header1, page_header2, page_footer1 and page_footer2 can now be callables and will be called with the "request" object as a single argument (note that you should accept any keyword arguments in order to be compatible to future changes).

Make a new Theme

If you wish you can also create a new theme. The best way is to copy an existing theme like modern. You will also have to rename the theme script and change the variable name inside this script. If you are a Python programmer you can also start writing a new user interface by writing a new theme script for your theme. When you upgrade MoinMoin, your own themes are not touched - it will work with the new version, or needs only small changes due to theme API changes. (For more see also MoinDev/ThemeDevelopment)

  1. On a standard MoinMoin installation these are "classic", "modern" and "rightsidebar" (1)