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)
29 def header(self, d, **kw):
30 """ Assemble wiki header
32 @param d: parameter dictionary
34 @return: page header html
37 # Pre header custom html
38 self.emit_custom_html(self.cfg.page_header1),
45 #u'<div id="locationline">',
50 #u'<hr id="pageline">',
51 #u'<div id="pageline"><hr style="display:none;"></div>',
57 # Post header custom html (not recommended)
58 self.emit_custom_html(self.cfg.page_header2),
63 return u'\n'.join(html)
65 def editorheader(self, d, **kw):
66 """ Assemble wiki header for editor
68 @param d: parameter dictionary
70 @return: page header html
73 # Pre header custom html
74 self.emit_custom_html(self.cfg.page_header1),
82 # Post header custom html (not recommended)
83 self.emit_custom_html(self.cfg.page_header2),
88 return u'\n'.join(html)
90 def footer(self, d, **keywords):
91 """ Assemble wiki footer
93 @param d: parameter dictionary
96 @return: page footer html
104 # Pre footer custom html (not recommended!)
105 self.emit_custom_html(self.cfg.page_footer1),
108 u'<div id="footer">',
113 #self.showversion(d, **keywords),
116 # Post footer custom html
117 self.emit_custom_html(self.cfg.page_footer2),
119 return u'\n'.join(html)
122 """ Assemble a "main menu
124 @param d: parameter dictionary
128 items = Page(self.request, 'Site/Menu').data.split('\n')
130 html = '<ul id="menubar">'
133 if (not item.startswith("#")):
134 (pagename, link) = self.splitNavilink(item)
135 html = html + ("<li class=\"menulink\">%s</li>" % link)
137 html = html + '</ul>'
141 def execute(request):
143 Generate and return a theme object
145 @param request: the request object
147 @return: Theme object
149 return Theme(request)