[% # site map # expects to be set: # nav - cache navigator object # rel_doc_root - relative docs path (only for chapters!) -%] [% # first go up to the absolute root l = nav; # remember last valid node p = nav.up; WHILE p; l = p; p = p.up; END; p = l; # last valid node # now go to the left p = p.first; # now recursively render all levels IF p.parent_rel_path.defined; prefix = p.parent_rel_path; ELSE; prefix = "."; END; IF rel_doc_root.defined; prefix = "$prefix/$rel_doc_root"; END; # walk through the top level nodes count = 0; selected = 0; current = p; buttons = []; p = p.first; WHILE p; count = count + 1; link = INCLUDE link prefix=prefix link=p.meta.link; buttons.push({link => link, text => p.meta.stitle}); IF p.id == current.id; selected = count; END; p = p.next; # next node END; -%]