* Add plugin dir (only empty subdirs for now).
[matthijs/projects/wipi.git] / plugin / theme / exodus.py
1 # -*- coding: iso-8859-1 -*-
2 """
3     MoinMoin - modern theme
4
5     @copyright: 2003-2005 Nir Soffer, Thomas Waldmann
6     @license: GNU GPL, see COPYING for details.
7 """
8
9 from MoinMoin.theme import ThemeBase
10
11 class Theme(ThemeBase):
12
13     name = "exodus"
14
15     def header(self, d, **kw):
16         """ Assemble wiki header
17         
18         @param d: parameter dictionary
19         @rtype: unicode
20         @return: page header html
21         """
22         html = [
23             # Pre header custom html
24             self.emit_custom_html(self.cfg.page_header1),
25
26             # Header
27             u'<div id="header">',
28             self.logo(),
29             self.searchform(d),
30             self.username(d),
31             u'<div id="locationline">',
32             self.interwiki(d),
33             self.title(d),
34             u'</div>',
35             self.trail(d),
36             self.navibar(d),
37             #u'<hr id="pageline">',
38             u'<div id="pageline"><hr style="display:none;"></div>',
39             self.msg(d),
40             self.editbar(d),
41             u'</div>',
42
43             # Post header custom html (not recommended)
44             self.emit_custom_html(self.cfg.page_header2),
45
46             # Start of page
47             self.startPage(),
48         ]
49         return u'\n'.join(html)
50
51     def editorheader(self, d, **kw):
52         """ Assemble wiki header for editor
53         
54         @param d: parameter dictionary
55         @rtype: unicode
56         @return: page header html
57         """
58         html = [
59             # Pre header custom html
60             self.emit_custom_html(self.cfg.page_header1),
61
62             # Header
63             u'<div id="header">',
64             self.title(d),
65             self.msg(d),
66             u'</div>',
67
68             # Post header custom html (not recommended)
69             self.emit_custom_html(self.cfg.page_header2),
70
71             # Start of page
72             self.startPage(),
73         ]
74         return u'\n'.join(html)
75
76     def footer(self, d, **keywords):
77         """ Assemble wiki footer
78         
79         @param d: parameter dictionary
80         @keyword ...:...
81         @rtype: unicode
82         @return: page footer html
83         """
84         page = d['page']
85         html = [
86             # End of page
87             self.pageinfo(page),
88             self.endPage(),
89
90             # Pre footer custom html (not recommended!)
91             self.emit_custom_html(self.cfg.page_footer1),
92
93             # Footer
94             u'<div id="footer">',
95             self.editbar(d),
96             self.credits(d),
97             self.showversion(d, **keywords),
98             u'</div>',
99
100             # Post footer custom html
101             self.emit_custom_html(self.cfg.page_footer2),
102             ]
103         return u'\n'.join(html)
104
105
106 def execute(request):
107     """
108     Generate and return a theme object
109         
110     @param request: the request object
111     @rtype: MoinTheme
112     @return: Theme object
113     """
114     return Theme(request)
115