pike.ida.liu.se
Home>Projects>Pike Site

Concept and Conventions
The site navigation reflects the hierarchically organized site structure, with a top menu giving your current depth and position (the directory titles of current and parent directories, as found in their index.xml files, for instance, Pike Site, Projects and Home for this page) and a submenu of the contents of the current directory. When entering a directory, the title you chose in the sub menu pops up to the top level menu, and that menu is now generated from the new current directory. Going to a page in the same directory just highlights its title in place, and otherwise leaves the navigation view unchanged.

The submenu is, where applicable, sorted alphabetically. In some directories where there are either very many files or where the files for some reason absolutely need long titles, other means of navigation are used, possibly in combination with the submenu. We will get back to such problems further down the page.

Menu Files
For any directory with more files than the index.xml file that you want linked in the top navigation, you must create or edit the sub.menu file in the directory, for listing the pages and directories you want in the submenu. SiteBuilder will help you edit the menu file with its special menu file editor, and present you with a list where you add new entries, a row at a time, and edit your contents by writing URLs. For common files, write the filename (any relative path name works, but try not to abuse this; please stay true to the hierarchic structure) and for directories, be sure that the URL ends in a slash (/). The title column is best left empty; it's a title override that makes the submenu title differ from the title ending up in the top menu once you visit the page.

There are some minor oddities to be aware of regarding the navigation implementation. When doing changes and reviewing the results, changes in the menu files will not take immediate effect as you would guess, even if you commit the changes. The method to have your changes go live on the site is to shift-reload the page (for browsers that send the pragma: no-cache header for such requests, typically all browsers except IE). If you fail to do this yourself, somebody will do it for you if you just make sure that your other files have been committed. Note that even your uncommitted sub.menu changes will show up on the live site when you review them this way, until someone flushes the cache manually the next time.

Big Submenus
For the diseased cases where your submenus grow really large, you must resort to other means for navigation or the submenu will outgrow the page width. Of course, links can be put anywhere in any page, so using common content links can do the trick. See, for instance, how the development team page lists most Pike contributors from the index.xml page instead, and only puts those with cvs write access (and an image) in the top navigation. The sub.menu file used there also illustrates how to make a menu using RXML, using the special file type "Parsed menu" (see its metadata entry).

A longer term project is to add a vertical.menu file which would not be as limited by the width of the page, but for now, we try keeping all directories fairly tidy and titles short and to the point - which also helps get you where you want without having to read too much.