1 # -*- coding: iso-8859-1 -*-
3 Evolution Events, website theme
5 This theme is meant for wiki's that are meant to function as a website,
6 meaning nothing fancy and wiki-ish (at least when you're not logged in).
8 This theme is meant to be subclassed. Subclasses should at least define a
9 name, and possibly override other stuff.
12 from MoinMoin.theme import ThemeBase
13 from MoinMoin.Page import Page
15 class SiteTheme(ThemeBase):
18 if self.request.user.valid:
19 return ThemeBase.editbar(self, d)
23 def searchform(self, d):
24 if self.request.user.valid:
25 return ThemeBase.searchform(self, d)
30 if self.request.user.valid:
31 return ThemeBase.navibar(self, d)
35 def header(self, d, **kw):
36 """ Assemble wiki header
38 @param d: parameter dictionary
40 @return: page header html
43 # Pre header custom html
44 self.emit_custom_html(self.cfg.page_header1),
51 #u'<div id="locationline">',
56 #u'<hr id="pageline">',
57 #u'<div id="pageline"><hr style="display:none;"></div>',
63 # Post header custom html (not recommended)
64 self.emit_custom_html(self.cfg.page_header2),
69 return u'\n'.join(html)
71 def editorheader(self, d, **kw):
72 """ Assemble wiki header for editor
74 @param d: parameter dictionary
76 @return: page header html
79 # Pre header custom html
80 self.emit_custom_html(self.cfg.page_header1),
88 # Post header custom html (not recommended)
89 self.emit_custom_html(self.cfg.page_header2),
94 return u'\n'.join(html)
96 def footer(self, d, **keywords):
97 """ Assemble wiki footer
99 @param d: parameter dictionary
102 @return: page footer html
110 # Pre footer custom html (not recommended!)
111 self.emit_custom_html(self.cfg.page_footer1),
114 u'<div id="footer">',
119 #self.showversion(d, **keywords),
122 # Post footer custom html
123 self.emit_custom_html(self.cfg.page_footer2),
125 return u'\n'.join(html)
128 """ Assemble a "main menu
130 @param d: parameter dictionary
134 items = Page(self.request, 'Site/Menu').data.split('\n')
136 html = '<ul id="menubar">'
139 if (not item.startswith("#")):
140 (pagename, link) = self.splitNavilink(item)
141 html = html + ("<li class=\"menulink\">%s</li>" % link)
143 html = html + '</ul>'
147 def execute(request):
149 Generate and return a theme object
151 @param request: the request object
153 @return: Theme object
155 return Theme(request)