Conversation
|
Also, I would like to point out the |
|
It seems to me that includes should always be expanded, perhaps with a header above saying where they came from - otherwise it might not even be possible to see the accurate contents (e.g. I wouldn't have thought submodules should be expanded inline, otherwise Where you say
do you mean not outputting them for module type/classes/etc? Functors are a bit more interesting - perhaps we might expand each of the parameters at the top inline in the page? Also: this is really great! Thanks for all the hard work you're putting into this! |
That was my initial idea as well, but I have not yet managed to find a layout making the header clear.
In more details, my current idea was to expand anything that does not get its own page. An alternative choice would be to generate pages for everything that has a valid OCaml path. This is the choice made by ocamldoc, but then we can get collisions, and I'm not sure what to do with those. |
|
The user already has control over whether an |
|
I wasn't clear. I'm mostly talking about regular declarations here, not includes: The problem for includes is more about the actual layout. |
|
Your current idea sounds fine to me @Drup - so we never give a separate page to an identifier that contains a module type. Should we special-case Stdlib? Or at least give an option to allow it - we can currently do |
|
I think following ocamldoc and then just letting say modules shadow module types if there is a collision is probably fine. This is much less problematic than usual because you have no links, so there is no risk of creating dead links by dropping a page. |
This is the first necessary step to be able to inline whole pages as part of a document, as is necessary in both the manpage and the latex output. It also induces a small change of output for functors, as arguments are now treated as full blown "declarations", and layed out as such.
We now place the subpage on the right hand side part of the definition, including the separator. More precisely: - module Foo (= Bar) - module Foo (: Bar) - module type Foo (: Bar) - class foo (: bar) - class type foo (= bar)
8253506 to
e2de7b8
Compare
|
ping @aantron :) |
44dd495 to
cc1f437
Compare
|
Thank you! |

This is a WIP backend for manpages.
Example of output for the markup:

Example of types:

There is a little bit of code duplication between html and manpages which I'll fix later.
I'm opening this PR relatively early because I have questions:
man package.Foo.Bar, which is easy.As one can guess, manpages are ... limited. Outputing the rich odoc markup there is sometimes quite awkward, so I also welcome layout ideas. And no, we don't have access to colors. 😞