1 # -*- coding: iso-8859-1 -*- 2 """ 3 MoinMoin - ep2008 (EuroPython 2008) theme 4 5 @copyright: 2003-2007 by Nir Soffer, Thomas Waldmann, Paul Boddie 6 @license: GNU GPL, see COPYING for details. 7 """ 8 9 from MoinMoin.theme import ThemeBase 10 #from MoinMoin.theme import modern 11 12 #class Theme(modern.Theme): 13 class Theme(ThemeBase): 14 15 name = "ep2008" 16 17 def header(self, d, **kw): 18 """ Assemble wiki header 19 20 @param d: parameter dictionary 21 @rtype: unicode 22 @return: page header html 23 """ 24 html = [ 25 # Pre header custom html 26 self.emit_custom_html(self.cfg.page_header1), 27 28 # Header 29 u'<div id="header">', 30 self.logo(), 31 32 # Banner 33 self.cfg.banner_string, 34 35 self.searchform(d), 36 self.navibar(d), 37 self.msg(d), 38 39 # NOTE: Hack everything into the header 40 u'<div id="end-of-header">', 41 u'</div>', 42 u'</div>', 43 44 # Post header custom html (not recommended) 45 self.emit_custom_html(self.cfg.page_header2), 46 47 # Start of page 48 u'<div class="page-%s">' % d['page_name'], 49 self.startPage(), 50 ] 51 return u'\n'.join(html) 52 53 def editorheader(self, d, **kw): 54 """ Assemble wiki header for editor 55 56 @param d: parameter dictionary 57 @rtype: unicode 58 @return: page header html 59 """ 60 html = [ 61 # Pre header custom html 62 self.emit_custom_html(self.cfg.page_header1), 63 64 # Header 65 u'<div id="header">', 66 self.title(d), 67 self.msg(d), 68 u'</div>', 69 70 # Post header custom html (not recommended) 71 self.emit_custom_html(self.cfg.page_header2), 72 73 # Start of page 74 u'<div class="page-%s">' % d['page_name'], 75 self.startPage(), 76 ] 77 return u'\n'.join(html) 78 79 def footer(self, d, **keywords): 80 """ Assemble wiki footer 81 82 @param d: parameter dictionary 83 @keyword ...:... 84 @rtype: unicode 85 @return: page footer html 86 """ 87 page = d['page'] 88 html = [ 89 # End of page 90 self.pageinfo(page), 91 self.endPage(), 92 u'</div>', 93 94 # Pre footer custom html (not recommended!) 95 self.emit_custom_html(self.cfg.page_footer1), 96 97 # Footer 98 u'<div id="footer">', 99 self.cfg.contact_string, 100 self.trail(d), 101 u'<div id="contribute">', 102 self.cfg.contribute_string, 103 u'<div class="contribute-hidden">', 104 self.username(d), 105 u'<div id="locationline">', 106 self.interwiki(d), 107 self.title(d), 108 u'</div>', 109 self.editbar(d), 110 u'</div>', 111 u'</div>', 112 self.credits(d), 113 self.showversion(d, **keywords), 114 u'</div>', 115 116 # Post footer custom html 117 self.emit_custom_html(self.cfg.page_footer2), 118 ] 119 return u'\n'.join(html) 120 121 def execute(request): 122 """ 123 Generate and return a theme object 124 125 @param request: the request object 126 @rtype: MoinTheme 127 @return: Theme object 128 """ 129 return Theme(request) 130 131 # vim: tabstop=4 expandtab shiftwidth=4