annotate website/wiki/wiki/data/plugin/theme/roundup.py @ 7531:913a73b9fab5 2.3.0

Update for 2.3.0 release
author John Rouillard <rouilj@ieee.org>
date Wed, 12 Jul 2023 23:00:25 -0400
parents d12a2be3783f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4023
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
1 # -*- coding: iso-8859-1 -*-
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
2 """
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
3 MoinMoin - roundup theme
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
4
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
5 Created by Stefan Seefeld.
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
6
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
7 @copyright: 2009 Stefan Seefeld
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
8 @license: GNU GPL, see COPYING for details.
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
9 """
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
10
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
11 from MoinMoin.theme import ThemeBase
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
12 from MoinMoin import wikiutil
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
13
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
14 class Theme(ThemeBase):
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
15
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
16 name = "roundup"
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
17
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
18 def logo(self):
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
19 html = u''
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
20 if self.cfg.logo_string:
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
21 page = wikiutil.getFrontPage(self.request)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
22 logo = page.link_to_raw(self.request, self.cfg.logo_string)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
23 html = u'<h1>%s</h1>' %logo
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
24 return html
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
25
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
26 def menu(self, d):
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
27 """ Create menu"""
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
28 html = [
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
29 u'<div class="menu">',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
30 u' <ul>',
6260
96b3ae52331b Change wiki menu to use https for www.roundup-tracker.org
John Rouillard <rouilj@ieee.org>
parents: 5875
diff changeset
31 u' <li><a href="https://www.roundup-tracker.org">Home</a></li>',
5875
828bbf219e56 website: improving urls to use https for wiki and issues
Bernhard Reiter <bernhard@intevation.de>
parents: 5612
diff changeset
32 u' <li><a href="https://pypi.python.org/pypi/roundup">Download</a></li>',
6260
96b3ae52331b Change wiki menu to use https for www.roundup-tracker.org
John Rouillard <rouilj@ieee.org>
parents: 5875
diff changeset
33 u' <li><a href="https://www.roundup-tracker.org/docs.html">Docs</a></li>',
5612
da2decb6d0c7 update http://issues.roundup-tracker.org to https://isues.... for the
John Rouillard <rouilj@ieee.org>
parents: 4023
diff changeset
34 u' <li><a href="https://issues.roundup-tracker.org">Issues</a></li>',
6260
96b3ae52331b Change wiki menu to use https for www.roundup-tracker.org
John Rouillard <rouilj@ieee.org>
parents: 5875
diff changeset
35 u' <li><a href="https://www.roundup-tracker.org/contact.html">Contact</a></li>',
4023
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
36 self.wiki_links(d),
6260
96b3ae52331b Change wiki menu to use https for www.roundup-tracker.org
John Rouillard <rouilj@ieee.org>
parents: 5875
diff changeset
37 u' <li><a href="https://www.roundup-tracker.org/code.html">Code</a></li>',
4023
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
38 u' </ul>',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
39 u'</div>',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
40 ]
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
41 return u'\n'.join(html)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
42
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
43 def wiki_links(self, d):
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
44
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
45 request = self.request
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
46 found = {} # pages we found. prevent duplicates
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
47 items = [] # wiki items items
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
48
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
49 # Process config navi_bar
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
50 if request.cfg.navi_bar:
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
51 for text in request.cfg.navi_bar:
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
52 pagename, link = self.splitNavilink(text)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
53 items.append('<li>%s</li>'%link)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
54 found[pagename] = 1
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
55
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
56 # Add user links to wiki links, eliminating duplicates.
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
57 userlinks = request.user.getQuickLinks()
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
58 for text in userlinks:
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
59 # Split text without localization, user knows what he wants
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
60 pagename, link = self.splitNavilink(text, localize=0)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
61 if not pagename in found:
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
62 items.append('<li>%s</li>'%link)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
63 found[pagename] = 1
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
64
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
65 text = '[[%s|Wiki]]'%self.cfg.page_front_page
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
66 pagename, link = self.splitNavilink(text, localize=0)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
67 menu = '<ul>%s\n</ul>'%'\n'.join(items)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
68 user = '%s'%self.username(d)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
69 html = u'<li class="current">%s\n%s\n%s\n</li>'%(link,menu,user)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
70 return html
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
71
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
72 def header(self, d):
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
73 """
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
74 Assemble page header
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
75
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
76 @param d: parameter dictionary
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
77 @rtype: string
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
78 @return: page header html
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
79 """
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
80 _ = self.request.getText
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
81
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
82 html = [
6287
7132c780c686 Add update to sync wiki.roundup-tracker.org's roundup theme. Current hg was missing a line, not sure what the line does, but we are in sync now.
John Rouillard <rouilj@ieee.org>
parents: 6260
diff changeset
83 # Pre header custom html
7132c780c686 Add update to sync wiki.roundup-tracker.org's roundup theme. Current hg was missing a line, not sure what the line does, but we are in sync now.
John Rouillard <rouilj@ieee.org>
parents: 6260
diff changeset
84 self.emit_custom_html(self.cfg.page_header1),
7132c780c686 Add update to sync wiki.roundup-tracker.org's roundup theme. Current hg was missing a line, not sure what the line does, but we are in sync now.
John Rouillard <rouilj@ieee.org>
parents: 6260
diff changeset
85
4023
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
86 u'<div class="header">',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
87 self.logo(),
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
88 self.searchform(d),
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
89 u'<div id="locationline">',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
90 self.interwiki(d),
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
91 u'</div>',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
92 u'</div>',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
93 u'<div class="navigation">',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
94 self.menu(d),
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
95 u'</div>',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
96 u'<div class="content">',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
97 self.trail(d),
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
98 self.msg(d),
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
99 self.title(d),
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
100 self.editbar(d),
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
101 ]
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
102 return u'\n'.join(html)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
103
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
104 def footer(self, d, **keywords):
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
105 """ Assemble wiki footer
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
106
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
107 @param d: parameter dictionary
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
108 @keyword ...:...
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
109 @rtype: unicode
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
110 @return: page footer html
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
111 """
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
112 page = d['page']
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
113 html = [
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
114 u'</div><!-- content -->',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
115 u'<div class="footer">',
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
116 self.credits(d),
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
117 self.showversion(d, **keywords),
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
118 u'</div>',
6652
d12a2be3783f update to add GoatCounter tracking javascript
John Rouillard <rouilj@ieee.org>
parents: 6287
diff changeset
119
d12a2be3783f update to add GoatCounter tracking javascript
John Rouillard <rouilj@ieee.org>
parents: 6287
diff changeset
120 # Post footer custom html
d12a2be3783f update to add GoatCounter tracking javascript
John Rouillard <rouilj@ieee.org>
parents: 6287
diff changeset
121 self.emit_custom_html(self.cfg.page_footer2),
4023
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
122 ]
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
123 return u'\n'.join(html)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
124
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
125
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
126 def execute(request):
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
127 """ Generate and return a theme object
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
128
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
129 @param request: the request object
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
130 @rtype: MoinTheme
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
131 @return: Theme object
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
132 """
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
133 return Theme(request)
86c38b5aed66 svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
134

Roundup Issue Tracker: http://roundup-tracker.org/