# -*- coding: iso-8859-1 -*-
"""
- Evolution Events, website theme
+ MoinMoin - Generic website theme.
+
+ @copyright: 2009+ Matthijs Kooijman
+ @license: GNU GPL, see COPYING for details.
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).
from MoinMoin.theme import ThemeBase
from MoinMoin.Page import Page
+from MoinMoin import wikiutil
class SiteTheme(ThemeBase):
# Header
u'<div id="header">',
+ self.logo(),
self.menu(d),
- #self.logo(),
#self.username(d),
#u'<div id="locationline">',
#self.interwiki(d),
# Post header custom html (not recommended)
self.emit_custom_html(self.cfg.page_header2),
- # Start of page
- self.startPage(),
self.msg(d),
+ self.editbar(d),
+
+ # Start of page
+ self.startPage(d),
]
return u'\n'.join(html)
# Header
u'<div id="header">',
+ self.logo(),
self.menu(d),
u'</div>',
self.emit_custom_html(self.cfg.page_header2),
# Start of page
- self.startPage(),
+ self.startPage(d),
self.msg(d),
]
return u'\n'.join(html)
page = d['page']
html = [
# End of page
- self.pageinfo(page),
- self.endPage(),
+ self.endPage(d),
# Pre footer custom html (not recommended!)
self.emit_custom_html(self.cfg.page_footer1),
# Footer
u'<div id="footer">',
- self.searchform(d),
self.username(d),
- self.editbar(d),
+ self.pageinfo(page),
+ self.searchform(d),
#self.editbar(d),
#self.credits(d),
#self.showversion(d, **keywords),
+ u'<div id="footerbottom"></div>',
u'</div>',
# Post footer custom html
src = '%s/%s/js/%s.js' % (self.request.cfg.url_prefix_static, self.name, name)
return '<script type="text/javascript" src="%s"></script>' % src
-def execute(request):
- """
- Generate and return a theme object
-
- @param request: the request object
- @rtype: MoinTheme
- @return: Theme object
- """
- return Theme(request)
+ def pageinfo(self, page):
+ """ Output page name and "last modified". This overwrites the pageinfo
+ from ThemeBase to hide the username, which is useless and always
+ produces a link to the non-existing homepage of the last editor. """
+ _ = self.request.getText
+ html = ''
+ if self.shouldShowPageinfo(page):
+ info = page.lastEditInfo()
+ if info:
+ info = _("last modified %(time)s") % info
+ pagename = page.page_name
+ info = "%s (%s)" % (wikiutil.escape(pagename), info)
+ html = '<p id="pageinfo" class="info"%(lang)s>%(info)s</p>\n' % {
+ 'lang': self.ui_lang_attr(),
+ 'info': info
+ }
+ return html
+
+ def startPage(self, d):
+ # This opens up #page
+ html = ThemeBase.startPage(self)
+ html += u'<div id="pagetop"></div>\n'
+ html += u'<div id="pagemiddle">\n'
+ return html
+
+ def endPage(self, d):
+ html = u'</div><!-- #pagemiddle -->\n'
+ html += ThemeBase.endPage(self)
+ # This adds #pagebottom and closes #page
+ return html
+# vim: set sw=4 sts=4 expandtab: