[wiki/theme] thèmes crans et crans-www dans /usr/scripts
Ignore-this: 62481bd1e942fdf5cd197fb81e335062 darcs-hash:20100326165539-bd074-38b222f3cae3cf896123b99e1bbf633e4a1281d3.gz
This commit is contained in:
parent
bca01e74ec
commit
ad66550320
2 changed files with 247 additions and 0 deletions
123
wiki/theme/crans.py
Executable file
123
wiki/theme/crans.py
Executable file
|
@ -0,0 +1,123 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
MoinMoin monobook theme.
|
||||
|
||||
Author: Antoine Durand-Gasselin <adg@crans.org>
|
||||
"""
|
||||
|
||||
import datetime
|
||||
from MoinMoin.theme import ThemeBase
|
||||
|
||||
class Theme(ThemeBase):
|
||||
|
||||
name = "crans"
|
||||
today = datetime.date.today()
|
||||
def wikipanel(self, d):
|
||||
""" Create wiki panel """
|
||||
_ = self.request.getText
|
||||
html = [
|
||||
u'<div class="sidepanel">',
|
||||
u'<h1>%s</h1>' % _("Wiki"),
|
||||
self.navibar(d),
|
||||
u'</div>',
|
||||
]
|
||||
return u'\n'.join(html)
|
||||
|
||||
def pagepanel(self, d):
|
||||
""" Create page panel """
|
||||
_ = self.request.getText
|
||||
if self.shouldShowEditbar(d['page']):
|
||||
html = [
|
||||
u'<div class="sidepanel">',
|
||||
u'<h1>%s</h1>' % _("Page"),
|
||||
self.editbar(d),
|
||||
u'</div>',
|
||||
]
|
||||
return u'\n'.join(html)
|
||||
return ''
|
||||
|
||||
def userpanel(self, d):
|
||||
""" Create user panel """
|
||||
_ = self.request.getText
|
||||
|
||||
html = [
|
||||
u'<div class="sidepanel">',
|
||||
u'<h1>%s</h1>' % _("User"),
|
||||
self.username(d),
|
||||
u'</div>'
|
||||
]
|
||||
return u'\n'.join(html)
|
||||
|
||||
def header(self, d):
|
||||
"""
|
||||
Assemble page header
|
||||
|
||||
@param d: parameter dictionary
|
||||
@rtype: string
|
||||
@return: page header html
|
||||
"""
|
||||
_ = self.request.getText
|
||||
|
||||
if self.today.month == 10 and self.today.day == 31:
|
||||
extra_style = 'class="halloween"'
|
||||
elif self.today.month == 12 and self.today.day == 24:
|
||||
extra_style = 'class="noel"'
|
||||
else: extra_style = ''
|
||||
|
||||
html = [
|
||||
# Custom html above header
|
||||
self.emit_custom_html(self.cfg.page_header1),
|
||||
|
||||
u'<div id="titleBar" %s>' % extra_style,
|
||||
u'<h1 id="title">', self.title(d), u'</h1>',
|
||||
u'</div>',
|
||||
self.msg(d),
|
||||
self.startPage()
|
||||
]
|
||||
|
||||
return u'\n'.join(html)
|
||||
|
||||
editorheader = header
|
||||
|
||||
def footer(self, d, **keywords):
|
||||
""" Assemble wiki footer
|
||||
|
||||
@param d: parameter dictionary
|
||||
@keyword ...:...
|
||||
@rtype: unicode
|
||||
@return: page footer html
|
||||
"""
|
||||
|
||||
page = d['page']
|
||||
|
||||
html = [
|
||||
self.pageinfo(page),
|
||||
self.endPage(),
|
||||
|
||||
# Sidebar
|
||||
u'<div id="rightSidebar">',
|
||||
self.userpanel(d), self.wikipanel(d), self.pagepanel(d),
|
||||
self.searchform(d), self.credits(d), self.showversion(d, **keywords),
|
||||
u'</div>',
|
||||
|
||||
# # Pre footer custom html (not recommended!)
|
||||
# self.emit_custom_html(self.cfg.page_footer1),
|
||||
#
|
||||
# # Footer
|
||||
# u'<div id="footer">',
|
||||
# u'</div>',
|
||||
#
|
||||
# # 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)
|
Loading…
Add table
Add a link
Reference in a new issue