X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;ds=sidebyside;f=plugin%2Ftheme%2Fsite.py;h=e58d273fb55e27efad6abed19b718313cf56658d;hb=39e7055551f3ec5af83f88d9ee3d88c5cc73a8dc;hp=e9344851be65d92f702aa69a199296f8e569cbaf;hpb=de9df7d614654bfc9399dfd3055a03833ab51f48;p=matthijs%2Fprojects%2Fwipi.git
diff --git a/plugin/theme/site.py b/plugin/theme/site.py
index e934485..e58d273 100644
--- a/plugin/theme/site.py
+++ b/plugin/theme/site.py
@@ -10,6 +10,8 @@
"""
from MoinMoin.theme import ThemeBase
+from MoinMoin.Page import Page
+from MoinMoin import wikiutil
class SiteTheme(ThemeBase):
@@ -24,6 +26,12 @@ class SiteTheme(ThemeBase):
return ThemeBase.searchform(self, d)
else:
return ''
+
+ def navibar(self, d):
+ if self.request.user.valid:
+ return ThemeBase.navibar(self, d)
+ else:
+ return ''
def header(self, d, **kw):
""" Assemble wiki header
@@ -38,26 +46,27 @@ class SiteTheme(ThemeBase):
# Header
u'
',
# Post header custom html (not recommended)
self.emit_custom_html(self.cfg.page_header2),
+ self.msg(d),
+ self.editbar(d),
+
# Start of page
- self.startPage(),
+ self.startPage(d),
]
return u'\n'.join(html)
@@ -74,15 +83,16 @@ class SiteTheme(ThemeBase):
# Header
u'',
# Post header custom html (not recommended)
self.emit_custom_html(self.cfg.page_header2),
# Start of page
- self.startPage(),
+ self.startPage(d),
+ self.msg(d),
]
return u'\n'.join(html)
@@ -97,8 +107,7 @@ class SiteTheme(ThemeBase):
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),
@@ -106,9 +115,12 @@ class SiteTheme(ThemeBase):
# Footer
u'',
# Post footer custom html
@@ -116,6 +128,61 @@ class SiteTheme(ThemeBase):
]
return u'\n'.join(html)
+ def menu(self, d):
+ """ Assemble a "main" menu
+
+ @param d: parameter dictionary
+ @rtype: unicode
+ @return: menu html
+ """
+ items = Page(self.request, 'Site/Menu').data.split('\n')
+
+ html = ''
+
+ return html
+
+ def theme_script(self, name):
+ """ Format script html from this theme's static dir """
+ src = '%s/%s/js/%s.js' % (self.request.cfg.url_prefix_static, self.name, name)
+ return '' % src
+
+ 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 = '%(info)s
\n' % {
+ 'lang': self.ui_lang_attr(),
+ 'info': info
+ }
+ return html
+
+ def startPage(self, d):
+ # This opens up #page
+ html = ThemeBase.startPage(self)
+ html += u'\n'
+ html += u'\n'
+ return html
+
+ def endPage(self, d):
+ html = u'
\n'
+ html += ThemeBase.endPage(self)
+ # This adds #pagebottom and closes #page
+ return html
def execute(request):
"""
@@ -127,3 +194,4 @@ def execute(request):
"""
return Theme(request)
+# vim: set sw=4 sts=4 expandtab: