open Data
open Xhtml
let nav_descr = [|
"Home", "h", "Home";
"My research activity", "r", "Research";
"Software I wrote", "s", "Software";
"Various photographs I took", "p", "Photography";
"More about this site and its author","a", "About";
"Contact me", "c", "Contact"
|]
let nav_descr_links =
Array.map
(fun (label, access, name) ->
loc_of_name (String.uncapitalize name), label, access, name) nav_descr
let navlink (url, title, accesskey, vtext) active =
let a = a ~href:url ~title:title ~accesskey:accesskey
and text = [text vtext] in
if active then
a ~nclass:"active" text
else
a text
let navlinks =
Array.map
(fun nav ->
let navaux = navlink nav in
[navaux true], [navaux false])
nav_descr_links
let navlinks' =
Array.mapi
(fun i (active, _) ->
let inactive = Array.map snd navlinks in
inactive.(i) <- active;
let elems = Array.to_list inactive in
ul ~id:"nav" elems)
navlinks
(* AD HOC *)
let navcat = [| navlinks'.(1) ; navlinks'.(2) ; navlinks'.(3) |]
let navhome = navlinks'.(0)
let navabout = navlinks'.(4)
let navcontact = navlinks'.(5)