A Guide to NAV
NAV's Components
A NAV bar is made up of three components in various combinations. An ENTRY
is a link to another page. It has information about its content, where it
should link to and its position in the NAV bar. A PREGROUP occurs at the start
of each level of hierarchical menu and has similar positional information. A
POSTGROUP is the same but appears at the end of each level.
There are three ways these three types of component can be arranged to give
a hierarchical menu.
The Three Formats of NAV
How NAV Expands
NAV actually works as an inline expansion to be further evaluated. When you
provide no formatting procedures it expands to simple HTML, but otherwise
expands to further hitop markup - in this case procedure calls. The statement
<@NAV SRC="hitop.nav" FORMAT=OPEN ENTRY="MYENTRY" PREGROUP="MYPREGROUP"
POSTGROUP="MYPOSTGROUP"> on this page would expand to:
<MYPREGROUP LEVEL="0" HIGHEST="2">
<MYENTRY NAME="Welcome" HREF="../index.live" SELECT="0" TYPE="0" OPEN="0"
LEVEL="0" HIGHEST="2" POSITION ="1" TOTAL="6">
<MYENTRY NAME="Revisions" HREF="../revision.live" SELECT="0" TYPE="0"
OPEN="0" LEVEL="0" HIGHEST="2" POSITION ="2" TOTAL="6">
<MYENTRY NAME="Downloads »" HREF="../licence.live" SELECT="2"
TYPE="1" OPEN="1" LEVEL="0" HIGHEST="2" POSITION ="3" TOTAL="6">
<MYPREGROUP LEVEL="1" HIGHEST="2">
<MYENTRY NAME="Licence" HREF="../licence.live" SELECT="0" TYPE="0"
OPEN="0" LEVEL="1" HIGHEST="2" POSITION ="1" TOTAL="2">
<MYENTRY NAME="Source" HREF="../source.live" SELECT="0" TYPE="0" OPEN="0"
LEVEL="1" HIGHEST="2" POSITION ="2" TOTAL="2">
<MYPOSTGROUP LEVEL="1" HIGHEST="2">
<MYENTRY NAME="FAQ" HREF="../faq/index.live" SELECT="0" TYPE="0" OPEN="0"
LEVEL="0" HIGHEST="2" POSITION ="4" TOTAL="6">
<MYENTRY NAME="Tutorials »" HREF="index.live" SELECT="2"
TYPE="1" OPEN="1" LEVEL="0" HIGHEST="2" POSITION ="5" TOTAL="6">
<MYPREGROUP LEVEL="1" HIGHEST="2">
<MYENTRY NAME="Contents" HREF="index.live" SELECT="0" TYPE="0" OPEN="0"
LEVEL="1" HIGHEST="2" POSITION ="1" TOTAL="2">
<MYENTRY NAME="NAV" HREF="nav.live" SELECT="1" TYPE="0" OPEN="1" LEVEL="1"
HIGHEST="2" POSITION ="2" TOTAL="2">
<MYPOSTGROUP LEVEL="1" HIGHEST="2">
<MYENTRY NAME="Reference »" HREF="../reference/index.live"
SELECT="2" TYPE="1" OPEN="1" LEVEL="0" HIGHEST="2" POSITION ="6"
TOTAL="6">
<MYPREGROUP LEVEL="1" HIGHEST="2">
<MYENTRY NAME="Contents" HREF="../reference/index.live" SELECT="0"
TYPE="0" OPEN="0" LEVEL="1" HIGHEST="2" POSITION ="1" TOTAL="3">
<MYENTRY NAME="Commands »" HREF="../reference/vars.live"
SELECT="2" TYPE="1" OPEN="1" LEVEL="1" HIGHEST="2" POSITION ="2"
TOTAL="3">
<MYPREGROUP LEVEL="2" HIGHEST="2">
<MYENTRY NAME="Variables" HREF="../reference/vars.live" SELECT="0"
TYPE="0" OPEN="0" LEVEL="2" HIGHEST="2" POSITION ="1" TOTAL="8">
<MYENTRY NAME="Selection" HREF="../reference/selection.live" SELECT="0"
TYPE="0" OPEN="0" LEVEL="2" HIGHEST="2" POSITION ="2" TOTAL="8">
<MYENTRY NAME="Files" HREF="../reference/file.live" SELECT="0" TYPE="0"
OPEN="0" LEVEL="2" HIGHEST="2" POSITION ="3" TOTAL="8">
<MYENTRY NAME="Procedures" HREF="../reference/def.live" SELECT="0"
TYPE="0" OPEN="0" LEVEL="2" HIGHEST="2" POSITION ="4" TOTAL="8">
<MYENTRY NAME="Automation" HREF="../reference/img.live" SELECT="0"
TYPE="0" OPEN="0" LEVEL="2" HIGHEST="2" POSITION ="5" TOTAL="8">
<MYENTRY NAME="Expansions" HREF="../reference/macro.live" SELECT="0"
TYPE="0" OPEN="0" LEVEL="2" HIGHEST="2" POSITION ="6" TOTAL="8">
<MYENTRY NAME="Cookies" HREF="../reference/cookies.live" SELECT="0"
TYPE="0" OPEN="0" LEVEL="2" HIGHEST="2" POSITION ="7" TOTAL="8">
<MYENTRY NAME="Testing" HREF="../reference/testing.live" SELECT="0"
TYPE="0" OPEN="0" LEVEL="2" HIGHEST="2" POSITION ="8" TOTAL="8">
<MYPOSTGROUP LEVEL="2" HIGHEST="2">
<MYENTRY NAME="Strings" HREF="../reference/string.live" SELECT="0"
TYPE="0" OPEN="0" LEVEL="1" HIGHEST="2" POSITION ="3" TOTAL="3">
<MYPOSTGROUP LEVEL="1" HIGHEST="2">
<MYPOSTGROUP LEVEL="0" HIGHEST="2">
It's up to each procedure to decide how to handle the parameters it's been
passed. You should find NAV incredibly customizable.
|