Browse thread
Two questions on OCamlDoc
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Maxence Guesdon <Maxence.Guesdon@i...> |
| Subject: | Re: [Caml-list] Two questions on OCamlDoc |
On Tue, 02 Sep 2008 13:47:08 +0200 David Teller <David.Teller@univ-orleans.fr> wrote: > Hi everyone, Hello, > I'm currently toying with OCamlDoc, with very little success. I'm > attempting to do two things: > * getting OCamlDoc to understand that some modules (which I can modify) > contain the documentation for some other modules (which I can't) replace > some modules with others > * inlining the documentation for modules in modules which import those. > > I need a little help. > > Let me detail this. > > *** Documentation replacement *** > My project uses modules M_lib1, M_lib2... which come from a variety of > libraries. For each of these modules, I have created a module > M_lib1_with_doc, M_lib2_with_doc, which imports the corresponding > library module but tailors the documentation to my project. However, for > technical reasons of mechanical generation, assuming that M_lib1 refers > to M_lib2, M_lib1_with_doc still refers to M_lib2 instead of referring > to M_lib2_with_doc. Consequently, when generating the documentation of > M_lib1_with_doc, ocamldoc doesn't link the generated pages to the > documentation of M_lib2_with_doc but rather attempts to link it to > M_lib2 (and fails, as expected). > > Now, I could rework the mechanical generation of my modules and in time, > I will. However, for the moment, I'm looking for a purely OCamlDoc-based > solution. I'd like to be able to ask OCamlDoc to please consider every > reference to M_lib2 as actually meaning a reference to M_lib2_with_doc. > > I have tried to override method [text#html_of_Ref], without much > success. Is there a simple solution for this? A simple way (but not always possible, due to name clashes) would be to use some script to perform string substitution in generated html files; in your example, replacing all "M_lib2" by "M_lib2_with_doc". you could indeed try to do this by overriding the method html_of_Ref. What problem do you encounter ? Another way would be to use some "cat" commands to create new "..._with_doc.ml" files, compile them and use your "..._with_doc.mli" as documented interface. > *** Inlining modules *** > I have a few modules whose sole role is to include one or two existing > modules. By default, when meeting [include], OCamlDoc, ocamldoc only > generates a link from the container module to the inlined module. In > this case, I'd rather want the whole documentation of each of these > modules to be inlined. > > Is that possible? May be. You could try to override the method html_of_module_element so that, when you encounter a Element_included_module, you search the real module by its name and print its elements instead of just "include ...". Does this help ? Regards, Maxence -- Maxence Guesdon http://yquem.inria.fr/~guesdon/ Service Expérimentation et Développements https://devel.inria.fr/rocq/ INRIA Paris-Rocquencourt http://www.inria.fr/rocquencourt/