This is server API (go to client)

Module Eliom_tools.​F

module F : HTML5_TOOLS

Menus with functional node semantics


Simple menu

val menu : 
  ?classe:Html5_types.nmtoken list ->
  ?id:string ->
  (([< Eliom_service.get_service_kind ] as 'a,
   [< Eliom_service.registrable ] as 'b,
   [< Eliom_registration.non_ocaml_service ] as 'c)
   Eliom_tools.one_page *
   Html5_types.flow5_without_interactive Eliom_content.Html5.elt list)
  list ->
  ?service:('a, 'b, 'c) Eliom_tools.one_page ->
  unit -> [> `Ul ] Eliom_content.Html5.elt

The function menu elts (), where elts is a list of pair (service, content), creates a list of link towards the services. See the Eliom manual for an example of menu.

The optional parameter service is used to find which item(s) to highlight (by adding the class eliomtools_current to the corresponding <li> node). The default is to highlight the item corresponding to the current url.

The optional parameters id and classe allow to specify the corresponding attributes in the generated <ul> node. The default class for the <ul> node is eliomtools_menu.

Hierchical sites

val hierarchical_menu_depth_first : 
  ?classe:Html5_types.nmtoken list ->
  ?id:string ->
  ?whole_tree:bool ->
  ([< Eliom_service.get_service_kind ] as 'a,
   [< Eliom_service.registrable ] as 'b,
   Html5_types.a_content Eliom_content.Html5.elt list)
  Eliom_tools.hierarchical_site ->
  ?service:('a, 'b, [< Eliom_registration.non_ocaml_service ])
   Eliom_tools.one_page ->
  unit -> [> `Ul ] Eliom_content.Html5.elt list

The function hierarchical_menu_depth_first site () constructs a hierarchical menu by exploring the hierarchical site description using a depth-first algorithm: the first menu item will be displayed, followed by the whole sub-menu for this item, then the second menu item with its sub-menu, and so on.

By default, only the sub-menus for to the url corresponding to the optional argument service are displayed, others sub-menu are collapsed. If you want all the sub-menus to be displayed, specify ~whole_tree:true. If the optional parameter service is not given, the current page is used.

See Eliom_tools.​HTML5_TOOLS.​menu for a description of the optional parameters id and classe.

val hierarchical_menu_breadth_first : 
  ?classe:Html5_types.nmtoken list ->
  ?id:string ->
  ([< Eliom_service.get_service_kind ] as 'a,
   [< Eliom_service.registrable ] as 'b,
   Html5_types.a_content Eliom_content.Html5.elt list)
  Eliom_tools.hierarchical_site ->
  ?service:('a, 'b, [< Eliom_registration.non_ocaml_service ])
   Eliom_tools.one_page ->
  unit -> [> `Ul ] Eliom_content.Html5.elt list

The function hierarchical_menu_breadth_first site () constructs a hierarchical menu by exploring the hierarchical site description using a breadth_first algorithm: the whole menu for one level will be displayed, followed by the sub-menu leading to the current service, and so one.

By default the current service correspond to the current url. The optional parameter service allow to override the current service.

See Eliom_tools.​HTML5_TOOLS.​menu for a description of the optional parameters id and classe.

The function structure_links site () returns the tags <link rel="subsection" ...> and <link rev="subsection" ...> for the given hierarchical site.

By default the current service correspond to the current url. The optional parameter service allow to override the current service.

val head : 
  title:string ->
  ?css:string list list ->
  ?js:string list list ->
  ?other:Html5_types.head_content_fun Eliom_content.Html5.elt list ->
  unit -> Html5_types.head Eliom_content.Html5.elt

An auxiliary function for creating an HTML head elements. Resources (JS, CSS) are taken from the static directory.

val html : 
  title:string ->
  ?a:Html5_types.html_attrib Eliom_content.Html5.attrib list ->
  ?css:string list list ->
  ?js:string list list ->
  ?other_head:Html5_types.head_content_fun Eliom_content.Html5.elt list ->
  Html5_types.body Eliom_content.Html5.elt ->
  Html5_types.html Eliom_content.Html5.elt