package odoc
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
OCaml documentation generator
Install
dune-project
Dependency
Authors
Maintainers
Sources
odoc-2.1.1.tbz
sha256=f574dbd28cd0fc3a2b95525c4bb95ddf6d1f6408bb4fe12157fa537884f987fd
sha512=1c545c281a7022a167f028fff8cec6fb3f2f82da0881431be74e7a4281c5353ed83bfbdb4d9d9e08af6755dbe3505c052c5e5b58cdeb08c57aed5e89c0f15e91
doc/src/odoc.odoc/rendering.ml.html
Source file rendering.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56open Odoc_document open Or_error let document_of_odocl ~syntax input = Odoc_file.load input >>= fun unit -> match unit.content with | Odoc_file.Page_content odoctree -> Ok (Renderer.document_of_page ~syntax odoctree) | Unit_content odoctree -> Ok (Renderer.document_of_compilation_unit ~syntax odoctree) let document_of_input ~resolver ~warnings_options ~syntax input = let output = Fs.File.(set_ext ".odocl" input) in Odoc_link.from_odoc ~resolver ~warnings_options input output >>= function | `Page page -> Ok (Renderer.document_of_page ~syntax page) | `Module m -> Ok (Renderer.document_of_compilation_unit ~syntax m) let render_document renderer ~output:root_dir ~extra_suffix ~extra odoctree = let pages = renderer.Renderer.render extra odoctree in Renderer.traverse pages ~f:(fun filename content -> let filename = match extra_suffix with | Some s -> Fpath.add_ext s filename | None -> filename in let filename = Fpath.normalize @@ Fs.File.append root_dir filename in let directory = Fs.File.dirname filename in Fs.Directory.mkdir_p directory; let oc = open_out (Fs.File.to_string filename) in let fmt = Format.formatter_of_out_channel oc in Format.fprintf fmt "%t@?" content; close_out oc); Ok () let render_odoc ~resolver ~warnings_options ~syntax ~renderer ~output extra file = document_of_input ~resolver ~warnings_options ~syntax file >>= render_document renderer ~output ~extra_suffix:None ~extra let generate_odoc ~syntax ~renderer ~output ~extra_suffix extra file = document_of_odocl ~syntax file >>= render_document renderer ~output ~extra_suffix ~extra let targets_odoc ~resolver ~warnings_options ~syntax ~renderer ~output:root_dir ~extra odoctree = let doc = if Fpath.get_ext odoctree = ".odoc" then document_of_input ~resolver ~warnings_options ~syntax odoctree else document_of_odocl ~syntax odoctree in doc >>= fun odoctree -> let pages = renderer.Renderer.render extra odoctree in Renderer.traverse pages ~f:(fun filename _content -> let filename = Fpath.normalize @@ Fs.File.append root_dir filename in Format.printf "%a\n" Fpath.pp filename); Ok ()
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>