Files changed (1)
+The info.json file contains the themes metadata, so that MoinMoin can provide a nice theme switching interface. license.txt is optional and contains the full text of the themes license. static is served directly to clients, and templates contains the Jinja2 template files.
+MoinMoin has a set of default templates which are automatically used if a theme does not have some specific template file (or does not have any templates at all). Thus one can even make a custom theme without any template just by adding a static folder and json file.
+All themes are based on a common parent base.html, from which layout.html (file which sets the layout) of each theme is extended. This layout.html is then extended further in the child templates of the theme.
+A static folder is present in each theme which contains theme specific css, js and images along with default static folder which contains common css, js and images (e.g. logos) . To change/add a static file one has to decide whether the change is global or specific to one theme and make changes accordingly.
+Styling of a theme is done using CSS, "common.css" is present in each theme's static folder and is generated using the Stylus CSS preprocessor. A single "main.styl" which includes other CSS and Stylus files is used to generate "common.css" using the following command (invoke it in the stylus/ folder):
+ userstyles.css - user styles used by moin wiki parser (and maybe others) like red/green/solid/dashed/comment...
+Writing Stylus code is similar to writing css, just without all the braces, colons and semicolons::
+Using variations in same style sheet is also allowed. So following will not give any error. (avoide using different style in a single style sheet its not a good practice)::
+Stylus also allows use of Variables, Functions, Operators, Nesting, Importing, Inheritance and Mixins. For more about stylus you can refer Stylus docs (http://learnboost.github.com/stylus/).
+For color management a color palette is defined and all colors used in the theme are taken from that color palette. In order to change a color one only needs to change the definition of the color in "color_palette.styl" and then regenerate the "common.css".
+Duplication of content should be avoided as much as possible. "layout.html" is used for a general layout (without itemviews) and "show.html" (it is extended from layout.html) is used for theme specific layout (with itemviews). With these as parents further child templates are extended accordingly.