-# -*- coding: iso-8859-1 -*-
"""
- MoinMoin - modern theme
+ MoinMoin - Exodus website theme.
- @copyright: 2003-2005 Nir Soffer, Thomas Waldmann
+ @copyright: 2009+ Matthijs Kooijman
@license: GNU GPL, see COPYING for details.
"""
+from site import SiteTheme
from MoinMoin.theme import ThemeBase
-class Theme(ThemeBase):
+class Theme(SiteTheme):
name = "exodus"
- 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'<div id="header">',
- self.logo(),
- self.searchform(d),
- self.username(d),
- u'<div id="locationline">',
- self.interwiki(d),
- self.title(d),
- u'</div>',
- self.trail(d),
- self.navibar(d),
- #u'<hr id="pageline">',
- u'<div id="pageline"><hr style="display:none;"></div>',
- self.msg(d),
- self.editbar(d),
- u'</div>',
-
- # 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
- """
+ def html_head(self, d):
html = [
- # Pre header custom html
- self.emit_custom_html(self.cfg.page_header1),
-
- # Header
- u'<div id="header">',
- self.title(d),
- self.msg(d),
- u'</div>',
-
- # Post header custom html (not recommended)
- self.emit_custom_html(self.cfg.page_header2),
-
- # Start of page
- self.startPage(),
+ SiteTheme.html_head(self, d),
+ #self.theme_script('jquery-1.3.2.min'),
+ self.theme_script('jquery-1.3.2'),
]
- 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(),
+ if d['page'].page_name == 'Site':
+ html.append(self.theme_script('homepage'))
+ html.append(self._stylesheet_link(True, 'screen', 'home'))
- # Pre footer custom html (not recommended!)
- self.emit_custom_html(self.cfg.page_footer1),
+ return '\n'.join(html)
- # Footer
- u'<div id="footer">',
- self.editbar(d),
- self.credits(d),
- self.showversion(d, **keywords),
- u'</div>',
+ def startPage(self, d):
+ # For the homepage, don't use SiteTheme's changes
+ if d['page'].page_name == 'Site':
+ return ThemeBase.startPage(self)
+ else:
+ return SiteTheme.startPage(self, d)
- # Post footer custom html
- self.emit_custom_html(self.cfg.page_footer2),
- ]
- return u'\n'.join(html)
+ def endPage(self, d):
+ # For the homepage, don't use SiteTheme's changes, but also don't use
+ # ThemeBase, since that adds a #pagebottom.
+ if d['page'].page_name == 'Site':
+ return u'</div><!-- #page -->'
+ else:
+ return SiteTheme.endPage(self, d)
def execute(request):
"""
return Theme(request)
+# vim: set sw=4 sts=4 expandtab: