7 | | Stay tuned for API information as things stabilize a bit (if you are really curious, take a look at `api.py`). |
| 7 | == API Basics == |
| 8 | Most themes should simply subclass `ThemeBase` (in `themeengine.api`). This works similarly |
| 9 | to `WikiMacroBase`, use you theme name followed by "Theme" as the class name, and put the |
| 10 | description as the class's docstring. There are a number of class variable you can define to affect |
| 11 | how your theme will be loaded, if any is set to `True`, it will take on a default value (see below): |
| 12 | header:: |
| 13 | The path to the header template. (Defaults to `templates/header.cs`) |
| 14 | footer:: |
| 15 | The path to the footer template. (Defaults to `templates/footer.cs`) |
| 16 | css:: |
| 17 | The path to the CSS template. (Defaults to `templates/css.cs`) |
| 18 | htdocs:: |
| 19 | The folder containing the static content. (Defaults to `htdocs`) |
| 20 | screenshot:: |
| 21 | The path to the screenshot file. (Defaults to `htdocs/screenshot.png`) |
| 22 | header_logo:: |
| 23 | A dict containing the data normally in `[header_logo]` in trac.ini. (Defaults to `{}`) |
| 24 | |
| 25 | == Packaging A Theme == |
| 26 | For lack of a decent guide right now, check out some of [wiki:GamedevTheme the] [wiki:ConsultantTheme existing] [wiki:PyDotOrgTheme themes]. |
| 27 | |
| 28 | One request, when taking screenshots please make them of the first wiki page, preferably with its default content. Also please make them match the aspect ration of 640x400. |