Index: trac/wiki/web_ui.py
===================================================================
--- trac/wiki/web_ui.py	(revision 3717)
+++ trac/wiki/web_ui.py	(working copy)
@@ -135,6 +135,15 @@
 
         req.hdf['wiki.action'] = action
         req.hdf['wiki.current_href'] = req.href.wiki(page.name)
+
+        prefix = Markup(page.name)
+        heirarchy = prefix.split('/')
+
+        if len(heirarchy) > 1 or heirarchy[0] != 'WikiStart':
+            req.hdf.setValue('wiki.page_parent.node_count', '%s' % len(heirarchy))
+            for i in range(len(heirarchy)):
+                req.hdf.setValue('wiki.page_parent.node.%d' % i, heirarchy[i])
+        
         return 'wiki.cs', None
 
     # ITimelineEventProvider methods
Index: templates/wiki.cs
===================================================================
--- templates/wiki.cs	(revision 3717)
+++ templates/wiki.cs	(working copy)
@@ -25,6 +25,17 @@
   elif:wiki.action == "history" ?>
    <li class="last"><a href="<?cs var:wiki.current_href ?>">View Latest Version</a></li><?cs
   else ?>
+   <li>
+   <?cs set:node_href = trac.href.wiki ?><?cs set:node_max = wiki.page_parent.node_count - 1 ?>
+   <?cs each:node = wiki.page_parent.node ?>
+     <?cs set:node_href = node_href + '/' + node ?>
+     <?cs if:node_max == name(node) ?>
+       <?cs var:node ?>
+     <?cs else ?>
+       <a href="<?cs var:node_href ?>"><?cs var:node ?></a> >
+     <?cs /if ?>
+   <?cs /each ?>
+   </li>
    <li><a href="<?cs var:trac.href.wiki ?>">Start Page</a></li>
    <li><a href="<?cs var:trac.href.wiki ?>/TitleIndex">Index by Title</a></li>
    <li><a href="<?cs var:trac.href.wiki ?>/RecentChanges">Index by Date</a></li>

