> HelpOnThemes

The following 234 words could not be found in the dictionary of 159 words (including 159 LocalSpellingWords) and are highlighted below:

abstract   accept   action   actions   add   added   adhering   after   all   also   an   and   any   appearance   are   area   areas   argument   arguments   around   as   at   bar   based   be   behave   below   body   but   by   callables   called   can   change   changed   changes   changing   classic   code   Code   colours   compatible   complete   components   config   copy   could   course   covers   credits   css   customize   dark   data   derive   described   dict   dictionary   differ   different   directory   do   does   doing   don   easier   easy   edit   Edit   element   empty   faster   file   first   fonts   footer   footer1   footer2   for   forget   forms   fragments   from   functions   future   generate   generation   geometry   get   goal   hacking   has   have   head   header   header1   header2   heavily   here   how   htdocs   html   icon   iconbar   Icons   if   If   image   images   Images   img   important   in   influence   into   isn   it   items   keyword   left   less   license   like   list   loaded   logo   Made   made   make   Market   maybe   modify   moinmoin   more   most   moving   msg   names   navibar   navigation   need   needed   needs   new   nice   no   None   not   note   now   object   of   on   only   Only   onto   or   order   others   output   override   own   package   page   pages   Please   plugin   png   possible   Preferences   put   putting   py   queries   reach   referring   relying   rendering   request   search   see   sent   sequence   settings   should   similar   single   So   so   some   standards   starshine   stored   string   stuff   support   Text   that   The   the   Theme   theme   themes   Themes   then   there   these   this   title   to   top   trail   try   under   update   use   user   User   username   uses   using   usually   want   we   what   When   while   wiki   will   with   without   yet   you   your  

Clear message

Themes

MoinMoin 1.2 has themes now, so it is easier now to influence the wiki's appearance without hacking all of the code. Theme support isn't complete yet, but covers the most important areas.

A theme is made of these components:

CSS

The 'classic' theme is heavily based on CSS. So for easy changes (like changing colours or fonts, moving around stuff), you maybe only need to change the CSS (like the starshine theme does to get dark).

Images

When you do a new theme, copy all images from classic to your img directory and then modify as needed. If you modify an image, do not forget to update the icon dict in the theme code - the image geometry is stored there for faster rendering.

Code

The theme code is called by moinmoin with (more or less) abstract data in a dictionary usually called d. The code then uses items in that dictionary to generate HTML (also heavily relying on CSS).

When you do a new theme, first empty derive from classic theme code (do it similar to starshine) and first try to use CSS to get what you want. Only if you can't reach your goal using CSS only, override some functions in your theme code (only the stuff that needs to behave different from your base theme (e.g. classic)).

Made a nice theme?

If you made a nice theme (of course adhering to HTML and CSS standards), package it like described below and put it onto [MoinMoin]ThemeMarket. Please put it under GPL license, if possible.
# <THEMENAME>-<VERSION>.tar.gz (or .zip), containing:
<THEMENAME>/<THEMENAME>.py
<THEMENAME>/img/*.png
<THEMENAME>/css/*.css

When you don't have to make a theme

header1, header2, footer1 and 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).