Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Module Eliom_duce_tools

module Eliom_duce_tools: sig..end

Predefined boxes for Eliom



Menus


val menu :
   ?classe:string list ->
    ?id:string ->
    ([< Eliom_services.get_service_kind ] as 'a,
    [< Eliom_services.registrable ] as 'b)
    Eliom_tools_common.one_page * Eliom_duce.Blocks.a_content_elt_list ->
    (('a, 'b) Eliom_tools_common.one_page * Eliom_duce.Blocks.a_content_elt_list)
    list ->
    ?service:('a, 'b) Eliom_tools_common.one_page ->
    sp:Eliom_sessions.server_params -> Xhtmltypes_duce.ul

Creates a menu

Example:

menu ~classe:["mainmenu"] [ (home, <:xmllist< Home >>); (infos, <:xmllist< More infos >>) ] current sp

The service argument is used to find which item(s) to highlight. If service is None, the current url is used.


Hierchical sites


val hierarchical_menu_depth_first :
   ?classe:string list ->
    ?id:string ->
    ?whole_tree:bool ->
    ([< Eliom_services.get_service_kind ] as 'a,
    [< Eliom_services.registrable ] as 'b, Eliom_duce.Blocks.a_content_elt_list)
    Eliom_tools_common.hierarchical_site ->
    ?service:('a, 'b) Eliom_tools_common.one_page ->
    sp:Eliom_sessions.server_params -> {{[ ul* ]}}

hierarchical_menu_depth_first menu constructs a function taking as parameters a service and ~sp (server parameters) and displaying a hierarchical menu for this service.

The menu is constructed by exploring the tree using a depth-first algorithm. It means that 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 argument service are displayed. If you want all the sub-menus to be displayed, specify ?whole_tree=true. If service is None, the current page is used.

val hierarchical_menu_breadth_first :
   ?classe:string list ->
    ?id:string ->
    ([< Eliom_services.get_service_kind ] as 'a,
    [< Eliom_services.registrable ] as 'b, Eliom_duce.Blocks.a_content_elt_list)
    Eliom_tools_common.hierarchical_site ->
    ?service:('a, 'b) Eliom_tools_common.one_page ->
    sp:Eliom_sessions.server_params -> {{[ ul* ]}}

hierarchical_menu_breadth_first menu constructs a function taking as parameters a service and ~sp (server parameters) and displaying a hierarchical menu for this service.

The menu is constructed by exploring the tree using a breadth_first algorithm. It means that the whole menu for one level will be displayed, followed by all sub-menus.

Only the sub-menus for to the url corresponding to the argument service are displayed. If service is None, the current url is used.

Returns the tags <link rel="subsection" ...> and <link rev="subsection" ...> for the given hierarchical site.