1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
# -*- coding: utf-8 -*-
"""
This macro shows a quick and dirty way to make a table-of-contents for a set
of wiki pages.
"""
TOC = [('TracGuide', 'Index'),
('TracInstall', 'Installation'),
('TracUpgrade', 'Upgrading'),
('TracIni', 'Configuration'),
('TracAdmin', 'Administration'),
('TracBackup', 'Backup'),
('TracLogging', 'Logging'),
('TracPermissions' , 'Permissions'),
('TracWiki', 'The Wiki'),
('WikiFormatting', 'Wiki Formatting'),
('TracTimeline', 'Timeline'),
('TracBrowser', 'Repository Browser'),
('TracChangeset', 'Changesets'),
('TracRoadmap', 'Roadmap'),
('TracTickets', 'Tickets'),
('TracQuery', 'Ticket Queries'),
('TracReports', 'Reports'),
('TracRss', 'RSS Support'),
('TracNotification', 'Notification'),
('TracInterfaceCustomization', 'Customization'),
('TracPlugins', 'Plugins'),
]
def execute(hdf, args, env):
html = '<div class="wiki-toc">' \
'<h4>Table of Contents</h4>' \
'<ul>'
curpage = '%s' % hdf.getValue('wiki.page_name', '')
lang, page = '/' in curpage and curpage.split('/', 1) or ('', curpage)
for ref, title in TOC:
if page == ref:
cls = ' class="active"'
else:
cls = ''
html += '<li%s><a href="%s">%s</a></li>' \
% (cls, env.href.wiki(lang+ref), title)
return html + '</ul></div>'
|