Skip to content

Commit

Permalink
package lib landing page also has a module list
Browse files Browse the repository at this point in the history
  • Loading branch information
EmileTrotignon committed Oct 18, 2024
1 parent 29d925a commit c7d9ae7
Showing 1 changed file with 28 additions and 2 deletions.
30 changes: 28 additions & 2 deletions src/driver/landing_pages.ml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,37 @@ let make_unit ~odoc_dir ~odocl_dir ~mld_dir ~output_dir rel_path ~content
}

module PackageLibLanding = struct
let module_list ppf lib =
let module_link ppf m =
fpf ppf "{{:%s/%s/index.html}[%s]}" lib.lib_name m.Packages.m_name
m.Packages.m_name
in
let modules = List.filter (fun m -> not m.m_hidden) lib.modules in
match modules with
| [] -> fpf ppf " with no toplevel module."
| [ m ] -> fpf ppf " with toplevel module %a" module_link m
| _ :: _ ->
let print_module m = fpf ppf " {- %a}@\n" module_link m in
fpf ppf " with toplevel modules : @\n {ul@\n";
let modules =
List.sort (fun m m' -> String.compare m.m_name m'.m_name) modules
in
List.iter print_module modules;
fpf ppf " }@\n"

let library_list ppf pkg =
let print_lib (lib : Packages.libty) =
fpf ppf "- {{!/%s/%s/index}%s}@\n" pkg.name lib.lib_name lib.lib_name
fpf ppf "{- {{!/%s/%s/index}%s}%a}@\n@\n" pkg.name lib.lib_name
lib.lib_name module_list lib
in
List.iter print_lib pkg.libraries
fpf ppf "{ul@\n";
let libraries =
List.sort
(fun lib lib' -> String.compare lib.lib_name lib'.lib_name)
pkg.libraries
in
List.iter print_lib libraries;
fpf ppf "}@\n"
let content pkg ppf = fpf ppf "{0 %s}@\n%a" pkg.name library_list pkg
let page ~pkg ~odoc_dir ~odocl_dir ~mld_dir ~output_dir =
let content = content pkg in
Expand Down

0 comments on commit c7d9ae7

Please sign in to comment.