diff --git a/wiki/theme/crans.py b/wiki/theme/crans.py index 31a6b0cd..6bd3e02c 100644 --- a/wiki/theme/crans.py +++ b/wiki/theme/crans.py @@ -101,6 +101,49 @@ class Theme(ThemeBase): '{o}': ("{o}", "star_off.png", 16, 16), } + def navibar(self, d): + """ Assemble the navibar + + @param d: parameter dictionary + @rtype: unicode + @return: navibar html + """ + request = self.request + found = {} # pages we found. prevent duplicates + items = [] # navibar items + item = u'
  • %s
  • ' + current = d['page_name'] + + # Process config navi_bar + if request.cfg.navi_bar: + for text in request.cfg.navi_bar: + pagename, link = self.splitNavilink(text) + if pagename == current: + cls = 'wikilink current' + else: + cls = 'wikilink' + items.append(item % (cls, link)) + found[pagename] = 1 + + # Add current page at end of local pages + if not current in found: + title = d['page'].split_title() + title = self.shortenPagename(title) + link = d['page'].link_to(request, title) + cls = 'current' + items.append(item % (cls, link)) + + # Assemble html + items = u''.join(items) + html = u''' + +''' % items + return html + + + def wikipanel(self, d): """ Create wiki panel """ _ = self.request.getText