this repo has no description
at main 32 lines 963 B view raw
1open Odoc_utils 2 3let toc_to_json 4 ({ url; valid_link; content = inline; _ } : Odoc_document.Sidebar.entry) : 5 Json.json = 6 let config = 7 Config.v ~semantic_uris:true ~indent:true ~flat:false ~open_details:false 8 ~as_json:true ~remap:[] () 9 in 10 let url, kind = 11 match valid_link with 12 | false -> (`Null, `Null) 13 | true -> 14 let href = Link.href ~config ~resolve:(Link.Base "") url in 15 let kind = 16 Format.asprintf "%a" Odoc_document.Url.Anchor.pp_kind url.kind 17 in 18 19 (`String href, `String kind) 20 in 21 let inline = 22 let inline = Generator.inline ~config ~xref_base_uri:"" inline in 23 let inline = 24 String.concat ~sep:"" 25 @@ List.map (Format.asprintf "%a" (Tyxml.Html.pp_elt ())) inline 26 in 27 `String inline 28 in 29 `Object [ ("url", url); ("kind", kind); ("content", inline) ] 30 31let to_json (sidebar : Odoc_document.Sidebar.t) = 32 `Array (List.map (Tree.to_json toc_to_json) sidebar)