Skip to content

doc: odoc manual + API (wodoc migration, dev)#355

Draft
balat wants to merge 4 commits into
masterfrom
dev-mli-odoc
Draft

doc: odoc manual + API (wodoc migration, dev)#355
balat wants to merge 4 commits into
masterfrom
dev-mli-odoc

Conversation

@balat

@balat balat commented Jun 6, 2026

Copy link
Copy Markdown
Member

Migrate the TyXML documentation to odoc/wodoc (part of the ocsigen-wide
doc rationalization away from html_of_wiki/wikidoc).

What this branch adds

  • docs/{intro,functors,ppx,jsx}.mld — the manual, converted from
    docs/manual-wiki/*.wiki to odoc syntax.
  • docs/api.mld — curated API index (from docs/indexdoc).
  • docs/dune with (documentation (package tyxml)) so dune build @doc
    compiles the manual + API together and {{!page-X}} / {!Module} refs resolve.
  • The <<a_api>> / <<a_manual>> references in the .mli/.ml doc comments
    converted to native odoc references.

Notes

  • Built with dune build @doc --profile release (the dev profile treats
    warning 67, unused functor parameter, as an error).
  • No client/server split → plain odoc, no odoc-driver.
  • Cross-project refs (js_of_ocaml, React/ReactiveData) stay unresolved here;
    they resolve on ocaml.org. The eliom "see also" link is relative.
  • The themed site is produced by wodoc in the ocsigen.github.io repo and
    published under ocsigen.org/wodoc/tyxml/.

Draft: pending review of the rendered output before merge.

balat and others added 4 commits June 6, 2026 12:15
Convert the wikicreole manual (docs/manual-wiki/*.wiki) to odoc .mld
(intro, functors, ppx, jsx) + a curated docs/api.mld from docs/indexdoc,
declared in package tyxml via docs/dune (documentation). Convert the
<<a_api>>/<<a_manual>> references in the .mli/.ml doc comments to native
odoc references. First step of the wodoc doc migration.
…ire wikidoc

Add a declarative doc/wodoc config + doc/ README and a CI (doc.yml) that builds &
deploys via `wodoc build`. The CI triggers ONLY on master (push -> dev) plus a
manual dispatch for releases (e.g. ref=latest-mli-odoc, label=4.6.0, set_latest;
the version-independent doc sources are overlaid from master) — so pushing a
branch never deploys, and the site still shows dev + the released version. Drop
the legacy ocamldoc/wikidoc machinery (docs/Makefile, docs/indexdoc,
docs/manual-wiki/, the Makefile wikidoc target).
Drop the workflow_dispatch release path (label/ref/set_latest), the
overlay-from-master step and the repoint-latest step. Stable versions are
built by hand and committed to gh-pages at release time, so CI now only
rebuilds and deploys the dev docs on a push to master. README updated to match.
opam install . --deps-only --with-doc already pulls odoc, so the explicit
install was a no-op. Spotted by @raphael-proust in review (ocsigen/lwt#1109).
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.

1 participant