Skip to content

Commit 0ffc6db

Browse files
committed
[new release] odoc (5 packages) (3.0.0~beta1)
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)
1 parent a12dee6 commit 0ffc6db

File tree

5 files changed

+335
-0
lines changed
  • packages
    • odoc-driver/odoc-driver.3.0.0~beta1
    • odoc-md/odoc-md.3.0.0~beta1
    • odoc-parser/odoc-parser.3.0.0~beta1
    • odoc/odoc.3.0.0~beta1
    • sherlodoc/sherlodoc.3.0.0~beta1

5 files changed

+335
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
opam-version: "2.0"
2+
homepage: "https://github.com/ocaml/odoc"
3+
doc: "https://ocaml.github.io/odoc/"
4+
bug-reports: "https://github.com/ocaml/odoc/issues"
5+
license: "ISC"
6+
flags: [ avoid-version ]
7+
8+
maintainer: [
9+
"Daniel Bünzli <[email protected]>"
10+
"Jon Ludlam <[email protected]>"
11+
"Jules Aguillon <[email protected]>"
12+
"Paul-Elliot Anglès d'Auriac <[email protected]>"
13+
]
14+
authors: [
15+
"Anton Bachin <[email protected]>"
16+
"Daniel Bünzli <[email protected]>"
17+
"David Sheets <[email protected]>"
18+
"Jon Ludlam <[email protected]>"
19+
"Jules Aguillon <[email protected]>"
20+
"Leo White <[email protected]>"
21+
"Lubega Simon <[email protected]>"
22+
"Paul-Elliot Anglès d'Auriac <[email protected]>"
23+
"Thomas Refis <[email protected]>"
24+
]
25+
dev-repo: "git+https://github.com/ocaml/odoc.git"
26+
27+
synopsis: "OCaml Documentation Generator - Driver"
28+
description: """
29+
The driver is a sample implementation of a tool to drive odoc to generate
30+
documentation for installed packages.
31+
"""
32+
33+
34+
depends: [
35+
"ocaml" {>= "5.1.0"}
36+
"odoc" {>= "3.0.0"}
37+
"bos"
38+
"fpath"
39+
"yojson"
40+
"ocamlfind"
41+
"opam-format"
42+
"logs"
43+
"eio_main"
44+
"progress"
45+
"cmdliner"
46+
"sexplib"
47+
"ppx_sexp_conv"
48+
"sherlodoc"
49+
]
50+
51+
build: [
52+
["dune" "subst"] {dev}
53+
[
54+
"dune"
55+
"build"
56+
"-p"
57+
name
58+
"-j"
59+
jobs
60+
"@install"
61+
"@runtest" {with-test}
62+
"@doc" {with-doc}
63+
]
64+
]
65+
66+
x-maintenance-intent: ["(latest)"]
67+
url {
68+
src:
69+
"https://github.com/ocaml/odoc/releases/download/3.0.0_beta1/odoc-3.0.0.beta1.tbz"
70+
checksum: [
71+
"sha256=237473ccb54db660c0d476529268df4095a437906612f2ab5f01979852ca01ef"
72+
"sha512=c758448306f867e90203634b5e4e63b83b4c14ab293f5e0623fb2d3a852b4e944998b174a4b0ea758b098eef588aab92882095e28a59ed6b430677c0497fd70b"
73+
]
74+
}
75+
x-commit-hash: "12ad5b5ff2a37d24070553180167d9cdbe631b80"
76+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
opam-version: "2.0"
2+
homepage: "https://github.com/ocaml/odoc"
3+
doc: "https://ocaml.github.io/odoc/"
4+
bug-reports: "https://github.com/ocaml/odoc/issues"
5+
license: "ISC"
6+
flags: [ avoid-version ]
7+
8+
maintainer: [
9+
"Jon Ludlam <[email protected]>"
10+
"Jules Aguillon <[email protected]>"
11+
"Paul-Elliot Anglès d'Auriac <[email protected]>"
12+
]
13+
authors: [
14+
"Daniel Bünzli <[email protected]>"
15+
"Paul-Elliot Anglès d'Auriac <[email protected]>"
16+
"Jon Ludlam <[email protected]>"
17+
]
18+
dev-repo: "git+https://github.com/ocaml/odoc.git"
19+
20+
synopsis: "OCaml Documentation Generator - Markdown support"
21+
description: """
22+
Odoc-md is part of the odoc suite of tools for generating documentation for OCaml packages.
23+
24+
This package provides support for generating documentation from Markdown files.
25+
"""
26+
27+
depends: [
28+
"ocaml" {>= "4.14.0"}
29+
"odoc" {= version}
30+
"cmarkit"
31+
]
32+
33+
build: [
34+
["dune" "subst"] {dev}
35+
[
36+
"dune"
37+
"build"
38+
"-p"
39+
name
40+
"-j"
41+
jobs
42+
"@install"
43+
"@runtest" {with-test}
44+
"@doc" {with-doc}
45+
]
46+
]
47+
48+
x-maintenance-intent: ["(latest)"]
49+
url {
50+
src:
51+
"https://github.com/ocaml/odoc/releases/download/3.0.0_beta1/odoc-3.0.0.beta1.tbz"
52+
checksum: [
53+
"sha256=237473ccb54db660c0d476529268df4095a437906612f2ab5f01979852ca01ef"
54+
"sha512=c758448306f867e90203634b5e4e63b83b4c14ab293f5e0623fb2d3a852b4e944998b174a4b0ea758b098eef588aab92882095e28a59ed6b430677c0497fd70b"
55+
]
56+
}
57+
x-commit-hash: "12ad5b5ff2a37d24070553180167d9cdbe631b80"
58+
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
opam-version: "2.0"
2+
synopsis: "Parser for ocaml documentation comments"
3+
description: """
4+
Odoc_parser is a library for parsing the contents of OCaml documentation
5+
comments, formatted using 'odoc' syntax, an extension of the language
6+
understood by ocamldoc."""
7+
maintainer: ["Jon Ludlam <[email protected]>"]
8+
authors: ["Anton Bachin <[email protected]>"]
9+
license: "ISC"
10+
homepage: "https://github.com/ocaml/odoc"
11+
bug-reports: "https://github.com/ocaml/odoc/issues"
12+
dev-repo: "git+https://github.com/ocaml/odoc.git"
13+
doc: "https://ocaml.github.io/odoc/odoc_parser"
14+
flags: [ avoid-version ]
15+
depends: [
16+
"dune" {>= "3.7"}
17+
"ocaml" {>= "4.02.0" & < "5.4"}
18+
"astring"
19+
"result"
20+
"camlp-streams"
21+
"ppx_expect" {with-test}
22+
("ocaml" {< "4.04.1" & with-test} | "sexplib0" {with-test})
23+
]
24+
build: [
25+
["dune" "subst"] {dev}
26+
[
27+
"dune"
28+
"build"
29+
"-p"
30+
name
31+
"-j"
32+
jobs
33+
"@install"
34+
# Tests are not all associated with a package and would be run if using the
35+
# default '@runtest'.
36+
"@src/parser/runtest" {with-test}
37+
]
38+
]
39+
x-maintenance-intent: ["(latest)"]
40+
url {
41+
src:
42+
"https://github.com/ocaml/odoc/releases/download/3.0.0_beta1/odoc-3.0.0.beta1.tbz"
43+
checksum: [
44+
"sha256=237473ccb54db660c0d476529268df4095a437906612f2ab5f01979852ca01ef"
45+
"sha512=c758448306f867e90203634b5e4e63b83b4c14ab293f5e0623fb2d3a852b4e944998b174a4b0ea758b098eef588aab92882095e28a59ed6b430677c0497fd70b"
46+
]
47+
}
48+
x-commit-hash: "12ad5b5ff2a37d24070553180167d9cdbe631b80"
49+

packages/odoc/odoc.3.0.0~beta1/opam

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
opam-version: "2.0"
2+
homepage: "https://github.com/ocaml/odoc"
3+
doc: "https://ocaml.github.io/odoc/"
4+
bug-reports: "https://github.com/ocaml/odoc/issues"
5+
license: "ISC"
6+
flags: [ avoid-version ]
7+
8+
maintainer: [
9+
"Daniel Bünzli <[email protected]>"
10+
"Jon Ludlam <[email protected]>"
11+
"Jules Aguillon <[email protected]>"
12+
"Paul-Elliot Anglès d'Auriac <[email protected]>"
13+
]
14+
authors: [
15+
"Anton Bachin <[email protected]>"
16+
"Daniel Bünzli <[email protected]>"
17+
"David Sheets <[email protected]>"
18+
"Jon Ludlam <[email protected]>"
19+
"Jules Aguillon <[email protected]>"
20+
"Leo White <[email protected]>"
21+
"Lubega Simon <[email protected]>"
22+
"Paul-Elliot Anglès d'Auriac <[email protected]>"
23+
"Thomas Refis <[email protected]>"
24+
]
25+
dev-repo: "git+https://github.com/ocaml/odoc.git"
26+
27+
synopsis: "OCaml Documentation Generator"
28+
description: """
29+
**odoc** is a powerful and flexible documentation generator for OCaml. It reads *doc comments*, demarcated by `(** ... *)`, and transforms them into a variety of output formats, including HTML, LaTeX, and man pages.
30+
31+
- **Output Formats:** Odoc generates HTML for web browsing, LaTeX for PDF generation, and man pages for use on Unix-like systems.
32+
- **Cross-References:** odoc uses the `ocamldoc` markup, which allows to create links for functions, types, modules, and documentation pages.
33+
- **Link to Source Code:** Documentation generated includes links to the source code of functions, providing an easy way to navigate from the docs to the actual implementation.
34+
- **Code Highlighting:** odoc automatically highlights syntax in code snippets for different languages.
35+
36+
odoc is part of the [OCaml Platform](https://ocaml.org/docs/platform), the recommended set of tools for OCaml.
37+
"""
38+
39+
40+
depends: [
41+
"odoc-parser" {= version}
42+
"astring"
43+
"cmdliner" {>= "1.0.0"}
44+
"cppo" {build & >= "1.1.0"}
45+
"dune" {>= "3.7.0"}
46+
"fpath"
47+
"ocaml" {>= "4.02.0" & < "5.4"}
48+
"result"
49+
"tyxml" {>= "4.4.0"}
50+
"fmt"
51+
52+
"ocamlfind" {with-test}
53+
"yojson" {>= "2.1.0" & with-test}
54+
("ocaml" {< "4.04.1" & with-test} | "sexplib0" {with-test})
55+
"conf-jq" {with-test}
56+
57+
"ppx_expect" {with-test}
58+
"bos" {with-test}
59+
"crunch" {> "1.1.0"}
60+
61+
("ocaml" {< "4.07.0" & with-test} | "bisect_ppx" {with-test & > "2.5.0"})
62+
]
63+
64+
x-extra-doc-deps: [
65+
"odoc-driver" {= version}
66+
"sherlodoc" {= version}
67+
"odig"
68+
]
69+
70+
build: [
71+
["dune" "subst"] {dev}
72+
[
73+
"dune"
74+
"build"
75+
"-p"
76+
name
77+
"-j"
78+
jobs
79+
"@install"
80+
"@runtest" {with-test}
81+
"@doc" {with-doc}
82+
]
83+
]
84+
x-maintenance-intent: ["(latest)"]
85+
url {
86+
src:
87+
"https://github.com/ocaml/odoc/releases/download/3.0.0_beta1/odoc-3.0.0.beta1.tbz"
88+
checksum: [
89+
"sha256=237473ccb54db660c0d476529268df4095a437906612f2ab5f01979852ca01ef"
90+
"sha512=c758448306f867e90203634b5e4e63b83b4c14ab293f5e0623fb2d3a852b4e944998b174a4b0ea758b098eef588aab92882095e28a59ed6b430677c0497fd70b"
91+
]
92+
}
93+
x-commit-hash: "12ad5b5ff2a37d24070553180167d9cdbe631b80"
94+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
opam-version: "2.0"
2+
synopsis: "Search engine for OCaml documentation"
3+
maintainer: ["[email protected]"]
4+
authors: ["Arthur Wendling" "Emile Trotignon"]
5+
license: "MIT"
6+
homepage: "https://github.com/ocaml/odoc"
7+
doc: "https://ocaml.github.io/odoc/"
8+
bug-reports: "https://github.com/ocaml/odoc/issues"
9+
flags: [ avoid-version ]
10+
depends: [
11+
"dune" {>= "3.5"}
12+
"ocaml" {>= "4.0.8"}
13+
"odoc" {= version}
14+
"base64" {>= "3.5.1"}
15+
"bigstringaf" {>= "0.9.1"}
16+
"js_of_ocaml" {>= "5.6.0"}
17+
"brr" {>= "0.0.6"}
18+
"cmdliner" {>= "1.2.0"}
19+
"decompress" {>= "1.5.3"}
20+
"fpath" {>= "0.7.3"}
21+
"lwt" {>= "5.7.0"}
22+
"menhir" {>= "20230608"}
23+
"ppx_blob" {>= "0.7.2"}
24+
"tyxml" {>= "4.6.0"}
25+
"result" {>= "1.5"}
26+
"odig" {with-test}
27+
"base" {with-test & = "v0.16.3"}
28+
"alcotest" {with-test}
29+
]
30+
depopts: [
31+
"ancient" {>= "0.9.1"}
32+
]
33+
build: [
34+
["dune" "subst"] {dev}
35+
[
36+
"dune"
37+
"build"
38+
"-p"
39+
name
40+
"-j"
41+
jobs
42+
"@install"
43+
"@runtest" {with-test}
44+
"@doc" {with-doc}
45+
]
46+
]
47+
dev-repo: "git+https://github.com/ocaml/odoc.git"
48+
x-maintenance-intent: ["(latest)"]
49+
url {
50+
src:
51+
"https://github.com/ocaml/odoc/releases/download/3.0.0_beta1/odoc-3.0.0.beta1.tbz"
52+
checksum: [
53+
"sha256=237473ccb54db660c0d476529268df4095a437906612f2ab5f01979852ca01ef"
54+
"sha512=c758448306f867e90203634b5e4e63b83b4c14ab293f5e0623fb2d3a852b4e944998b174a4b0ea758b098eef588aab92882095e28a59ed6b430677c0497fd70b"
55+
]
56+
}
57+
x-commit-hash: "12ad5b5ff2a37d24070553180167d9cdbe631b80"
58+

0 commit comments

Comments
 (0)