-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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 release] odoc (5 packages) (3.0.0~beta1) #27309
Open
jonludlam
wants to merge
5
commits into
ocaml:master
Choose a base branch
from
jonludlam:release-odoc-3.0.0_beta1
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+338
−1
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CHANGES: - Hierarchical documentation (@jonludlam, @panglesd, @Julow) Pages can now be organized in a directory tree structure. Relative and absolute references are added: `{!./other_page.label}`, `{!//other_page}`. - Improved sidebar and breadcrumbs navigation (@panglesd, @gpetiot) The documentation pages and the libraries of the entire package are shown on the left sidebar. - Added support for images, videos, audio and other assets The syntax is `{image!/reference/to/asset}` or `{image:URL}` for images. The syntax for `{video...}` and `{audio...}` is the same. (@panglesd, @EmileTrotignon, ocaml/odoc#1170, ocaml/odoc#1171, ocaml/odoc#1184, ocaml/odoc#1185) - Search using Sherlodoc (@panglesd, @EmileTrotignon, @Julow) A new search bar that supports full-text and type-based search. - Experimental driver (@jonludlam, @panglesd) The driver builds the documentation for a collection of Opam packages using the newer Odoc features. It supports linking external packages to ocaml.org and markdown files. This is experimental and will break in the future. - Cross-package references (@panglesd, @Julow) Pages and modules from other packages can be referenced: `{!/otherpackage/page}`, `{!/otherpackage/Module.t}`. - Option to remap links to other packages to ocaml.org or other site. See the `--remap` option of the driver or the `--remap-file` option of `odoc html-generate`. (@jonludlam, ocaml/odoc#1189, ocaml/odoc#1248) - Option to compute occurrences of use of each identifiers The commands `aggregate-occurrences` and `count-occurrences` are added. (@panglesd, ocaml/odoc#976, ocaml/odoc#1076, ocaml/odoc#1206) - Added the `odoc classify` command (@jonludlam, ocaml/odoc#1121) Helps driver detecting which modules belong to which libraries. - Added `--suppress-warnings` to the CLI to remove warnings from a unit, even if they end up being raised in another unit through expansion (@jonludlam, ocaml/odoc#1260) - Add clock emoji before `@since` tag (@yawaramin, ocaml/odoc#1089) - Navigation for the search bar : use '/' to enter search, up and down arrows to select a result, and enter to follow the selected link. (@EmileTrotignon, ocaml/odoc#1088) - Fix a big gap between the preamble and the content of a page (@EmileTrotignon, ocaml/odoc#1147) - Add a marshalled search index consumable by sherlodoc (@EmileTrotignon, @panglesd, ocaml/odoc#1084) - Allow referencing of polymorphic constructors in polymorphic variant type aliases (@panglesd, ocaml/odoc#1115) - Added a home icon in the breacrumbs (@panglesd, ocaml/odoc#1251) It can be disabled with a CLI option. - Add a frontmatter syntax for mld pages (@panglesd, ocaml/odoc#1187, ocaml/odoc#1193, ocaml/odoc#1243, ocaml/odoc#1246, ocaml/odoc#1251) Allows to specify the title of a page, the order of sub-pages and other behaviors in the sidebar. - Added `odoc-md` to process standalone Markdown pages (@jonludlam, ocaml/odoc#1234) - The command line interface changed to support the new features. + Packages and libraries: `odoc link` must now be aware of packages and libraries with the `-L libname:path` and `-P pkgname:path` options. The module search path should still be passed with the `-I` option. The current package should be specified with `--current-package=pkgname`. + Hierarchy: `odoc compile` now outputs `.odoc` in the directory tree specified with `--output-dir=DIR` and the parent identifier must be specified with `--parent-id=PARENT`. The option `--source-parent-file` is removed. + Source code: Implementations are compiled with `compile-impl` instead of with `compile`. The options `--cmt=..` and `--source-name=..` are removed. Source code pages are generated with `html-generate-source`. + Assets: The commands `compile-asset`, `html-generate-asset` are added. The option `html-generate --asset` is removed. + Sidebar: The index is built using `compile-index`. The sidebar data is extracted from the index with `sidebar-generate` and passed to `html-generate --sidebar=..`. - The syntax for `@tag` is now delimited (@panglesd, ocaml/odoc#1239) A `@tag` can now be followed by a paragraph or other elements. - Updated colors for code fragments (@EmileTrotignon, ocaml/odoc#1023) - Fixed complexity of looking up `.odoc` files (@panglesd, ocaml/odoc#1075) - Normalize whitespaces in codespans (@gpetiot, ocaml/odoc#1085) A newline followed by any whitespaces is normalized as one space character. - Reduce size of `Odoc_html_frontend` when compiled to javascript (@EmileTrotignon, ocaml/odoc#1072) - Overhaul of module-type-of expansions and shadowing code (@jonludlam, ocaml/odoc#1081) - Output file paths and labels in the man and latex backends changed to avoid name clashes (@Julow, ocaml/odoc#1191) - Fix variant constructors being hidden if they contain hidden types (@jonludlam, ocaml/odoc#1105) - Fix rare assertion failure due to optional parameters (@jonludlam, ocaml/odoc#1272, issue ocaml/odoc#1001) - Fix resolution of module synopses in {!modules} lists that require --open (@jonludlam, ocaml/odoc#1104} - Fix top comment not being taken from includes often enough (@panglesd, ocaml/odoc#1117) - Fixed 404 links from search results (@panglesd, ocaml/odoc#1108) - Fixed title content not being picked up across pages when rendering references (ocaml/odoc#1116, @panglesd) - Fix wrong links to standalone comments in search results (ocaml/odoc#1118, @panglesd) - Remove duplicated or unwanted comments with inline includes (@Julow, ocaml/odoc#1133) - Fix bug where source rendering would cause odoc to fail completely if it encounters invalid syntax (@jonludlam ocaml/odoc#1208) - Add missing parentheses in 'val (let*) : ...' (@Julow, ocaml/odoc#1268) - Fix syntax highlighting not working for very large files (@jonludlam, @Julow, ocaml/odoc#1277)
- odoc-md doesn't contain tests, so don't try to run any - odoc has a soft dependency on yojson, so it's happy to compile without it. However, when it is present, it does try to compile the sub-libraries that and they require yojson > 1.6.0
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CHANGES:
Hierarchical documentation (@jonludlam, @panglesd, @Julow) Pages can now be organized in a directory tree structure. Relative and absolute references are added:
{!./other_page.label}
,{!//other_page}
.Improved sidebar and breadcrumbs navigation (@panglesd, @gpetiot) The documentation pages and the libraries of the entire package are shown on the left sidebar.
Added support for images, videos, audio and other assets The syntax is
{image!/reference/to/asset}
or{image:URL}
for images. The syntax for{video...}
and{audio...}
is the same. (@panglesd, @EmileTrotignon, Asset cli odoc#1170, Parse and resolve asset references odoc#1171, Media in odoc 3! odoc#1184, Add ability to call generate commands on asset units odoc#1185)Search using Sherlodoc (@panglesd, @EmileTrotignon, @Julow) A new search bar that supports full-text and type-based search.
Experimental driver (@jonludlam, @panglesd) The driver builds the documentation for a collection of Opam packages using the newer Odoc features. It supports linking external packages to ocaml.org and markdown files. This is experimental and will break in the future.
Cross-package references (@panglesd, @Julow) Pages and modules from other packages can be referenced:
{!/otherpackage/page}
,{!/otherpackage/Module.t}
.Option to remap links to other packages to ocaml.org or other site. See the
--remap
option of the driver or the--remap-file
option ofodoc html-generate
. (@jonludlam, Add the ability to remap identifiers during HTML generation odoc#1189, Html remap odoc#1248)Option to compute occurrences of use of each identifiers The commands
aggregate-occurrences
andcount-occurrences
are added. (@panglesd, Collect occurrences information odoc#976, Add occurrence count in the json output for search engine odoc#1076, Count-occurrences: CLI consistency and driver support odoc#1206)Added the
odoc classify
command (@jonludlam, Driver odoc#1121) Helps driver detecting which modules belong to which libraries.Added
--suppress-warnings
to the CLI to remove warnings from a unit, even if they end up being raised in another unit through expansion (@jonludlam, Add `--suppress-warnings" to avoid inheriting warnings odoc#1260)Add clock emoji before
@since
tag (@yawaramin, Add clock emoji before 'since' tag odoc#1089)Navigation for the search bar : use '/' to enter search, up and down arrows to select a result, and enter to follow the selected link. (@EmileTrotignon, Search bar navigation odoc#1088)
Fix a big gap between the preamble and the content of a page (@EmileTrotignon, Remove margin of first child of odoc-content odoc#1147)
Add a marshalled search index consumable by sherlodoc (@EmileTrotignon, @panglesd, Add a marshalled output for index generation odoc#1084)
Allow referencing of polymorphic constructors in polymorphic variant type aliases (@panglesd, Allow reference to polymorphic variants when possible odoc#1115)
Added a home icon in the breacrumbs (@panglesd, Uniform treatment of sidebar odoc#1251) It can be disabled with a CLI option.
Add a frontmatter syntax for mld pages (@panglesd, Add a frontmatter to mld pages odoc#1187, Specify children order in frontmatter odoc#1193, Use a tag to declare the order of children odoc#1243, Use a tag to define short titles odoc#1246, Uniform treatment of sidebar odoc#1251) Allows to specify the title of a page, the order of sub-pages and other behaviors in the sidebar.
Added
odoc-md
to process standalone Markdown pages (@jonludlam, Standalone markdown support odoc#1234)The command line interface changed to support the new features.
odoc link
must now be aware of packages and libraries with the-L libname:path
and-P pkgname:path
options. The module search path should still be passed with the-I
option. The current package should be specified with--current-package=pkgname
.odoc compile
now outputs.odoc
in the directory tree specified with--output-dir=DIR
and the parent identifier must be specified with--parent-id=PARENT
. The option--source-parent-file
is removed.compile-impl
instead of withcompile
. The options--cmt=..
and--source-name=..
are removed. Source code pages are generated withhtml-generate-source
.compile-asset
,html-generate-asset
are added. The optionhtml-generate --asset
is removed.compile-index
. The sidebar data is extracted from the index withsidebar-generate
and passed tohtml-generate --sidebar=..
.The syntax for
@tag
is now delimited (@panglesd, Implicitly ended tags. odoc#1239) A@tag
can now be followed by a paragraph or other elements.Updated colors for code fragments (@EmileTrotignon, change color to gruvbox theme odoc#1023)
Fixed complexity of looking up
.odoc
files (@panglesd, Find odoc files in accessible path more efficiently odoc#1075)Normalize whitespaces in codespans (@gpetiot, Normalize whitespaces in codespans odoc#1085) A newline followed by any whitespaces is normalized as one space character.
Reduce size of
Odoc_html_frontend
when compiled to javascript (@EmileTrotignon, Remove tyxml from odoc_html_frontend odoc#1072)Overhaul of module-type-of expansions and shadowing code (@jonludlam, Overhaul of module-type-of and shadowing odoc#1081)
Output file paths and labels in the man and latex backends changed to avoid name clashes (@Julow, Consistent output file names in all backends odoc#1191)
Fix variant constructors being hidden if they contain hidden types (@jonludlam, Treat hidden representations differently odoc#1105)
Fix rare assertion failure due to optional parameters (@jonludlam, Fix #1001 odoc#1272, issue Assertion failed on mutual recursion with optional arguments odoc#1001)
Fix resolution of module synopses in {!modules} lists that require --open (@jonludlam, Fix an issue when resolving synopses in
{!modules }
odoc#1104}Fix top comment not being taken from includes often enough (@panglesd, Import top comment from top include of a hidden module odoc#1117)
Fixed 404 links from search results (@panglesd, Fix href for aliased modules in search results odoc#1108)
Fixed title content not being picked up across pages when rendering references (Use heading text for references to heading even across pages odoc#1116, @panglesd)
Fix wrong links to standalone comments in search results (Fix wrong id being given to doc comments odoc#1118, @panglesd)
Remove duplicated or unwanted comments with inline includes (@Julow, Remove unwanted or duplicate doc in expansions odoc#1133)
Fix bug where source rendering would cause odoc to fail completely if it encounters invalid syntax (@jonludlam Docs CI compatibility odoc#1208)
Add missing parentheses in 'val (let*) : ...' (@Julow, Add missing parentheses around identifier 'let*' odoc#1268)
Fix syntax highlighting not working for very large files (@jonludlam, @Julow, Fix stack overflow when highlighting large source files odoc#1277)