|
1 | 1 | # (unreleased)
|
2 | 2 |
|
| 3 | +### Highlight |
| 4 | + |
| 5 | +- Hierarchical documentation (@jonludlam, @panglesd, @Julow) |
| 6 | + Pages can now be organized in a directory tree structure. |
| 7 | + Relative and absolute references are added: |
| 8 | + `{!./other_page.label}`, `{!//other_page}`. |
| 9 | + |
| 10 | +- Improved sidebar and breadcrumbs navigation (@panglesd, @gpetiot) |
| 11 | + The documentation pages and the libraries of the entire package are shown on |
| 12 | + the left sidebar. |
| 13 | + |
| 14 | +- Added support for images, videos, audio and other assets |
| 15 | + The syntax is `{image!/reference/to/asset}` or `{image:URL}` for images. |
| 16 | + The syntax for `{video...}` and `{audio...}` is the same. |
| 17 | + (@panglesd, @EmileTrotignon, #1170, #1171, #1184, #1185) |
| 18 | + |
| 19 | +- Search using Sherlodoc (@panglesd, @EmileTrotignon, @Julow) |
| 20 | + A new search bar that supports full-text and type-based search. |
| 21 | + |
3 | 22 | ### Added
|
4 | 23 |
|
5 |
| -- Addded `--suppress-warnings` to the CLI to remove warnings from a unit, even |
6 |
| - if they end up being raised in another unit through expansion (@jonludlam, |
7 |
| - #1260) |
8 |
| -- Improve jump to implementation in rendered source code, and add a |
9 |
| - `count-occurrences` flag and command to count occurrences of every identifiers |
10 |
| - (@panglesd, #976) |
11 |
| -- Separate compilation of interface and implementation files, using a new |
12 |
| - `compile-src` command (@panglesd, #1067, #1188). |
| 24 | +- Experimental driver (@jonludlam, @panglesd) |
| 25 | + The driver builds the documentation for a collection of Opam packages using |
| 26 | + the newer Odoc features. It supports linking external packages to ocaml.org |
| 27 | + and markdown files. |
| 28 | + This is experimental and will break in the future. |
| 29 | + |
| 30 | +- Cross-package references (@panglesd, @Julow) |
| 31 | + Pages and modules from other packages can be referenced: |
| 32 | + `{!/otherpackage/page}`, `{!/otherpackage/Module.t}`. |
| 33 | + |
| 34 | +- Option to remap links to other packages to ocaml.org or other site. |
| 35 | + See the `--remap` option of the driver or the `--remap-file` option of `odoc html-generate`. |
| 36 | + (@jonludlam, #1189, #1248) |
| 37 | + |
| 38 | +- Option to compute occurrences of use of each identifiers |
| 39 | + The commands `aggregate-occurrences` and `count-occurrences` are added. |
| 40 | + (@panglesd, #976, #1076, #1206) |
| 41 | + |
| 42 | +- Added the `odoc classify` command (@jonludlam, #1121) |
| 43 | + Helps driver detecting which modules belong to which libraries. |
| 44 | +- Added `--suppress-warnings` to the CLI to remove warnings from a unit, even |
| 45 | + if they end up being raised in another unit through expansion |
| 46 | + (@jonludlam, #1260) |
13 | 47 | - Add clock emoji before `@since` tag (@yawaramin, #1089)
|
14 | 48 | - Navigation for the search bar : use '/' to enter search, up and down arrows to
|
15 | 49 | select a result, and enter to follow the selected link. (@EmileTrotignon, #1088)
|
16 |
| -- New driver package (@jonludlam, #1121) |
17 | 50 | - Fix a big gap between the preamble and the content of a page (@EmileTrotignon, #1147)
|
18 |
| -- Path-references to hierarchical pages and modules (@Julow, #1142, #1150, #1151, #1164) |
19 |
| - Absolute (`{!/foo}`), relative (`{!./foo}`) and package-local (`{!//foo}`) |
20 |
| - are added. |
21 | 51 | - Add a marshalled search index consumable by sherlodoc (@EmileTrotignon, @panglesd, #1084)
|
22 |
| -- Add a `odoc sidebar-generate` command to generate a sidebar file (@panglesd, |
23 |
| - #1250) |
24 |
| -- Add a `--sidebar` argument to pass sidebars to the document generation |
25 |
| - (@panglesd, #1145, #1250) |
26 | 52 | - Allow referencing of polymorphic constructors in polymorphic variant type
|
27 | 53 | aliases (@panglesd, #1115)
|
28 |
| -- Added a `--occurrences` argument to the `compile-index` command to output the |
29 |
| - number of occurrences of each entry of the index in the json output |
30 |
| - (@panglesd, #1076). |
31 |
| -- Added a `compile-asset` command (@EmileTrotignon, @panglesd, #1170) |
32 |
| -- Allow referencing assets (@panglesd, #1171) |
33 |
| -- Added a `--asset-path` arg to `html-generate` (@panglesd, #1185) |
34 |
| -- Added a `@children_order` and an `@order_category` tags to specify the order |
35 |
| - in the sidebar (@panglesd, #1187, #1243, #1251) |
36 |
| -- Add a `@short_title` tag to specify the short title of a page for use in |
37 |
| - the sidebar / breadcrumbs (@panglesd, #1246) |
38 | 54 | - Added a home icon in the breacrumbs (@panglesd, #1251)
|
39 |
| -- Added a CLI option to add or disable the home icon (@panglesd, #1251) |
40 |
| -- Add sidebar to the implementation pages (@panglesd, #1251) |
41 |
| -- Added a `@toc_status` tag, with possible values `open` and `hidden`, to define |
42 |
| - the behavior of the entry in the sidebar and breadcrumbs (@panglesd, #1251) |
43 |
| -- Add a frontmatter syntax for mld pages (@panglesd, #1187) |
44 |
| -- Add 'remap' and 'remap-file' options to HTML generation for partial docsets |
45 |
| - (@jonludlam, #1189, #1248) |
46 |
| -- Added an `html-generate-asset` command (@panglesd, #1185) |
47 |
| -- Added syntax for images, videos, audio (@panglesd, #1184) |
48 |
| -- Added the ability to order pages in the table of content (@panglesd, #1193) |
| 55 | + It can be disabled with a CLI option. |
| 56 | +- Add a frontmatter syntax for mld pages (@panglesd, #1187, #1193, #1243, #1246, #1251) |
| 57 | + Allows to specify the title of a page, the order of sub-pages and other |
| 58 | + behaviors in the sidebar. |
49 | 59 | - Added `odoc-md` to process standalone Markdown pages (@jonludlam, #1234)
|
50 | 60 |
|
51 | 61 | ### Changed
|
52 | 62 |
|
| 63 | +- The command line interface changed to support the new features. |
| 64 | + + Packages and libraries: `odoc link` must now be aware of packages and |
| 65 | + libraries with the `-L libname:path` and `-P pkgname:path` options. The |
| 66 | + module search path should still be passed with the `-I` option. |
| 67 | + The current package should be specified with `--current-package=pkgname`. |
| 68 | + + Hierarchy: `odoc compile` now outputs `.odoc` in the directory tree |
| 69 | + specified with `--output-dir=DIR` and the parent identifier must be |
| 70 | + specified with `--parent-id=PARENT`. |
| 71 | + The option `--source-parent-file` is removed. |
| 72 | + + Source code: Implementations are compiled with `compile-impl` instead of |
| 73 | + with `compile`. The options `--cmt=..` and `--source-name=..` are removed. |
| 74 | + Source code pages are generated with `html-generate-source`. |
| 75 | + + Assets: The commands `compile-asset`, `html-generate-asset` are added. |
| 76 | + The option `html-generate --asset` is removed. |
| 77 | + + Sidebar: The index is built using `compile-index`. The sidebar data is |
| 78 | + extracted from the index with `sidebar-generate` and passed to |
| 79 | + `html-generate --sidebar=..`. |
| 80 | + |
| 81 | +- The syntax for `@tag` is now delimited (@panglesd, #1239) |
| 82 | + A `@tag` can now be followed by a paragraph or other elements. |
| 83 | + |
53 | 84 | - Updated colors for code fragments (@EmileTrotignon, #1023)
|
54 | 85 | - Fixed complexity of looking up `.odoc` files (@panglesd, #1075)
|
55 | 86 | - Normalize whitespaces in codespans (@gpetiot, #1085)
|
56 | 87 | A newline followed by any whitespaces is normalized as one space character.
|
57 |
| -- Show all variant constructors, even if they contain hidden types |
58 |
| - (@jonludlam, #1105) |
59 |
| -- `Odoc_html_frontend` does not use tyxml, for smaller javascript sizes. |
| 88 | +- Reduce size of `Odoc_html_frontend` when compiled to javascript |
60 | 89 | (@EmileTrotignon, #1072)
|
61 | 90 | - Overhaul of module-type-of expansions and shadowing code (@jonludlam, #1081)
|
62 |
| -- Output file paths and labels in the man and latex backends changed to avoid name clashes |
63 |
| - (@Julow, #1191) |
64 |
| -- Change the scoping and placement rules for tags. Fixed #1138. (@panglesd, #1239) |
| 91 | +- Output file paths and labels in the man and latex backends changed to avoid |
| 92 | + name clashes (@Julow, #1191) |
65 | 93 |
|
66 | 94 | ### Fixed
|
67 | 95 |
|
68 |
| -- Fix issue #1001 where optional parameters would in rare cases cause an assertion |
69 |
| - failure (@jonludlam, #1272) |
70 |
| -- Fix resolution of module synopses in {!modules} lists that require |
71 |
| - --open (@jonludlam, #1104} |
| 96 | +- Fix variant constructors being hidden if they contain hidden types |
| 97 | + (@jonludlam, #1105) |
| 98 | +- Fix rare assertion failure due to optional parameters |
| 99 | + (@jonludlam, #1272, issue #1001) |
| 100 | +- Fix resolution of module synopses in {!modules} lists that require --open |
| 101 | + (@jonludlam, #1104} |
72 | 102 | - Fix top comment not being taken from includes often enough (@panglesd, #1117)
|
73 | 103 | - Fixed 404 links from search results (@panglesd, #1108)
|
74 | 104 | - Fixed title content not being picked up across pages when rendering references
|
75 | 105 | (#1116, @panglesd)
|
76 | 106 | - Fix wrong links to standalone comments in search results (#1118, @panglesd)
|
77 |
| -- Remove duplicated or unwanted comments (@Julow, #1133) |
78 |
| - This could happen with inline includes. |
| 107 | +- Remove duplicated or unwanted comments with inline includes (@Julow, #1133) |
79 | 108 | - Fix bug where source rendering would cause odoc to fail completely if it
|
80 | 109 | encounters invalid syntax (@jonludlam #1208)
|
81 | 110 | - Add missing parentheses in 'val (let*) : ...' (@Julow, #1268)
|
82 |
| -- Fix syntax highlighting not working for very large files (@jonludlam, @Julow, #1277) |
| 111 | +- Fix syntax highlighting not working for very large files |
| 112 | + (@jonludlam, @Julow, #1277) |
83 | 113 |
|
84 | 114 | # 2.4.4
|
85 | 115 |
|
86 | 116 | ### Added
|
87 | 117 |
|
88 |
| -- OCaml 5.3.0 compatibility (@Julow, #1202, #1254) |
| 118 | +- OCaml 5.3.0 compatibility (@Julow, #1202, #1222, #1254) |
89 | 119 |
|
90 | 120 | # 2.4.3
|
91 | 121 |
|
|
0 commit comments