# -*- coding: iso-8859-1 -*- """ MoinMoin - roundup theme Created by Stefan Seefeld. @copyright: 2009 Stefan Seefeld @license: GNU GPL, see COPYING for details. """ from MoinMoin.theme import ThemeBase from MoinMoin import wikiutil class Theme(ThemeBase): name = "roundup" def logo(self): html = u'' if self.cfg.logo_string: page = wikiutil.getFrontPage(self.request) logo = page.link_to_raw(self.request, self.cfg.logo_string) html = u'

%s

' %logo return html def menu(self, d): """ Create menu""" html = [ u'', ] return u'\n'.join(html) def wiki_links(self, d): request = self.request found = {} # pages we found. prevent duplicates items = [] # wiki items items # Process config navi_bar if request.cfg.navi_bar: for text in request.cfg.navi_bar: pagename, link = self.splitNavilink(text) items.append('
  • %s
  • '%link) found[pagename] = 1 # Add user links to wiki links, eliminating duplicates. userlinks = request.user.getQuickLinks() for text in userlinks: # Split text without localization, user knows what he wants pagename, link = self.splitNavilink(text, localize=0) if not pagename in found: items.append('
  • %s
  • '%link) found[pagename] = 1 text = '[[%s|Wiki]]'%self.cfg.page_front_page pagename, link = self.splitNavilink(text, localize=0) menu = ''%'\n'.join(items) user = '%s'%self.username(d) html = u'
  • %s\n%s\n%s\n
  • '%(link,menu,user) return html def header(self, d): """ Assemble page header @param d: parameter dictionary @rtype: string @return: page header html """ _ = self.request.getText html = [ # Pre header custom html self.emit_custom_html(self.cfg.page_header1), u'
    ', self.logo(), self.searchform(d), u'
    ', self.interwiki(d), u'
    ', u'
    ', u'', u'
    ', self.trail(d), self.msg(d), self.title(d), self.editbar(d), ] 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 = [ u'
    ', 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)