Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New model #439

Merged
merged 229 commits into from
Jul 3, 2020
Merged

New model #439

merged 229 commits into from
Jul 3, 2020

Conversation

jonludlam
Copy link
Member

This PR contains the new model that's been in development for a while.

Largely this follows the design doc on the wiki - https://github.com/ocaml/odoc/wiki/Model-design
although to ensure backward compatibility with existing tools (dune and odig) the link
phase is done by the html command.

This new version is quite memory hungry on larger projects (e.g. Core_kernel), which will require some tweaking before release.

@jonludlam
Copy link
Member Author

jonludlam commented Jun 16, 2020

I thought it might be useful to have the results of this run on core_kernel to see what it looks like.
The results are currently hosted here: https://www.cl.cam.ac.uk/~jjl25/docs/

Highlights:

Still to resolve:

  • Shadowed items introduced via include module type of struct include X end are not
    removed from the resulting signature - see for example Core_kernel.Float - duplication of type t

  • Links to items that are hidden from the docs via (**/**) shouldn't resolve - they currently do,
    leading to broken links.

  • Classes haven't really been looked at hard yet

  • module type of still isn't quite right yet, and renders as module type of sig...end rather than
    module type of struct ... end

@avsm
Copy link
Member

avsm commented Jun 17, 2020

Just making notes as I flick through the (new and vastly improved) generated docs:

@trefis
Copy link
Contributor

trefis commented Jun 17, 2020

https://www.cl.cam.ac.uk/~jjl25/docs/ocaml/Stdlib/index.html - the rendering of the intro paragraph overflows onto the right column on Safari.

There are a few rendering issues in firefox as well.
I assume that's unrelated to this PR but rather due to some changes in the markup that happened recently, and that odig's CSS hasn't been updated yet (which makes sense given there was no release of odoc with these changes).

in the Stdlib ocaml package, only some modules are there. ListLabels, List, etc are missing. https://www.cl.cam.ac.uk/~jjl25/docs/ocaml/index.html

That's generated by odig, not odoc.

Julow and others added 25 commits July 2, 2020 12:47
Signed-off-by: Jon Ludlam <jon@recoil.org>
The get inlined if the decl can't be rendered well, and the current
behaviour of rendering the decl anyway is triggering warnings of
unresolved paths.

Also don't try to output anything for hidden pages again, where we
were previously rending placeholder pages

Signed-off-by: Jon Ludlam <jon@recoil.org>
Build the minimal one.

Signed-off-by: Jon Ludlam <jon@recoil.org>
Still renders it as 'sig' though

Signed-off-by: Jon Ludlam <jon@recoil.org>
Signed-off-by: Jon Ludlam <jon@recoil.org>
Signed-off-by: Jon Ludlam <jon@recoil.org>
Signed-off-by: Jon Ludlam <jon@recoil.org>
Signed-off-by: Jon Ludlam <jon@recoil.org>
This was breaking async_kernel.

Signed-off-by: Jon Ludlam <jon@recoil.org>
Signed-off-by: Jon Ludlam <jon@recoil.org>
Signed-off-by: Jon Ludlam <jon@recoil.org>
Signed-off-by: Jon Ludlam <jon@recoil.org>
Signed-off-by: Jon Ludlam <jon@recoil.org>
Add "typed_module", "functor_parameter" and "direct_module" ident and
identifier types that are smaller than the corresponding "module_" type.

They are used in `Lang` and `Component`.
Was: functor () sig ... end
Now: functor () -> sig ... end

Fixes ocaml#410

Signed-off-by: Jon Ludlam <jon@recoil.org>
Signed-off-by: Jon Ludlam <jon@recoil.org>
- Use esy 0.6.4 to ensure travis's older osx works
- Add a comment explaining why we're not testing on 4.11 any more

Signed-off-by: Jon Ludlam <jon@recoil.org>
@jonludlam jonludlam merged commit 96c650f into ocaml:master Jul 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants