X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=plugin%2Ftheme%2Fsite.py;fp=plugin%2Ftheme%2Fsite.py;h=e9344851be65d92f702aa69a199296f8e569cbaf;hb=de9df7d614654bfc9399dfd3055a03833ab51f48;hp=0000000000000000000000000000000000000000;hpb=76eb6b9ab955159aca342cf2b46a3066bdcd39ed;p=matthijs%2Fprojects%2Fwipi.git diff --git a/plugin/theme/site.py b/plugin/theme/site.py new file mode 100644 index 0000000..e934485 --- /dev/null +++ b/plugin/theme/site.py @@ -0,0 +1,129 @@ +# -*- coding: iso-8859-1 -*- +""" + Evolution Events, website theme + + This theme is meant for wiki's that are meant to function as a website, + meaning nothing fancy and wiki-ish (at least when you're not logged in). + + This theme is meant to be subclassed. Subclasses should at least define a + name, and possibly override other stuff. +""" + +from MoinMoin.theme import ThemeBase + +class SiteTheme(ThemeBase): + + def editbar(self, d): + if self.request.user.valid: + return ThemeBase.editbar(self, d) + else: + return '' + + def searchform(self, d): + if self.request.user.valid: + return ThemeBase.searchform(self, d) + else: + return '' + + def header(self, d, **kw): + """ Assemble wiki header + + @param d: parameter dictionary + @rtype: unicode + @return: page header html + """ + html = [ + # Pre header custom html + self.emit_custom_html(self.cfg.page_header1), + + # Header + u'', + + # Post header custom html (not recommended) + self.emit_custom_html(self.cfg.page_header2), + + # Start of page + self.startPage(), + ] + return u'\n'.join(html) + + def editorheader(self, d, **kw): + """ Assemble wiki header for editor + + @param d: parameter dictionary + @rtype: unicode + @return: page header html + """ + html = [ + # Pre header custom html + self.emit_custom_html(self.cfg.page_header1), + + # Header + u'', + + # Post header custom html (not recommended) + self.emit_custom_html(self.cfg.page_header2), + + # Start of page + self.startPage(), + ] + return u'\n'.join(html) + + def footer(self, d, **keywords): + """ Assemble wiki footer + + @param d: parameter dictionary + @keyword ...:... + @rtype: unicode + @return: page footer html + """ + page = d['page'] + html = [ + # End of page + self.pageinfo(page), + self.endPage(), + + # Pre footer custom html (not recommended!) + self.emit_custom_html(self.cfg.page_footer1), + + # Footer + u'', + + # Post footer custom html + self.emit_custom_html(self.cfg.page_footer2), + ] + return u'\n'.join(html) + + +def execute(request): + """ + Generate and return a theme object + + @param request: the request object + @rtype: MoinTheme + @return: Theme object + """ + return Theme(request) +